spree_backend 3.2.9 → 3.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend/admin.js +16 -15
  3. data/app/assets/javascripts/spree/backend/checkouts/edit.js +25 -26
  4. data/app/assets/javascripts/spree/backend/general_settings.js.coffee +10 -12
  5. data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +4 -6
  6. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +7 -1
  7. data/app/assets/javascripts/spree/backend/stock_transfer.js.coffee +4 -1
  8. data/app/assets/javascripts/spree/backend/user_picker.js +3 -1
  9. data/app/assets/javascripts/spree/backend.js +3 -3
  10. data/app/controllers/spree/admin/countries_controller.rb +1 -0
  11. data/app/controllers/spree/admin/log_entries_controller.rb +2 -2
  12. data/app/controllers/spree/admin/orders/customer_details_controller.rb +5 -6
  13. data/app/controllers/spree/admin/orders_controller.rb +4 -4
  14. data/app/controllers/spree/admin/payments_controller.rb +21 -10
  15. data/app/controllers/spree/admin/products_controller.rb +5 -0
  16. data/app/controllers/spree/admin/promotion_rules_controller.rb +11 -7
  17. data/app/controllers/spree/admin/stock_transfers_controller.rb +1 -1
  18. data/app/controllers/spree/admin/taxons_controller.rb +31 -23
  19. data/app/helpers/spree/admin/base_helper.rb +1 -1
  20. data/app/helpers/spree/admin/navigation_helper.rb +10 -4
  21. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +2 -2
  22. data/app/views/spree/admin/general_settings/edit.html.erb +8 -8
  23. data/app/views/spree/admin/images/_form.html.erb +2 -2
  24. data/app/views/spree/admin/images/edit.html.erb +2 -2
  25. data/app/views/spree/admin/images/new.html.erb +1 -1
  26. data/app/views/spree/admin/option_types/_form.html.erb +2 -2
  27. data/app/views/spree/admin/option_types/index.html.erb +4 -4
  28. data/app/views/spree/admin/orders/_line_items.html.erb +40 -38
  29. data/app/views/spree/admin/orders/_shipment.html.erb +77 -76
  30. data/app/views/spree/admin/orders/customer_details/_form.html.erb +5 -5
  31. data/app/views/spree/admin/orders/index.html.erb +16 -16
  32. data/app/views/spree/admin/payment_methods/_form.html.erb +2 -2
  33. data/app/views/spree/admin/payments/_list.html.erb +1 -1
  34. data/app/views/spree/admin/products/_add_stock_form.html.erb +3 -3
  35. data/app/views/spree/admin/products/_form.html.erb +16 -16
  36. data/app/views/spree/admin/products/index.html.erb +4 -4
  37. data/app/views/spree/admin/products/new.html.erb +8 -8
  38. data/app/views/spree/admin/promotion_categories/index.html.erb +3 -3
  39. data/app/views/spree/admin/promotions/_form.html.erb +3 -3
  40. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +1 -1
  41. data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +2 -2
  42. data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +2 -2
  43. data/app/views/spree/admin/promotions/actions/_create_line_items.html.erb +2 -4
  44. data/app/views/spree/admin/promotions/edit.html.erb +3 -3
  45. data/app/views/spree/admin/promotions/index.html.erb +6 -6
  46. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +2 -2
  47. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +4 -4
  48. data/app/views/spree/admin/properties/_form.html.erb +2 -2
  49. data/app/views/spree/admin/properties/index.html.erb +6 -6
  50. data/app/views/spree/admin/prototypes/index.html.erb +4 -4
  51. data/app/views/spree/admin/reimbursement_types/_form.html.erb +4 -4
  52. data/app/views/spree/admin/reimbursements/edit.html.erb +1 -1
  53. data/app/views/spree/admin/return_authorizations/_form.html.erb +13 -1
  54. data/app/views/spree/admin/return_index/customer_returns.html.erb +2 -2
  55. data/app/views/spree/admin/return_index/return_authorizations.html.erb +5 -5
  56. data/app/views/spree/admin/shared/_content_header.html.erb +2 -2
  57. data/app/views/spree/admin/shared/_header.html.erb +2 -2
  58. data/app/views/spree/admin/shared/_index_table_options.html.erb +2 -2
  59. data/app/views/spree/admin/shared/_order_summary.html.erb +1 -1
  60. data/app/views/spree/admin/shared/_table_filter.html.erb +1 -1
  61. data/app/views/spree/admin/shared/_translations.html.erb +0 -1
  62. data/app/views/spree/admin/shared/_update_order_state.js.erb +1 -1
  63. data/app/views/spree/admin/shipping_methods/_form.html.erb +10 -10
  64. data/app/views/spree/admin/state_changes/index.html.erb +3 -3
  65. data/app/views/spree/admin/states/_form.html.erb +2 -2
  66. data/app/views/spree/admin/stock_locations/_form.html.erb +2 -2
  67. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +4 -4
  68. data/app/views/spree/admin/stock_transfers/index.html.erb +3 -3
  69. data/app/views/spree/admin/stock_transfers/new.html.erb +2 -2
  70. data/app/views/spree/admin/store_credits/index.html.erb +1 -1
  71. data/app/views/spree/admin/tax_rates/_form.html.erb +2 -2
  72. data/app/views/spree/admin/taxonomies/_list.html.erb +2 -2
  73. data/app/views/spree/admin/taxonomies/{edit.erb → edit.html.erb} +0 -0
  74. data/app/views/spree/admin/taxonomies/index.html.erb +2 -2
  75. data/app/views/spree/admin/taxons/_form.html.erb +5 -5
  76. data/app/views/spree/admin/taxons/edit.html.erb +3 -0
  77. data/app/views/spree/admin/trackers/_form.html.erb +2 -2
  78. data/app/views/spree/admin/users/_addresses_form.html.erb +2 -2
  79. data/app/views/spree/admin/users/_form.html.erb +2 -2
  80. data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
  81. data/app/views/spree/admin/users/index.html.erb +5 -5
  82. data/app/views/spree/admin/users/items.html.erb +1 -1
  83. data/app/views/spree/admin/users/orders.html.erb +1 -1
  84. data/app/views/spree/admin/variants/_form.html.erb +2 -2
  85. data/app/views/spree/admin/zones/_form.html.erb +2 -2
  86. data/app/views/spree/layouts/admin.html.erb +3 -3
  87. data/config/initializers/assets.rb +1 -1
  88. data/lib/spree/backend/engine.rb +0 -1
  89. data/spec/controllers/spree/admin/base_controller_spec.rb +46 -0
  90. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +185 -0
  91. data/spec/controllers/spree/admin/general_settings_controller_spec.rb +41 -0
  92. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +18 -0
  93. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +199 -0
  94. data/spec/controllers/spree/admin/orders_controller_spec.rb +296 -0
  95. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +64 -0
  96. data/spec/controllers/spree/admin/payments_controller_spec.rb +97 -0
  97. data/spec/controllers/spree/admin/products_controller_spec.rb +137 -0
  98. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +21 -0
  99. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +21 -0
  100. data/spec/controllers/spree/admin/promotions_controller_spec.rb +44 -0
  101. data/spec/controllers/spree/admin/refunds_controller_spec.rb +32 -0
  102. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +74 -0
  103. data/spec/controllers/spree/admin/reports_controller_spec.rb +42 -0
  104. data/spec/controllers/spree/admin/resource_controller_spec.rb +252 -0
  105. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +225 -0
  106. data/spec/controllers/spree/admin/return_index_controller_spec.rb +37 -0
  107. data/spec/controllers/spree/admin/return_items_controller_spec.rb +27 -0
  108. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +14 -0
  109. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +19 -0
  110. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +41 -0
  111. data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +41 -0
  112. data/spec/controllers/spree/admin/tax_categories_controller_spec.rb +34 -0
  113. data/spec/controllers/spree/admin/users_controller_spec.rb +161 -0
  114. data/spec/controllers/spree/admin/variants_controller_spec.rb +32 -0
  115. data/spec/features/admin/configuration/analytics_tracker_spec.rb +47 -0
  116. data/spec/features/admin/configuration/countries_spec.rb +24 -0
  117. data/spec/features/admin/configuration/general_settings_spec.rb +44 -0
  118. data/spec/features/admin/configuration/payment_methods_spec.rb +63 -0
  119. data/spec/features/admin/configuration/roles_spec.rb +47 -0
  120. data/spec/features/admin/configuration/shipping_methods_spec.rb +62 -0
  121. data/spec/features/admin/configuration/states_spec.rb +68 -0
  122. data/spec/features/admin/configuration/stock_locations_spec.rb +48 -0
  123. data/spec/features/admin/configuration/store_credit_categories_spec.rb +50 -0
  124. data/spec/features/admin/configuration/tax_categories_spec.rb +56 -0
  125. data/spec/features/admin/configuration/tax_rates_spec.rb +18 -0
  126. data/spec/features/admin/configuration/zones_spec.rb +39 -0
  127. data/spec/features/admin/homepage_spec.rb +89 -0
  128. data/spec/features/admin/locale_spec.rb +31 -0
  129. data/spec/features/admin/orders/adjustments_promotions_spec.rb +53 -0
  130. data/spec/features/admin/orders/adjustments_spec.rb +124 -0
  131. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +47 -0
  132. data/spec/features/admin/orders/customer_details_spec.rb +154 -0
  133. data/spec/features/admin/orders/line_items_spec.rb +51 -0
  134. data/spec/features/admin/orders/listing_spec.rb +224 -0
  135. data/spec/features/admin/orders/log_entries_spec.rb +55 -0
  136. data/spec/features/admin/orders/new_order_spec.rb +186 -0
  137. data/spec/features/admin/orders/order_details_spec.rb +660 -0
  138. data/spec/features/admin/orders/payments_spec.rb +244 -0
  139. data/spec/features/admin/orders/risk_analysis_spec.rb +48 -0
  140. data/spec/features/admin/orders/shipments_spec.rb +64 -0
  141. data/spec/features/admin/orders/state_changes_spec.rb +21 -0
  142. data/spec/features/admin/products/edit/images_spec.rb +86 -0
  143. data/spec/features/admin/products/edit/products_spec.rb +56 -0
  144. data/spec/features/admin/products/edit/taxons_spec.rb +41 -0
  145. data/spec/features/admin/products/edit/variants_spec.rb +56 -0
  146. data/spec/features/admin/products/option_types_spec.rb +114 -0
  147. data/spec/features/admin/products/products_spec.rb +445 -0
  148. data/spec/features/admin/products/properties_spec.rb +147 -0
  149. data/spec/features/admin/products/prototypes_spec.rb +112 -0
  150. data/spec/features/admin/products/stock_management_spec.rb +124 -0
  151. data/spec/features/admin/products/taxonomies_spec.rb +52 -0
  152. data/spec/features/admin/products/variant_spec.rb +50 -0
  153. data/spec/features/admin/promotions/adjustments_spec.rb +258 -0
  154. data/spec/features/admin/promotions/option_value_rule_spec.rb +70 -0
  155. data/spec/features/admin/promotions/tiered_calculator_spec.rb +70 -0
  156. data/spec/features/admin/refund_reasons/refund_reasons_spec.rb +57 -0
  157. data/spec/features/admin/reimbursement_type/edit_reimbursement_type_spec.rb +36 -0
  158. data/spec/features/admin/reimbursement_type/new_reimbursement_type_spec.rb +62 -0
  159. data/spec/features/admin/reports_spec.rb +61 -0
  160. data/spec/features/admin/return_authorization_reasons/return_authorization_reasons_spec.rb +63 -0
  161. data/spec/features/admin/returns/customer_returns_spec.rb +80 -0
  162. data/spec/features/admin/returns/return_authorizations_spec.rb +152 -0
  163. data/spec/features/admin/stock_transfer_spec.rb +91 -0
  164. data/spec/features/admin/store_credits_spec.rb +93 -0
  165. data/spec/features/admin/taxons_spec.rb +53 -0
  166. data/spec/features/admin/users_spec.rb +286 -0
  167. data/spec/helpers/admin/base_helper_spec.rb +30 -0
  168. data/spec/helpers/admin/navigation_helper_spec.rb +111 -0
  169. data/spec/helpers/admin/promotion_rules_helper_spec.rb +12 -0
  170. data/spec/helpers/admin/stock_movements_helper_spec.rb +30 -0
  171. data/spec/models/spree/resource_spec.rb +48 -0
  172. data/spec/routing/admin_path_spec.rb +22 -0
  173. data/spec/spec_helper.rb +144 -0
  174. data/spec/support/appear_before_matcher.rb +8 -0
  175. data/spec/support/ror_ringer.jpeg +0 -0
  176. data/spec/test_views/spree/admin/submodule/posts/edit.html.erb +1 -0
  177. data/spec/test_views/spree/admin/submodule/posts/new.html.erb +1 -0
  178. data/spec/test_views/spree/admin/widgets/edit.html.erb +1 -0
  179. data/spec/test_views/spree/admin/widgets/new.html.erb +1 -0
  180. data/spree_backend.gemspec +4 -4
  181. data/vendor/assets/javascripts/jquery.jstree/jquery.jstree.js +130 -154
  182. metadata +106 -29
  183. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  184. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  185. data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
  186. data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  187. data/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  188. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  189. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  190. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  191. data/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png +0 -0
  192. data/vendor/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  193. data/vendor/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
  194. data/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png +0 -0
  195. data/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  196. data/vendor/assets/stylesheets/jquery-ui.datepicker.css.erb +0 -357
