<div data-hook="admin_shipping_method_form_fields"> <div class="row"> <div data-hook="admin_shipping_method_form_name_field" class="col-12 col-lg-6"> <%= f.field_container :name do %> <%= f.label :name, Spree.t(:name) %> <%= f.text_field :name, class: 'form-control' %> <%= f.error_message_on :name %> <% end %> </div> <div data-hook="admin_shipping_method_form_display_field" class="col-12 col-lg-6"> <%= f.field_container :display_on do %> <%= f.label :display_on, Spree.t(:display) %> <%= select(:shipping_method, :display_on, Spree::ShippingMethod::DISPLAY.collect { |display| [Spree.t("admin.display_on.#{display}"), display.to_s] }, { selected: :both, include_blank: true }, { class: 'select2-clear' }) %> <%= f.error_message_on :display_on %> <% end %> </div> </div> <div class="row"> <div data-hook="admin_shipping_method_form_internal_name_field" class="col-12 col-lg-4"> <%= f.field_container :admin_name do %> <%= f.label :admin_name, Spree.t(:internal_name) %> <%= f.text_field :admin_name, class: 'form-control', label: false %> <%= f.error_message_on :admin_name %> <% end %> </div> <div data-hook="admin_shipping_method_form_code" class="col-12 col-lg-4"> <%= f.field_container :code do %> <%= f.label :code, Spree.t(:code) %> <%= f.text_field :code, class: 'form-control', label: false %> <%= f.error_message_on :code %> <% end %> </div> <div data-hook="admin_shipping_method_form_tracking_url_field" class="col-12 col-lg-4"> <%= f.field_container :tracking_url do %> <%= f.label :tracking_url, Spree.t(:tracking_url) %> <%= f.text_field :tracking_url, class: 'form-control', placeholder: Spree.t(:tracking_url_placeholder) %> <%= f.error_message_on :tracking_url %> <% end %> </div> </div> </div> <div class="row"> <div data-hook="admin_shipping_method_form_availability_fields" class="col-12 col-lg-6"> <div class="card mb-3 categories"> <div class="card-header"> <h5 class="card-title mb-0 h6"> <%= Spree.t(:shipping_categories) %> </h5> </div> <div class="card-body"> <%= f.field_container :categories do %> <% Spree::ShippingCategory.all.each do |category| %> <div class="checkbox"> <%= label_tag do %> <%= check_box_tag('shipping_method[shipping_categories][]', category.id, @shipping_method.shipping_categories.include?(category)) %> <%= category.name %> <% end %> </div> <% end %> <%= f.error_message_on :shipping_category_id %> <% end %> </div> </div> </div> <div class="col-12 col-lg-6"> <div class="card mb-3"> <div class="card-header"> <h5 class="card-title mb-0 h6"> <%= Spree.t(:zones) %> </h5> </div> <div class="card-body"> <%= f.field_container :zones do %> <% shipping_method_zones = @shipping_method.zones.to_a %> <% Spree::Zone.all.each do |zone| %> <div class="checkbox"> <%= label_tag do %> <%= check_box_tag('shipping_method[zones][]', zone.id, shipping_method_zones.include?(zone)) %> <span class="text-uppercase"><%= zone.name %></span> <br /> <% zone.zone_members.each do |zone_member| %> <small class="badge badge-pill badge-info"><%= zone_member.zoneable.name %></small> <% end %> <% end %> </div> <% end %> <%= f.error_message_on :zone_id %> <% end %> </div> </div> </div> </div> <div class="row"> <div data-hook="admin_shipping_method_form_calculator_fields" class="col-12 col-lg-6"> <%= render partial: 'spree/admin/shared/calculator_fields', locals: { f: f } %> </div> <div class="col-12 col-lg-6"> <div class="card mb-3 tax_categories"> <div class="card-header"> <h5 class="card-title mb-0 h6"> <%= Spree.t(:tax_category) %> </h5> </div> <div class="card-body"> <%= f.field_container :categories do %> <%= f.select :tax_category_id, @tax_categories.map { |tc| [tc.name, tc.id] }, { include_blank: true }, class: "select2-clear" %> <%= f.error_message_on :tax_category_id %> <% end %> </div> </div> </div> </div>