<fieldset id="calculator_fields" data-hook class="no-border-bottom">
  <legend align="center"><%= Spree.t(:calculator) %></legend>

  <div id="preference-settings" data-hook>
    <div class="field">
      <%= f.label(:calculator_type, Spree.t(:calculator), :for => 'calc_type') %>
      <%= f.select(:calculator_type, @calculators.map { |c| [c.description, c.name] }, {}, {:id => 'calc_type', :class => 'select2 fullwidth'}) %>
    </div>
    <% if !@object.new_record? %>
      <div class="field">
        <div class="calculator-settings">
          <%= f.fields_for :calculator do |calculator_form| %>
            <%= preference_fields(@object.calculator, calculator_form) %>
          <% end %>
        </div>
        <% if @object.calculator.respond_to?(:preferences) %>
          <span class="calculator-settings-warning info warning"><%= Spree.t(:calculator_settings_warning) %></span>
        <% end %>
      </div>
    <% end %>
  </div>
</fieldset>

Add partial needed in payment and shipping methods
Add partial needed in payment and shipping methods