@@ -9,14 +9,14 @@
9
9
 
10
10
  <%= fields_for :store do |f| %>
11
11
  <div class="row">
12
- <div class="col-md-6">
12
+ <div class="col-xs-12 col-md-6">
13
13
  <div class="form-group" data-hook="admin_general_setting_input_name">
14
14
  <%= f.label :name %>
15
15
  <%= f.text_field :name, class: 'form-control' %>
16
16
  </div>
17
17
  </div>
18
18
 
19
- <div class="col-md-6">
19
+ <div class="col-xs-12 col-md-6">
20
20
  <div class="form-group" data-hook="admin_general_setting_input_seo_title">
21
21
  <%= f.label :seo_title %>
22
22
  <%= f.text_field :seo_title, class: 'form-control' %>
@@ -25,14 +25,14 @@
25
25
  </div>
26
26
 
27
27
  <div class="row">
28
- <div class="col-md-6">
28
+ <div class="col-xs-12 col-md-6">
29
29
  <div class="form-group" data-hook="admin_general_setting_input_meta_keywords">
30
30
  <%= f.label :meta_keywords %>
31
31
  <%= f.text_field :meta_keywords, class: 'form-control' %>
32
32
  </div>
33
33
  </div>
34
34
 
35
- <div class="col-md-6">
35
+ <div class="col-xs-12 col-md-6">
36
36
  <div class="form-group" data-hook="admin_general_setting_input_meta_description">
37
37
  <%= f.label :meta_description %>
38
38
  <%= f.text_field :meta_description, class: 'form-control' %>
@@ -41,14 +41,14 @@
41
41
  </div>
42
42
 
43
43
  <div class="row">
44
- <div class="col-md-6">
44
+ <div class="col-xs-12 col-md-6">
45
45
  <div class="form-group" data-hook="admin_general_setting_input_url">
46
46
  <%= f.label :url %>
47
47
  <%= f.text_field :url, class: 'form-control' %>
48
48
  </div>
49
49
  </div>
50
50
 
51
- <div class="col-md-6">
51
+ <div class="col-xs-12 col-md-6">
52
52
  <div class="form-group" data-hook="admin_general_setting_mail_from_address">
53
53
  <%= f.label :mail_from_address %>
54
54
  <%= f.text_field :mail_from_address, class: 'form-control' %>
@@ -58,7 +58,7 @@
58
58
  <% end %>
59
59
 
60
60
  <div class="row">
61
- <div class="col-md-6">
61
+ <div class="col-xs-12 col-md-6">
62
62
  <%#-------------------------------------------------%>
63
63
  <%# Security settings %>
64
64
  <%#-------------------------------------------------%>
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  </div>
106
- <div class="col-md-6">
106
+ <div class="col-xs-12 col-md-6">
107
107
 
108
108
  <%#-------------------------------------------------%>
109
109
  <%# Currency Settings %>
@@ -1,5 +1,5 @@
1
1
  <div data-hook="admin_image_form_fields" class="row">
2
- <div class="col-md-6">
2
+ <div class="col-xs-12 col-md-6">
3
3
  <div data-hook="file" class="form-group">
4
4
  <%= f.label :attachment, Spree.t(:filename) %>
5
5
  <%= f.file_field :attachment %>
@@ -9,7 +9,7 @@
9
9
  <%= f.select :viewable_id, @variants, {}, {class: 'select2'} %>
10
10
  </div>
11
11
  </div>
12
- <div data-hook="alt_text" class="col-md-6">
12
+ <div data-hook="alt_text" class="col-xs-12 col-md-6">
13
13
  <div class="form-group">
14
14
  <%= f.label :alt, Spree.t(:alt_text) %>
15
15
  <%= f.text_area :alt, rows: 4, class: 'form-control' %>
@@ -11,11 +11,11 @@
11
11
  </div>
12
12
  <div class="panel-body">
13
13
  <div class="form-group">
14
- <div data-hook="thumbnail" class="col-md-3 text-center">
14
+ <div data-hook="thumbnail" class="col-xs-12 col-md-3 text-center">
15
15
  <%= f.label Spree.t(:thumbnail) %>
16
16
  <%= link_to image_tag(@image.attachment.url(:small)), @image.attachment.url(:product) %>
17
17
  </div>
18
- <div class="col-md-9">
18
+ <div class="col-xs-12 col-md-9">
19
19
  <%= render partial: 'form', locals: { f: f } %>
20
20
  </div>
21
21
 
@@ -1,6 +1,6 @@
1
1
  <%= render partial: 'spree/admin/shared/product_tabs', locals: { current: :images } %>
2
2
 
3
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @product } %>
3
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @object } %>
4
4
 
5
5
  <% content_for :page_title do %>
6
6
  <%= Spree.t(:new_image) %>
@@ -1,5 +1,5 @@
1
1
  <div data-hook="admin_option_type_form_fields" class="row">
2
- <div class="col-md-6">
2
+ <div class="col-xs-12 col-md-6">
3
3
  <%= f.field_container :name, class: ['form-group'] do %>
4
4
  <%= f.label :name, Spree.t(:name) %> <span class="required">*</span>
5
5
  <%= f.text_field :name, class: "form-control" %>
@@ -7,7 +7,7 @@
7
7
  <% end %>
8
8
  </div>
9
9
 
10
- <div class="col-md-6">
10
+ <div class="col-xs-12 col-md-6">
11
11
  <%= f.field_container :presentation, class: ['form-group'] do %>
12
12
  <%= f.label :presentation, Spree.t(:presentation) %> <span class="required">*</span>
13
13
  <%= f.text_field :presentation, class: "form-control" %>
@@ -6,7 +6,7 @@
6
6
  <span id="new_ot_link">
7
7
  <%= button_link_to Spree.t(:new_option_type), new_object_url, { class: "btn-success", icon: 'add', id: 'new_option_type_link' } %>
8
8
  </span>
9
- <% end %>
9
+ <% end if can?(:create, Spree::OptionType) %>
10
10
 
11
11
  <div id="new_option_type"></div>
12
12
 
@@ -29,8 +29,8 @@
29
29
  <td><%= option_type.name %></td>
30
30
  <td class="presentation"><%= option_type.presentation %></td>
31
31
  <td class="actions actions-2 text-right">
32
- <%= link_to_edit(option_type, class: 'admin_edit_option_type', no_text: true) %>
33
- <%= link_to_delete(option_type, no_text: true) %>
32
+ <%= link_to_edit(option_type, class: 'admin_edit_option_type', no_text: true) if can?(:edit, option_type) %>
33
+ <%= link_to_delete(option_type, no_text: true) if can?(:delete, option_type) %>
34
34
  </td>
35
35
  </tr>
36
36
  <% end %>
@@ -39,6 +39,6 @@
39
39
  <% else %>
40
40
  <div class="alert alert-info no-objects-found">
41
41
  <%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::OptionType)) %>,
42
- <%= link_to Spree.t(:add_one), new_object_url %>!
42
+ <%= link_to Spree.t(:add_one), new_object_url if can?(:create, Spree::OptionType) %>!
43
43
  </div>
44
44
  <% end %>
@@ -5,44 +5,46 @@
5
5
  <%= Spree.t(:order_line_items) %>
6
6
  </h1>
7
7
  </div>
8
- <table class="table table-bordered line-items" data-hook="line-items">
9
- <thead>
10
- <tr>
11
- <th colspan="2"><%= Spree.t(:name) %></th>
12
- <th class="text-center"><%= Spree.t(:price) %></th>
13
- <th class="text-center"><%= Spree.t(:quantity) %></th>
14
- <th class="text-center"><%= Spree.t(:total_price) %></th>
15
- <th class="orders-actions text-center" data-hook="admin_order_form_line_items_header_actions"></th>
16
- </tr>
17
- </thead>
18
- <tbody>
19
- <% order.line_items.each do |item| %>
20
- <tr class="line-item" id="line-item-<%= item.id %>">
21
- <td class="line-item-image image text-center">
22
- <%= mini_image(item.variant) %>
23
- </td>
24
- <td class="line-item-name text-center">
25
- <%= item.name %><br><%= "(" + variant_options(item.variant) + ")" unless item.variant.option_values.empty? %>
26
- </td>
27
- <td class="line-item-price text-center"><%= item.single_money.to_html %></td>
28
- <td class="line-item-qty-show text-center">
29
- <%= item.quantity %>
30
- </td>
31
- <td class="line-item-qty-edit is-hidden">
32
- <%= number_field_tag :quantity, item.quantity, min: 0, class: "line_item_quantity form-control", size: 5 %>
33
- </td>
34
- <td class="line-item-total text-center"><%= line_item_shipment_price(item, item.quantity) %></td>
35
- <td class="cart-line-item-delete actions actions-4 text-center" data-hook="cart_line_item_delete">
36
- <% if can? :update, item %>
37
- <%= link_to_with_icon 'arrow-left', Spree.t('actions.cancel'), "#", class: 'cancel-line-item btn btn-default btn-sm', data: {action: 'cancel'}, title: Spree.t('actions.cancel'), style: 'display: none', no_text: true %>
38
- <%= link_to_with_icon 'save', Spree.t('actions.save'), "#", class: 'save-line-item btn btn-success btn-sm', no_text: true, data: { :'line-item-id' => item.id, action: 'save'}, title: Spree.t('actions.save'), style: 'display: none' %>
39
- <%= link_to_with_icon 'edit', Spree.t('edit'), "#", class: 'edit-line-item btn btn-primary btn-sm', data: {action: 'edit'}, title: Spree.t('edit'), no_text: true %>
40
- <%= link_to_with_icon 'delete', Spree.t('delete'), "#", class: 'delete-line-item btn btn-danger btn-sm', data: { 'line-item-id' => item.id, action: 'remove'}, title: Spree.t('delete'), no_text: true %>
41
- <% end %>
42
- </td>
8
+ <div class="table-responsive">
9
+ <table class="table table-bordered line-items" data-hook="line-items">
10
+ <thead>
11
+ <tr>
12
+ <th colspan="2"><%= Spree.t(:name) %></th>
13
+ <th class="text-center"><%= Spree.t(:price) %></th>
14
+ <th class="text-center"><%= Spree.t(:quantity) %></th>
15
+ <th class="text-center"><%= Spree.t(:total_price) %></th>
16
+ <th class="orders-actions text-center" data-hook="admin_order_form_line_items_header_actions"></th>
43
17
  </tr>
44
- <% end %>
45
- </tbody>
46
- </table>
18
+ </thead>
19
+ <tbody>
20
+ <% order.line_items.each do |item| %>
21
+ <tr class="line-item" id="line-item-<%= item.id %>">
22
+ <td class="line-item-image image text-center">
23
+ <%= mini_image(item.variant) %>
24
+ </td>
25
+ <td class="line-item-name text-center">
26
+ <%= item.name %><br><%= "(" + variant_options(item.variant) + ")" unless item.variant.option_values.empty? %>
27
+ </td>
28
+ <td class="line-item-price text-center"><%= item.single_money.to_html %></td>
29
+ <td class="line-item-qty-show text-center">
30
+ <%= item.quantity %>
31
+ </td>
32
+ <td class="line-item-qty-edit is-hidden">
33
+ <%= number_field_tag :quantity, item.quantity, min: 0, class: "line_item_quantity form-control", size: 5 %>
34
+ </td>
35
+ <td class="line-item-total text-center"><%= line_item_shipment_price(item, item.quantity) %></td>
36
+ <td class="cart-line-item-delete actions actions-4 text-center" data-hook="cart_line_item_delete">
37
+ <% if can? :update, item %>
38
+ <%= link_to_with_icon 'arrow-left', Spree.t('actions.cancel'), "#", class: 'cancel-line-item btn btn-default btn-sm', data: {action: 'cancel'}, title: Spree.t('actions.cancel'), style: 'display: none', no_text: true %>
39
+ <%= link_to_with_icon 'save', Spree.t('actions.save'), "#", class: 'save-line-item btn btn-success btn-sm', no_text: true, data: { :'line-item-id' => item.id, action: 'save'}, title: Spree.t('actions.save'), style: 'display: none' %>
40
+ <%= link_to_with_icon 'edit', Spree.t('edit'), "#", class: 'edit-line-item btn btn-primary btn-sm', data: {action: 'edit'}, title: Spree.t('edit'), no_text: true %>
41
+ <%= link_to_with_icon 'delete', Spree.t('delete'), "#", class: 'delete-line-item btn btn-danger btn-sm', data: { 'line-item-id' => item.id, action: 'remove'}, title: Spree.t('delete'), no_text: true %>
42
+ <% end %>
43
+ </td>
44
+ </tr>
45
+ <% end %>
46
+ </tbody>
47
+ </table>
48
+ </div>
47
49
  </div>
48
50
  <% end %>
@@ -16,95 +16,96 @@
16
16
  </h1>
17
17
  </div>
18
18
 
19
- <table class="table table-bordered stock-contents" data-hook="stock-contents">
20
- <thead>
21
- <tr>
22
- <th colspan="2"><%= Spree.t(:item_description) %></th>
23
- <th width="15%" class="text-center"><%= Spree.t(:price) %></th>
24
- <th width="15%" class="text-center"><%= Spree.t(:quantity) %></th>
25
- <th width="15%" class="text-center"><%= Spree.t(:total) %></th>
26
- <th class="orders-actions actions text-center" data-hook="admin_order_form_line_items_header_actions"></th>
27
- </tr>
28
- </thead>
29
-
30
- <tbody data-shipment-number="<%= shipment.number %>" data-order-number="<%= order.number %>">
31
- <%= render 'spree/admin/orders/shipment_manifest', shipment: shipment %>
32
-
33
- <% unless shipment.shipped? %>
34
- <tr class="edit-method is-hidden total">
35
- <td colspan="5">
36
- <div class="field alpha five columns">
37
- <%= label_tag 'selected_shipping_rate_id', Spree.t(:shipping_method) %>
38
- <%= select_tag :selected_shipping_rate_id,
39
- options_for_select(shipment.shipping_rates.map {|sr| ["#{sr.name} #{sr.display_price}", sr.id] }, shipment.selected_shipping_rate_id),
40
- { class: 'select2', data: {'shipment-number' => shipment.number } } %>
41
- </div>
42
- </td>
43
- <td class="actions text-center">
44
- <% if can? :update, shipment %>
45
- <%= link_to_with_icon 'cancel', Spree.t('actions.cancel'), "#", class: 'cancel-method btn btn-primary btn-sm', data: {action: 'cancel'}, title: Spree.t('actions.cancel'), no_text: true %>
46
- <%= link_to_with_icon 'save', Spree.t('actions.save'), "#", class: 'save-method btn btn-success btn-sm', data: {'shipment-number' => shipment.number, action: 'save'}, title: Spree.t('actions.save'), no_text: true %>
47
- <% end %>
48
- </td>
19
+ <div class="table-responsive">
20
+ <table class="table table-bordered stock-contents" data-hook="stock-contents">
21
+ <thead>
22
+ <tr>
23
+ <th colspan="2"><%= Spree.t(:item_description) %></th>
24
+ <th width="15%" class="text-center"><%= Spree.t(:price) %></th>
25
+ <th width="15%" class="text-center"><%= Spree.t(:quantity) %></th>
26
+ <th width="15%" class="text-center"><%= Spree.t(:total) %></th>
27
+ <th class="orders-actions actions text-center" data-hook="admin_order_form_line_items_header_actions"></th>
49
28
  </tr>
50
- <% end %>
29
+ </thead>
30
+
31
+ <tbody data-shipment-number="<%= shipment.number %>" data-order-number="<%= order.number %>">
32
+ <%= render 'spree/admin/orders/shipment_manifest', shipment: shipment %>
51
33
 
52
- <tr class="show-method total">
53
- <% if rate = shipment.selected_shipping_rate %>
54
- <td colspan="4">
55
- <strong><%= rate.name %></strong>
34
+ <% unless shipment.shipped? %>
35
+ <tr class="edit-method is-hidden total">
36
+ <td colspan="5">
37
+ <div class="field alpha five columns">
38
+ <%= label_tag 'selected_shipping_rate_id', Spree.t(:shipping_method) %>
39
+ <%= select_tag :selected_shipping_rate_id,
40
+ options_for_select(shipment.shipping_rates.map {|sr| ["#{sr.name} #{sr.display_price}", sr.id] }, shipment.selected_shipping_rate_id),
41
+ { class: 'select2', data: {'shipment-number' => shipment.number } } %>
42
+ </div>
56
43
  </td>
57
- <td class="total text-center">
58
- <%= shipment.display_cost %>
44
+ <td class="actions text-center">
45
+ <% if can? :update, shipment %>
46
+ <%= link_to_with_icon 'cancel', Spree.t('actions.cancel'), "#", class: 'cancel-method btn btn-primary btn-sm', data: {action: 'cancel'}, title: Spree.t('actions.cancel'), no_text: true %>
47
+ <%= link_to_with_icon 'save', Spree.t('actions.save'), "#", class: 'save-method btn btn-success btn-sm', data: {'shipment-number' => shipment.number, action: 'save'}, title: Spree.t('actions.save'), no_text: true %>
48
+ <% end %>
59
49
  </td>
60
- <% else %>
61
- <td colspan='5'><%= Spree.t(:no_shipping_method_selected) %></td>
50
+ </tr>
62
51
  <% end %>
63
52
 
64
- <td class="actions text-center">
65
- <% if( (can? :update, shipment) and !shipment.shipped?) %>
66
- <%= link_to_with_icon 'edit', Spree.t('edit'), "javascript:;", class: 'edit-method with-tip btn btn-sm btn-primary', data: {action: 'edit'}, no_text: true %>
53
+ <tr class="show-method total">
54
+ <% if rate = shipment.selected_shipping_rate %>
55
+ <td colspan="4">
56
+ <strong><%= rate.name %></strong>
57
+ </td>
58
+ <td class="total text-center">
59
+ <%= shipment.display_cost %>
60
+ </td>
61
+ <% else %>
62
+ <td colspan='5'><%= Spree.t(:no_shipping_method_selected) %></td>
67
63
  <% end %>
68
- </td>
69
- </tr>
70
64
 
65
+ <td class="actions text-center">
66
+ <% if( (can? :update, shipment) and !shipment.shipped?) %>
67
+ <%= link_to_with_icon 'edit', Spree.t('edit'), "javascript:;", class: 'edit-method with-tip btn btn-sm btn-primary', data: {action: 'edit'}, no_text: true %>
68
+ <% end %>
69
+ </td>
70
+ </tr>
71
71
 
72
- <tr class="edit-tracking is-hidden total">
73
- <td colspan="5">
74
- <label><%= Spree.t(:tracking_number) %>:</label>
75
- <%= text_field_tag :tracking, shipment.tracking, class: "form-control" %>
76
- </td>
77
- <td class="actions">
78
- <% if can? :update, shipment %>
79
- <%= link_to_with_icon 'cancel', Spree.t('actions.cancel'), "#", class: 'cancel-tracking btn btn-primary btn-sm', data: {action: 'cancel'}, title: Spree.t('actions.cancel'), no_text: true %>
80
- <%= link_to_with_icon 'save', Spree.t('actions.save'), "#", class: 'save-tracking btn btn-success btn-sm', data: {'shipment-number' => shipment.number, action: 'save'}, title: Spree.t('actions.save'), no_text: true %>
81
- <% end %>
82
- </td>
83
- </tr>
84
72
 
85
- <% if order.special_instructions.present? %>
86
- <tr class='special_instructions'>
73
+ <tr class="edit-tracking is-hidden total">
87
74
  <td colspan="5">
88
- <strong><%= Spree.t(:special_instructions) %>:&nbsp;</strong><%= order.special_instructions %>
75
+ <label><%= Spree.t(:tracking_number) %>:</label>
76
+ <%= text_field_tag :tracking, shipment.tracking, class: "form-control" %>
77
+ </td>
78
+ <td class="actions">
79
+ <% if can? :update, shipment %>
80
+ <%= link_to_with_icon 'cancel', Spree.t('actions.cancel'), "#", class: 'cancel-tracking btn btn-primary btn-sm', data: {action: 'cancel'}, title: Spree.t('actions.cancel'), no_text: true %>
81
+ <%= link_to_with_icon 'save', Spree.t('actions.save'), "#", class: 'save-tracking btn btn-success btn-sm', data: {'shipment-number' => shipment.number, action: 'save'}, title: Spree.t('actions.save'), no_text: true %>
82
+ <% end %>
89
83
  </td>
90
84
  </tr>
91
- <% end %>
92
85
 
93
- <tr class="show-tracking total">
94
- <td colspan="5" class="tracking-value">
95
- <% if shipment.tracking.present? %>
96
- <strong><%= Spree.t(:tracking) %>:</strong> <%= link_to_tracking(shipment, target: '_blank') %>
97
- <% else %>
98
- <%= Spree.t(:no_tracking_present) %>
99
- <% end %>
100
- </td>
101
- <td class="actions text-center">
102
- <% if can? :update, shipment %>
103
- <%= link_to_with_icon 'edit', Spree.t('edit'), "#", class: 'edit-tracking btn btn-primary btn-sm', data: {action: 'edit'}, title: Spree.t('edit'), no_text: true %>
104
- <% end %>
105
- </td>
106
- </tr>
107
- </tbody>
108
- </table>
86
+ <% if order.special_instructions.present? %>
87
+ <tr class='special_instructions'>
88
+ <td colspan="5">
89
+ <strong><%= Spree.t(:special_instructions) %>:&nbsp;</strong><%= order.special_instructions %>
90
+ </td>
91
+ </tr>
92
+ <% end %>
109
93
 
94
+ <tr class="show-tracking total">
95
+ <td colspan="5" class="tracking-value">
96
+ <% if shipment.tracking.present? %>
97
+ <strong><%= Spree.t(:tracking) %>:</strong> <%= link_to_tracking(shipment, target: '_blank') %>
98
+ <% else %>
99
+ <%= Spree.t(:no_tracking_present) %>
100
+ <% end %>
101
+ </td>
102
+ <td class="actions text-center">
103
+ <% if can? :update, shipment %>
104
+ <%= link_to_with_icon 'edit', Spree.t('edit'), "#", class: 'edit-tracking btn btn-primary btn-sm', data: {action: 'edit'}, title: Spree.t('edit'), no_text: true %>
105
+ <% end %>
106
+ </td>
107
+ </tr>
108
+ </tbody>
109
+ </table>
110
+ </div>
110
111
  </div>
@@ -10,7 +10,7 @@
10
10
 
11
11
  <div class="panel-body">
12
12
  <div data-hook="customer_fields" class="row">
13
- <div class="col-md-8">
13
+ <div class="col-xs-12 col-md-8">
14
14
  <div class="form-group">
15
15
  <%= f.label :email, Spree.t(:email) %>
16
16
  <% if can? :edit, @order.user %>
@@ -20,7 +20,7 @@
20
20
  <% end %>
21
21
  </div>
22
22
  </div>
23
- <div class="col-md-4">
23
+ <div class="col-xs-12 col-md-4">
24
24
  <div class="form-group">
25
25
  <strong><%= label_tag nil, Spree.t(:guest_checkout) %></strong>
26
26
  <% guest = @order.user.nil? %>
@@ -45,7 +45,7 @@
45
45
  <%= Spree.t(:say_no) %>
46
46
  <% end %>
47
47
  </div>
48
- <%= hidden_field_tag :user_id, @order.user_id %>
48
+ <%= f.hidden_field :user_id, value: @order.user_id %>
49
49
  <% end %>
50
50
  </div>
51
51
  </div>
@@ -55,7 +55,7 @@
55
55
  </div>
56
56
 
57
57
  <div class="row">
58
- <div data-hook="bill_address_wrapper" class="col-md-6">
58
+ <div data-hook="bill_address_wrapper" class="col-xs-12 col-md-6">
59
59
  <div class="panel panel-default">
60
60
  <div class="panel-heading">
61
61
  <h1 class="panel-title"><%= Spree.t(:billing_address) %></h1>
@@ -73,7 +73,7 @@
73
73
  </div>
74
74
  </div>
75
75
 
76
- <div class="col-md-6" data-hook="ship_address_wrapper">
76
+ <div class="col-xs-12 col-md-6" data-hook="ship_address_wrapper">
77
77
  <div class="panel panel-default">
78
78
  <div class="panel-heading">
79
79
  <h1 class="panel-title"><%= Spree.t(:shipping_address) %></h1>
@@ -11,11 +11,11 @@
11
11
 
12
12
  <%= search_form_for [:admin, @search] do |f| %>
13
13
  <div class="row">
14
- <div class="date-range-filter col-md-8">
14
+ <div class="date-range-filter col-xs-12 col-md-8">
15
15
  <div class="form-group">
16
16
  <%= label_tag :q_created_at_gt, Spree.t(:date_range) %>
17
17
  <div class="row no-padding-bottom">
18
- <div class="col-md-6">
18
+ <div class="col-xs-12 col-md-6">
19
19
  <div class="input-group">
20
20
  <%= f.text_field :created_at_gt, class: 'datepicker datepicker-from form-control', value: params[:q][:created_at_gt], placeholder: Spree.t(:start) %>
21
21
  <span class="input-group-addon">
@@ -24,7 +24,7 @@
24
24
  </div>
25
25
 
26
26
  </div>
27
- <div class="col-md-6">
27
+ <div class="col-xs-12 col-md-6">
28
28
  <div class="input-group">
29
29
  <%= f.text_field :created_at_lt, class: 'datepicker datepicker-to form-control', value: params[:q][:created_at_lt], placeholder: Spree.t(:stop) %>
30
30
  <span class="input-group-addon">
@@ -36,7 +36,7 @@
36
36
  </div>
37
37
  </div>
38
38
 
39
- <div class="col-md-4">
39
+ <div class="col-xs-12 col-md-4">
40
40
  <div class="form-group">
41
41
  <%= label_tag :q_number_cont, Spree.t(:order_number, number: '') %>
42
42
  <%= f.text_field :number_cont, class: 'form-control js-quick-search-target' %>
@@ -47,21 +47,21 @@
47
47
 
48
48
  <div class="row">
49
49
 
50
- <div class="col-md-4">
50
+ <div class="col-xs-12 col-md-4">
51
51
  <div class="form-group">
52
52
  <%= label_tag :q_state_eq, Spree.t(:status) %>
53
- <%= f.select :state_eq, Spree::Order.state_machines[:state].states.map {|s| [Spree.t("order_state.#{s.name}"), s.value]}, {include_blank: true}, class: 'select2 js-filterable' %>
53
+ <%= f.select :state_eq, Spree::Order.state_machines[:state].states.map {|s| [Spree.t("order_states.#{s.name}"), s.value]}, {include_blank: true}, class: 'select2 js-filterable' %>
54
54
  </div>
55
55
  </div>
56
56
 
57
- <div class="col-md-4">
57
+ <div class="col-xs-12 col-md-4">
58
58
  <div class="form-group">
59
59
  <%= label_tag :q_payment_state_eq, Spree.t(:payment_state) %>
60
60
  <%= f.select :payment_state_eq, Spree::Order::PAYMENT_STATES.map {|s| [Spree.t("payment_states.#{s}"), s]}, {include_blank: true}, class: 'select2 js-filterable' %>
61
61
  </div>
62
62
  </div>
63
63
 
64
- <div class="col-md-4">
64
+ <div class="col-xs-12 col-md-4">
65
65
  <div class="form-group">
66
66
  <%= label_tag :q_shipment_state_eq, Spree.t(:shipment_state) %>
67
67
  <%= f.select :shipment_state_eq, Spree::Order::SHIPMENT_STATES.map {|s| [Spree.t("shipment_states.#{s}"), s]}, {include_blank: true}, class: 'select2 js-filterable' %>
@@ -72,21 +72,21 @@
72
72
 
73
73
  <div class="row">
74
74
 
75
- <div class="col-md-4">
75
+ <div class="col-xs-12 col-md-4">
76
76
  <div class="form-group">
77
77
  <%= label_tag :q_bill_address_firstname_start, Spree.t(:first_name_begins_with) %>
78
78
  <%= f.text_field :bill_address_firstname_start, class: 'form-control' %>
79
79
  </div>
80
80
  </div>
81
81
 
82
- <div class="col-md-4">
82
+ <div class="col-xs-12 col-md-4">
83
83
  <div class="form-group">
84
84
  <%= label_tag :q_bill_address_lastname_start, Spree.t(:last_name_begins_with) %>
85
85
  <%= f.text_field :bill_address_lastname_start, class: 'form-control' %>
86
86
  </div>
87
87
  </div>
88
88
 
89
- <div class="col-md-4">
89
+ <div class="col-xs-12 col-md-4">
90
90
  <div class="form-group">
91
91
  <%= label_tag :q_email_cont, Spree.t(:email) %>
92
92
  <%= f.text_field :email_cont, class: 'form-control js-filterable' %>
@@ -97,21 +97,21 @@
97
97
 
98
98
  <div class="row">
99
99
 
100
- <div class="col-md-4">
100
+ <div class="col-xs-12 col-md-4">
101
101
  <div class="form-group">
102
102
  <%= label_tag :q_line_items_variant_sku_eq, Spree.t(:sku) %>
103
103
  <%= f.text_field :line_items_variant_sku_eq, class: 'form-control' %>
104
104
  </div>
105
105
  </div>
106
106
 
107
- <div class="col-md-4">
107
+ <div class="col-xs-12 col-md-4">
108
108
  <div class="form-group">
109
109
  <%= label_tag :q_promotions_id_in, Spree.t(:promotion) %>
110
110
  <%= f.select :promotions_id_in, Spree::Promotion.applied.pluck(:name, :id), {include_blank: true}, class: 'select2' %>
111
111
  </div>
112
112
  </div>
113
113
 
114
- <div class="col-md-4">
114
+ <div class="col-xs-12 col-md-4">
115
115
 
116
116
  <div class="form-group">
117
117
 
@@ -181,7 +181,7 @@
181
181
  </span>
182
182
  </td>
183
183
  <td>
184
- <span class="label label-<%= order.state.downcase %>"><%= Spree.t("order_state.#{order.state.downcase}") %></span>
184
+ <span class="label label-<%= order.state.downcase %>"><%= Spree.t("order_states.#{order.state.downcase}") %></span>
185
185
  <span class="icon icon-filter filterable js-add-filter" data-ransack-field="q_state_eq" data-ransack-value="<%= order.state %>"></span>
186
186
  </td>
187
187
  <td>
@@ -210,7 +210,7 @@
210
210
  </td>
211
211
  <td><%= order.display_total.to_html %></td>
212
212
  <td class='actions actions-1' data-hook="admin_orders_index_row_actions">
213
- <%= link_to_edit_url edit_admin_order_path(order), title: "admin_edit_#{dom_id(order)}", no_text: true %>
213
+ <%= link_to_edit_url edit_admin_order_path(order), title: "admin_edit_#{dom_id(order)}", no_text: true if can?(:edit, order) %>
214
214
  </td>
215
215
  </tr>
216
216
  <% end %>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div data-hook="payment_method" class="row">
4
4
 
5
- <div class="col-md-4">
5
+ <div class="col-xs-12 col-md-4">
6
6
  <div id="preference-settings" data-hook class="form-group">
7
7
  <%= f.label :type, Spree.t(:provider) %>
8
8
  <%= collection_select(:payment_method, :type, @providers, :to_s, :name, {}, {id: 'gtwy-type', class: 'select2'}) %>
@@ -41,7 +41,7 @@
41
41
  </div>
42
42
  </div>
43
43
 
44
- <div class="col-md-8">
44
+ <div class="col-xs-12 col-md-8">
45
45
  <%= field_container :payment_method, :name, class: ['form-group'], 'data-hook' => 'name' do %>
46
46
  <%= label_tag :payment_method_name, Spree.t(:name) %>
47
47
  <%= text_field :payment_method, :name, class: 'form-control' %>
@@ -12,7 +12,7 @@
12
12
  </thead>
13
13
  <tbody>
14
14
  <% payments.each do |payment| %>
15
- <tr id="<%= dom_id(payment) %>" data-hook="payments_row">
15
+ <tr id="<%= dom_id(payment) %>" data-hook="payments_row" data-number="<%= payment.number %>">
16
16
  <td><%= link_to payment.number, spree.admin_order_payment_path(@order, payment) %></td>
17
17
  <td><%= pretty_time(payment.created_at) %></td>
18
18
  <td class="amount text-center"><%= payment.display_amount %></td>
@@ -6,7 +6,7 @@
6
6
  <div class="panel-body">
7
7
  <%= form_for [:admin, Spree::StockMovement.new], url: admin_stock_items_path do |f| %>
8
8
  <div data-hook="admin_stock_movements_form_fields" class="row">
9
- <div class="col-md-2">
9
+ <div class="col-xs-12 col-md-2">
10
10
  <div class="form-group">
11
11
  <%= f.field_container :quantity do %>
12
12
  <%= f.label :quantity, Spree.t(:quantity) %>
@@ -14,7 +14,7 @@
14
14
  <% end %>
15
15
  </div>
16
16
  </div>
17
- <div class="col-md-5">
17
+ <div class="col-xs-12 col-md-5">
18
18
  <div class="form-group">
19
19
  <%= f.field_container :stock_location do %>
20
20
  <%= label_tag :stock_location_id, Spree.t(:stock_location) %>
@@ -24,7 +24,7 @@
24
24
  </div>
25
25
  </div>
26
26
 
27
- <div class="col-md-5">
27
+ <div class="col-xs-12 col-md-5">
28
28
  <div class="form-group">
29
29
  <%= f.field_container :variant_id do %>
30
30
  <%= label_tag 'variant_id', Spree.t(:variant) %>