solidus_backend 2.4.2 → 2.5.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_backend might be problematic. Click here for more details.

Files changed (505) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +7 -7
  3. data/Rakefile +19 -13
  4. data/app/assets/javascripts/spree/backend.js +5 -17
  5. data/app/assets/javascripts/spree/backend/adjustments.js +26 -0
  6. data/app/assets/javascripts/spree/backend/admin.js +14 -78
  7. data/app/assets/javascripts/spree/backend/backbone-overrides.js +25 -0
  8. data/app/assets/javascripts/spree/backend/calculator.js +1 -1
  9. data/app/assets/javascripts/spree/backend/checkouts/edit.js +1 -1
  10. data/app/assets/javascripts/spree/backend/collections/index.js +1 -0
  11. data/app/assets/javascripts/spree/backend/collections/shipments.js +6 -0
  12. data/app/assets/javascripts/spree/backend/components/editable_table.js +5 -0
  13. data/app/assets/javascripts/spree/backend/components/number_with_currency.js +1 -1
  14. data/app/assets/javascripts/spree/backend/components/sortable_table.js +29 -0
  15. data/app/assets/javascripts/spree/backend/components/tabs.js +67 -0
  16. data/app/assets/javascripts/spree/backend/components/tooltips.js +19 -24
  17. data/app/assets/javascripts/spree/backend/datepicker.js +55 -0
  18. data/app/assets/javascripts/spree/backend/flash.js +20 -0
  19. data/app/assets/javascripts/spree/backend/gateway.js +22 -0
  20. data/app/assets/javascripts/spree/backend/handlebars_extensions.js +8 -0
  21. data/app/assets/javascripts/spree/backend/images/index.js +8 -0
  22. data/app/assets/javascripts/spree/backend/models/index.js +3 -0
  23. data/app/assets/javascripts/spree/backend/models/line_item.js +4 -0
  24. data/app/assets/javascripts/spree/backend/models/order.js +2 -1
  25. data/app/assets/javascripts/spree/backend/models/payment.js +5 -0
  26. data/app/assets/javascripts/spree/backend/models/shipment.js +27 -0
  27. data/app/assets/javascripts/spree/backend/models/stock_item.js +6 -0
  28. data/app/assets/javascripts/spree/backend/namespaces.js +5 -1
  29. data/app/assets/javascripts/spree/backend/navigation.js +14 -0
  30. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +1 -1
  31. data/app/assets/javascripts/spree/backend/option_value_picker.js +1 -0
  32. data/app/assets/javascripts/spree/backend/orders/cart.js +1 -1
  33. data/app/assets/javascripts/spree/backend/orders/edit.js +2 -2
  34. data/app/assets/javascripts/spree/backend/payments/edit.js +16 -0
  35. data/app/assets/javascripts/spree/backend/payments/new.js +1 -1
  36. data/app/assets/javascripts/spree/backend/product_picker.js +1 -1
  37. data/app/assets/javascripts/spree/backend/progress.js +9 -0
  38. data/app/assets/javascripts/spree/backend/promotions.js +35 -0
  39. data/app/assets/javascripts/spree/backend/promotions/activation.js +1 -1
  40. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +1 -1
  41. data/app/assets/javascripts/spree/backend/routes.js +0 -12
  42. data/app/assets/javascripts/spree/backend/shipments.js +35 -68
  43. data/app/assets/javascripts/spree/backend/stock_location.js +23 -0
  44. data/app/assets/javascripts/spree/backend/stock_management.js +22 -0
  45. data/app/assets/javascripts/spree/backend/store_credits.js +25 -0
  46. data/app/assets/javascripts/spree/backend/style_guide.js +3 -0
  47. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +1 -1
  48. data/app/assets/javascripts/spree/backend/taxonomy.js +121 -0
  49. data/app/assets/javascripts/spree/backend/taxons.js +75 -0
  50. data/app/assets/javascripts/spree/backend/templates/index.js +2 -2
  51. data/app/assets/javascripts/spree/backend/templates/orders/line_item.hbs +7 -5
  52. data/app/assets/javascripts/spree/backend/templates/orders/shipment_tracking.hbs +24 -0
  53. data/app/assets/javascripts/spree/backend/templates/orders/shipping_method.hbs +34 -0
  54. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs +7 -3
  55. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs +6 -2
  56. data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +3 -1
  57. data/app/assets/javascripts/spree/backend/templates/variants/autocomplete_stock.hbs +10 -5
  58. data/app/assets/javascripts/spree/backend/templates/variants/split.hbs +5 -3
  59. data/app/assets/javascripts/spree/backend/translation.js +11 -0
  60. data/app/assets/javascripts/spree/backend/turbolinks-integration.js +21 -0
  61. data/app/assets/javascripts/spree/backend/user_picker.js +1 -1
  62. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +60 -0
  63. data/app/assets/javascripts/spree/backend/views/calculators/tiered.js +54 -0
  64. data/app/assets/javascripts/spree/backend/views/cart/line_item_row.js +2 -1
  65. data/app/assets/javascripts/spree/backend/views/index.js +7 -0
  66. data/app/assets/javascripts/spree/backend/views/order/shipment_tracking.js +46 -0
  67. data/app/assets/javascripts/spree/backend/views/order/shipping_method.js +57 -0
  68. data/app/assets/javascripts/spree/backend/views/payment/payment_row.js +36 -0
  69. data/app/assets/javascripts/spree/backend/views/promotions/option_values_rule.js +79 -0
  70. data/app/assets/javascripts/spree/backend/views/state_select.js +6 -6
  71. data/app/assets/javascripts/spree/backend/views/stock/add_stock_item.js +63 -0
  72. data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +68 -0
  73. data/app/assets/javascripts/spree/backend/views/tables/editable_table.js +15 -0
  74. data/app/assets/javascripts/spree/backend/views/tables/editable_table_row.js +61 -0
  75. data/app/assets/javascripts/spree/backend/zone.js +1 -1
  76. data/app/assets/stylesheets/spree/backend.css +1 -2
  77. data/app/assets/stylesheets/spree/backend/components/_messages.scss +4 -1
  78. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +4 -2
  79. data/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss +8 -2
  80. data/app/assets/stylesheets/spree/backend/components/_progress.scss +4 -0
  81. data/app/assets/stylesheets/spree/backend/components/_tabs.scss +4 -2
  82. data/app/assets/stylesheets/spree/backend/globals/mixins/_line_through.scss +2 -1
  83. data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +32 -7
  84. data/app/assets/stylesheets/spree/backend/plugins/_sortable.scss +3 -0
  85. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +4 -20
  86. data/app/assets/stylesheets/spree/backend/sections/_products.scss +0 -1
  87. data/app/assets/stylesheets/spree/backend/sections/_promotions.scss +15 -7
  88. data/app/assets/stylesheets/spree/backend/sections/_store_credits.scss +17 -6
  89. data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +8 -4
  90. data/app/assets/stylesheets/spree/backend/sections/_taxonomies.scss +5 -19
  91. data/app/assets/stylesheets/spree/backend/sections/_variants.scss +5 -0
  92. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +13 -17
  93. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +9 -3
  94. data/app/assets/stylesheets/spree/backend/shared/_tables.scss +3 -27
  95. data/app/assets/stylesheets/spree/backend/spree_admin.scss +2 -6
  96. data/app/controllers/spree/admin/base_controller.rb +2 -3
  97. data/app/controllers/spree/admin/cancellations_controller.rb +3 -3
  98. data/app/controllers/spree/admin/images_controller.rb +1 -1
  99. data/app/controllers/spree/admin/option_types_controller.rb +1 -2
  100. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
  101. data/app/controllers/spree/admin/orders_controller.rb +11 -11
  102. data/app/controllers/spree/admin/payment_methods_controller.rb +5 -6
  103. data/app/controllers/spree/admin/payments_controller.rb +5 -5
  104. data/app/controllers/spree/admin/products_controller.rb +4 -6
  105. data/app/controllers/spree/admin/promotion_actions_controller.rb +4 -4
  106. data/app/controllers/spree/admin/promotion_rules_controller.rb +3 -3
  107. data/app/controllers/spree/admin/promotions_controller.rb +5 -1
  108. data/app/controllers/spree/admin/reports_controller.rb +2 -2
  109. data/app/controllers/spree/admin/resource_controller.rb +17 -5
  110. data/app/controllers/spree/admin/return_authorizations_controller.rb +2 -2
  111. data/app/controllers/spree/admin/shipping_methods_controller.rb +1 -1
  112. data/app/controllers/spree/admin/stock_locations_controller.rb +1 -1
  113. data/app/controllers/spree/admin/store_credits_controller.rb +4 -4
  114. data/app/controllers/spree/admin/taxons_controller.rb +1 -1
  115. data/app/controllers/spree/admin/users_controller.rb +6 -6
  116. data/app/controllers/spree/admin/variants_controller.rb +0 -16
  117. data/app/helpers/spree/admin/adjustments_helper.rb +2 -2
  118. data/app/helpers/spree/admin/base_helper.rb +5 -11
  119. data/app/helpers/spree/admin/navigation_helper.rb +8 -8
  120. data/app/helpers/spree/admin/orders_helper.rb +2 -2
  121. data/app/helpers/spree/admin/products_helper.rb +0 -24
  122. data/app/helpers/spree/admin/store_credit_events_helper.rb +5 -5
  123. data/app/models/spree/backend_configuration.rb +1 -2
  124. data/app/views/spree/admin/adjustment_reasons/edit.html.erb +2 -2
  125. data/app/views/spree/admin/adjustment_reasons/index.html.erb +5 -5
  126. data/app/views/spree/admin/adjustment_reasons/new.html.erb +3 -3
  127. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +2 -2
  128. data/app/views/spree/admin/adjustments/_form.html.erb +1 -1
  129. data/app/views/spree/admin/adjustments/edit.html.erb +3 -3
  130. data/app/views/spree/admin/adjustments/index.html.erb +3 -3
  131. data/app/views/spree/admin/adjustments/new.html.erb +3 -3
  132. data/app/views/spree/admin/cancellations/index.html.erb +3 -3
  133. data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +2 -2
  134. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +7 -7
  135. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +2 -2
  136. data/app/views/spree/admin/customer_returns/edit.html.erb +7 -7
  137. data/app/views/spree/admin/customer_returns/index.html.erb +4 -4
  138. data/app/views/spree/admin/customer_returns/new.html.erb +11 -11
  139. data/app/views/spree/admin/images/_image_row.html.erb +3 -3
  140. data/app/views/spree/admin/images/_new.html.erb +12 -0
  141. data/app/views/spree/admin/images/edit.html.erb +4 -4
  142. data/app/views/spree/admin/images/index.html.erb +7 -5
  143. data/app/views/spree/admin/images/new.html.erb +1 -12
  144. data/app/views/spree/admin/log_entries/index.html.erb +2 -2
  145. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
  146. data/app/views/spree/admin/option_types/edit.html.erb +1 -1
  147. data/app/views/spree/admin/option_types/index.html.erb +2 -2
  148. data/app/views/spree/admin/option_types/new.html.erb +1 -1
  149. data/app/views/spree/admin/orders/_add_product.html.erb +2 -2
  150. data/app/views/spree/admin/orders/_carton.html.erb +8 -8
  151. data/app/views/spree/admin/orders/_carton_manifest.html.erb +1 -1
  152. data/app/views/spree/admin/orders/_order_details.html.erb +4 -4
  153. data/app/views/spree/admin/orders/_risk_analysis.html.erb +10 -10
  154. data/app/views/spree/admin/orders/_shipment.html.erb +11 -69
  155. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +3 -3
  156. data/app/views/spree/admin/orders/cart.html.erb +2 -2
  157. data/app/views/spree/admin/orders/confirm.html.erb +6 -6
  158. data/app/views/spree/admin/orders/confirm/_customer_details.html.erb +3 -3
  159. data/app/views/spree/admin/orders/confirm/_payments.html.erb +1 -1
  160. data/app/views/spree/admin/orders/confirm/_shipment.html.erb +2 -2
  161. data/app/views/spree/admin/orders/confirm/_shipment_manifest.html.erb +1 -1
  162. data/app/views/spree/admin/orders/confirm_advance.html.erb +3 -3
  163. data/app/views/spree/admin/orders/customer_details/_form.html.erb +19 -13
  164. data/app/views/spree/admin/orders/customer_details/edit.html.erb +2 -2
  165. data/app/views/spree/admin/orders/customer_details/show.html.erb +7 -7
  166. data/app/views/spree/admin/orders/edit.html.erb +2 -2
  167. data/app/views/spree/admin/orders/index.html.erb +30 -28
  168. data/app/views/spree/admin/payment_methods/_form.html.erb +24 -13
  169. data/app/views/spree/admin/payment_methods/edit.html.erb +2 -2
  170. data/app/views/spree/admin/payment_methods/index.html.erb +6 -6
  171. data/app/views/spree/admin/payment_methods/new.html.erb +3 -3
  172. data/app/views/spree/admin/payments/_capture_events.html.erb +2 -2
  173. data/app/views/spree/admin/payments/_list.html.erb +33 -13
  174. data/app/views/spree/admin/payments/credit.html.erb +1 -1
  175. data/app/views/spree/admin/payments/index.html.erb +3 -3
  176. data/app/views/spree/admin/payments/new.html.erb +4 -4
  177. data/app/views/spree/admin/payments/show.html.erb +2 -2
  178. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +22 -23
  179. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +1 -1
  180. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +1 -1
  181. data/app/views/spree/admin/prices/_form.html.erb +1 -2
  182. data/app/views/spree/admin/prices/edit.html.erb +1 -1
  183. data/app/views/spree/admin/prices/index.html.erb +2 -2
  184. data/app/views/spree/admin/prices/new.html.erb +1 -1
  185. data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +1 -1
  186. data/app/views/spree/admin/product_properties/index.html.erb +7 -14
  187. data/app/views/spree/admin/products/_form.html.erb +17 -14
  188. data/app/views/spree/admin/products/edit.html.erb +2 -2
  189. data/app/views/spree/admin/products/index.html.erb +6 -6
  190. data/app/views/spree/admin/products/new.html.erb +5 -59
  191. data/app/views/spree/admin/promotion_categories/index.html.erb +1 -1
  192. data/app/views/spree/admin/promotion_categories/new.html.erb +1 -1
  193. data/app/views/spree/admin/promotion_code_batches/index.html.erb +8 -8
  194. data/app/views/spree/admin/promotion_code_batches/new.html.erb +1 -1
  195. data/app/views/spree/admin/promotion_codes/index.html.erb +1 -1
  196. data/app/views/spree/admin/promotions/_actions.html.erb +6 -6
  197. data/app/views/spree/admin/promotions/_form.html.erb +13 -4
  198. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +1 -1
  199. data/app/views/spree/admin/promotions/_rules.html.erb +8 -8
  200. data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +4 -10
  201. data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +25 -29
  202. data/app/views/spree/admin/promotions/calculators/_default_fields.html.erb +5 -4
  203. data/app/views/spree/admin/promotions/calculators/distributed_amount/_fields.html.erb +6 -4
  204. data/app/views/spree/admin/promotions/calculators/flat_rate/_fields.html.erb +6 -4
  205. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +5 -5
  206. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +5 -5
  207. data/app/views/spree/admin/promotions/edit.html.erb +1 -1
  208. data/app/views/spree/admin/promotions/index.html.erb +7 -7
  209. data/app/views/spree/admin/promotions/new.html.erb +1 -1
  210. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +10 -12
  211. data/app/views/spree/admin/promotions/rules/_nth_order.html.erb +8 -10
  212. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +10 -14
  213. data/app/views/spree/admin/promotions/rules/_product.html.erb +12 -10
  214. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +9 -15
  215. data/app/views/spree/admin/promotions/rules/_user.html.erb +3 -5
  216. data/app/views/spree/admin/promotions/rules/_user_role.html.erb +3 -3
  217. data/app/views/spree/admin/properties/index.html.erb +5 -5
  218. data/app/views/spree/admin/properties/new.html.erb +1 -1
  219. data/app/views/spree/admin/refund_reasons/edit.html.erb +2 -2
  220. data/app/views/spree/admin/refund_reasons/index.html.erb +5 -5
  221. data/app/views/spree/admin/refund_reasons/new.html.erb +3 -3
  222. data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +1 -1
  223. data/app/views/spree/admin/refunds/edit.html.erb +3 -3
  224. data/app/views/spree/admin/refunds/new.html.erb +4 -4
  225. data/app/views/spree/admin/reimbursement_types/index.html.erb +2 -2
  226. data/app/views/spree/admin/reimbursements/edit.html.erb +9 -9
  227. data/app/views/spree/admin/reimbursements/index.html.erb +4 -4
  228. data/app/views/spree/admin/reimbursements/show.html.erb +4 -4
  229. data/app/views/spree/admin/reports/index.html.erb +3 -3
  230. data/app/views/spree/admin/reports/sales_total.html.erb +7 -7
  231. data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -3
  232. data/app/views/spree/admin/return_authorizations/edit.html.erb +5 -5
  233. data/app/views/spree/admin/return_authorizations/index.html.erb +4 -4
  234. data/app/views/spree/admin/return_authorizations/new.html.erb +3 -3
  235. data/app/views/spree/admin/return_reasons/edit.html.erb +2 -2
  236. data/app/views/spree/admin/return_reasons/index.html.erb +3 -3
  237. data/app/views/spree/admin/return_reasons/new.html.erb +3 -3
  238. data/app/views/spree/admin/shared/_address_form.html.erb +2 -0
  239. data/app/views/spree/admin/shared/_calculator_fields.html.erb +4 -3
  240. data/app/views/spree/admin/shared/_edit_resource_links.html.erb +2 -2
  241. data/app/views/spree/admin/shared/_head.html.erb +13 -5
  242. data/app/views/spree/admin/shared/_js_locale_data.html.erb +24 -32
  243. data/app/views/spree/admin/shared/_navigation_footer.html.erb +32 -2
  244. data/app/views/spree/admin/shared/_new_resource_links.html.erb +2 -2
  245. data/app/views/spree/admin/shared/_no_objects_found.html.erb +2 -2
  246. data/app/views/spree/admin/shared/_number_with_currency.html.erb +9 -5
  247. data/app/views/spree/admin/shared/_order_submenu.html.erb +6 -6
  248. data/app/views/spree/admin/shared/_order_summary.html.erb +5 -5
  249. data/app/views/spree/admin/shared/_order_tabs.html.erb +1 -1
  250. data/app/views/spree/admin/shared/_product_tabs.html.erb +3 -3
  251. data/app/views/spree/admin/shared/_rebuild_vat_prices_checkbox.html.erb +2 -2
  252. data/app/views/spree/admin/shared/_refunds.html.erb +2 -2
  253. data/app/views/spree/admin/shared/_report_order_criteria.html.erb +8 -6
  254. data/app/views/spree/admin/shared/_spinner.html.erb +1 -1
  255. data/app/views/spree/admin/shared/_variant_search.html.erb +3 -3
  256. data/app/views/spree/admin/shared/named_types/_form.html.erb +4 -2
  257. data/app/views/spree/admin/shared/named_types/_index.html.erb +4 -4
  258. data/app/views/spree/admin/shared/preference_fields/_boolean.html.erb +9 -8
  259. data/app/views/spree/admin/shipping_categories/edit.html.erb +3 -3
  260. data/app/views/spree/admin/shipping_categories/index.html.erb +5 -5
  261. data/app/views/spree/admin/shipping_categories/new.html.erb +3 -3
  262. data/app/views/spree/admin/shipping_methods/_form.html.erb +10 -8
  263. data/app/views/spree/admin/shipping_methods/edit.html.erb +2 -2
  264. data/app/views/spree/admin/shipping_methods/index.html.erb +5 -5
  265. data/app/views/spree/admin/shipping_methods/new.html.erb +3 -3
  266. data/app/views/spree/admin/stock_items/_stock_management.html.erb +7 -7
  267. data/app/views/spree/admin/stock_items/index.html.erb +4 -4
  268. data/app/views/spree/admin/stock_locations/_form.html.erb +105 -103
  269. data/app/views/spree/admin/stock_locations/edit.html.erb +4 -6
  270. data/app/views/spree/admin/stock_locations/index.html.erb +5 -11
  271. data/app/views/spree/admin/stock_locations/new.html.erb +5 -7
  272. data/app/views/spree/admin/stock_movements/index.html.erb +3 -3
  273. data/app/views/spree/admin/store_credits/_form.html.erb +3 -3
  274. data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +7 -8
  275. data/app/views/spree/admin/store_credits/edit_amount.html.erb +10 -6
  276. data/app/views/spree/admin/store_credits/edit_validity.html.erb +7 -5
  277. data/app/views/spree/admin/store_credits/index.html.erb +13 -13
  278. data/app/views/spree/admin/store_credits/new.html.erb +2 -2
  279. data/app/views/spree/admin/store_credits/show.html.erb +24 -32
  280. data/app/views/spree/admin/stores/_form.html.erb +1 -1
  281. data/app/views/spree/admin/stores/edit.html.erb +1 -1
  282. data/app/views/spree/admin/stores/index.html.erb +1 -1
  283. data/app/views/spree/admin/stores/new.html.erb +1 -1
  284. data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +5 -3
  285. data/app/views/spree/admin/style_guide/topics/messaging/_loading.html.erb +1 -1
  286. data/app/views/spree/admin/tax_categories/_form.html.erb +4 -2
  287. data/app/views/spree/admin/tax_categories/edit.html.erb +2 -2
  288. data/app/views/spree/admin/tax_categories/index.html.erb +5 -5
  289. data/app/views/spree/admin/tax_categories/new.html.erb +3 -3
  290. data/app/views/spree/admin/tax_rates/_form.html.erb +17 -11
  291. data/app/views/spree/admin/tax_rates/edit.html.erb +2 -2
  292. data/app/views/spree/admin/tax_rates/index.html.erb +8 -8
  293. data/app/views/spree/admin/tax_rates/new.html.erb +3 -3
  294. data/app/views/spree/admin/taxonomies/edit.erb +3 -3
  295. data/app/views/spree/admin/taxonomies/index.html.erb +2 -2
  296. data/app/views/spree/admin/taxonomies/new.html.erb +2 -2
  297. data/app/views/spree/admin/taxons/_form.html.erb +5 -1
  298. data/app/views/spree/admin/taxons/edit.html.erb +4 -4
  299. data/app/views/spree/admin/taxons/index.html.erb +7 -7
  300. data/app/views/spree/admin/users/_addresses_form.html.erb +2 -2
  301. data/app/views/spree/admin/users/_form.html.erb +10 -5
  302. data/app/views/spree/admin/users/_sidebar.html.erb +6 -6
  303. data/app/views/spree/admin/users/_tabs.html.erb +5 -5
  304. data/app/views/spree/admin/users/edit.html.erb +14 -15
  305. data/app/views/spree/admin/users/index.html.erb +14 -12
  306. data/app/views/spree/admin/users/items.html.erb +7 -7
  307. data/app/views/spree/admin/users/new.html.erb +1 -1
  308. data/app/views/spree/admin/users/orders.html.erb +7 -7
  309. data/app/views/spree/admin/variants/_form.html.erb +2 -2
  310. data/app/views/spree/admin/variants/_table.html.erb +2 -2
  311. data/app/views/spree/admin/variants/_table_filter.html.erb +5 -5
  312. data/app/views/spree/admin/variants/index.html.erb +8 -8
  313. data/app/views/spree/admin/variants/new.html.erb +1 -1
  314. data/app/views/spree/admin/zones/_form.html.erb +10 -6
  315. data/app/views/spree/admin/zones/edit.html.erb +1 -1
  316. data/app/views/spree/admin/zones/index.html.erb +3 -3
  317. data/app/views/spree/admin/zones/new.html.erb +2 -2
  318. data/app/views/spree/layouts/admin.html.erb +1 -1
  319. data/app/views/spree/layouts/admin_style_guide.html.erb +2 -2
  320. data/config/routes.rb +1 -11
  321. data/lib/spree/backend.rb +1 -2
  322. data/solidus_backend.gemspec +1 -3
  323. data/spec/controllers/spree/admin/cancellations_controller_spec.rb +3 -3
  324. data/spec/controllers/spree/admin/orders_controller_spec.rb +9 -9
  325. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +1 -1
  326. data/spec/controllers/spree/admin/prices_controller_spec.rb +2 -2
  327. data/spec/controllers/spree/admin/products_controller_spec.rb +2 -1
  328. data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +1 -1
  329. data/spec/controllers/spree/admin/promotions_controller_spec.rb +7 -0
  330. data/spec/controllers/spree/admin/reports_controller_spec.rb +1 -1
  331. data/spec/controllers/spree/admin/resource_controller_spec.rb +2 -2
  332. data/spec/controllers/spree/admin/search_controller_spec.rb +1 -1
  333. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +4 -4
  334. data/spec/controllers/spree/admin/users_controller_spec.rb +1 -1
  335. data/spec/controllers/spree/admin/variants_controller_spec.rb +13 -3
  336. data/spec/features/admin/configuration/payment_methods_spec.rb +55 -16
  337. data/spec/features/admin/configuration/shipping_methods_spec.rb +40 -0
  338. data/spec/features/admin/homepage_spec.rb +25 -8
  339. data/spec/features/admin/orders/adjustments_spec.rb +2 -2
  340. data/spec/features/admin/orders/customer_details_spec.rb +24 -9
  341. data/spec/features/admin/orders/listing_spec.rb +6 -9
  342. data/spec/features/admin/orders/log_entries_spec.rb +0 -1
  343. data/spec/features/admin/orders/new_order_spec.rb +8 -2
  344. data/spec/features/admin/orders/order_details_spec.rb +116 -74
  345. data/spec/features/admin/orders/payments_spec.rb +7 -10
  346. data/spec/features/admin/orders/shipments_spec.rb +9 -5
  347. data/spec/features/admin/payments/store_credits_spec.rb +2 -2
  348. data/spec/features/admin/products/edit/images_spec.rb +0 -79
  349. data/spec/features/admin/products/products_spec.rb +3 -6
  350. data/spec/features/admin/products/variant_spec.rb +17 -0
  351. data/spec/features/admin/promotion_adjustments_spec.rb +105 -52
  352. data/spec/features/admin/promotions/option_value_rule_spec.rb +6 -3
  353. data/spec/features/admin/promotions/tiered_calculator_spec.rb +4 -2
  354. data/spec/features/admin/users_spec.rb +14 -11
  355. data/spec/javascripts/translation_spec.js +8 -0
  356. data/spec/javascripts/views/number_with_currency_spec.js +6 -6
  357. data/spec/spec_helper.rb +28 -37
  358. data/spec/teaspoon_env.rb +61 -14
  359. data/spec/views/spree/admin/shared/navigation_footer_spec.rb +41 -0
  360. data/vendor/assets/javascripts/solidus_admin/Sortable.js +1540 -0
  361. data/vendor/assets/javascripts/solidus_admin/bootstrap.js +1878 -1816
  362. data/vendor/assets/javascripts/solidus_admin/flatpickr/flatpickr.js +2218 -0
  363. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_es-MX.js +19 -0
  364. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_alert.scss +7 -4
  365. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_badge.scss +1 -2
  366. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_breadcrumb.scss +4 -4
  367. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_button-group.scss +32 -64
  368. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_buttons.scss +38 -36
  369. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_card.scss +78 -31
  370. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_carousel.scss +6 -0
  371. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_close.scss +8 -3
  372. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_code.scss +4 -12
  373. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_custom-forms.scss +132 -89
  374. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_dropdown.scss +46 -43
  375. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_forms.scss +47 -104
  376. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_functions.scss +8 -12
  377. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_grid.scss +0 -1
  378. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_images.scss +0 -1
  379. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_input-group.scss +103 -120
  380. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_list-group.scss +2 -1
  381. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_mixins.scss +1 -0
  382. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_modal.scss +36 -10
  383. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_nav.scss +7 -7
  384. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_navbar.scss +35 -8
  385. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pagination.scss +33 -22
  386. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_popover.scss +106 -118
  387. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_print.scss +19 -6
  388. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_progress.scss +5 -4
  389. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_reboot.scss +39 -38
  390. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_root.scss +19 -0
  391. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tables.scss +40 -28
  392. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tooltip.scss +65 -57
  393. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_transitions.scss +2 -0
  394. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_type.scss +4 -2
  395. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +546 -489
  396. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-grid.scss +8 -13
  397. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-reboot.scss +7 -4
  398. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap.scss +5 -4
  399. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_alert.scss +1 -1
  400. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_background-variant.scss +10 -1
  401. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_badge.scss +2 -2
  402. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_breakpoints.scss +25 -7
  403. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_buttons.scss +50 -24
  404. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_caret.scss +65 -0
  405. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_float.scss +2 -0
  406. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_forms.scss +72 -16
  407. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_gradients.scss +8 -0
  408. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid-framework.scss +15 -4
  409. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid.scss +10 -5
  410. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_hover.scss +25 -46
  411. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_image.scss +3 -3
  412. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_list-group.scss +10 -15
  413. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_navbar-align.scss +2 -1
  414. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-text.scss +1 -2
  415. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_screen-reader.scss +3 -3
  416. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-emphasis.scss +2 -0
  417. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-hide.scss +1 -0
  418. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_visibility.scss +2 -0
  419. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_align.scss +2 -0
  420. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_background.scss +16 -3
  421. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_borders.scss +10 -3
  422. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_display.scss +13 -28
  423. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_flex.scss +2 -0
  424. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_position.scss +12 -1
  425. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_sizing.scss +2 -0
  426. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_spacing.scss +24 -14
  427. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_text.scss +7 -4
  428. data/vendor/assets/stylesheets/solidus_admin/flatpickr/flatpickr.css +857 -0
  429. metadata +57 -127
  430. data/Gemfile +0 -9
  431. data/app/assets/javascripts/spree/backend/address_states.js +0 -35
  432. data/app/assets/javascripts/spree/backend/adjustments.js.coffee +0 -17
  433. data/app/assets/javascripts/spree/backend/backbone-overrides.js.coffee +0 -23
  434. data/app/assets/javascripts/spree/backend/components/editable_table.js.coffee +0 -3
  435. data/app/assets/javascripts/spree/backend/components/tabs.coffee +0 -79
  436. data/app/assets/javascripts/spree/backend/flash.coffee +0 -17
  437. data/app/assets/javascripts/spree/backend/gateway.js.coffee +0 -21
  438. data/app/assets/javascripts/spree/backend/images/index.js.coffee +0 -13
  439. data/app/assets/javascripts/spree/backend/navigation.coffee +0 -10
  440. data/app/assets/javascripts/spree/backend/number_field_updater.coffee +0 -41
  441. data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +0 -33
  442. data/app/assets/javascripts/spree/backend/progress.coffee +0 -7
  443. data/app/assets/javascripts/spree/backend/promotions.js.coffee +0 -99
  444. data/app/assets/javascripts/spree/backend/select_payments.js.coffee +0 -0
  445. data/app/assets/javascripts/spree/backend/states.coffee +0 -22
  446. data/app/assets/javascripts/spree/backend/stock_management/index_add_forms.coffee +0 -61
  447. data/app/assets/javascripts/spree/backend/stock_management/index_update_forms.coffee +0 -66
  448. data/app/assets/javascripts/spree/backend/stock_management/stock_item.coffee +0 -4
  449. data/app/assets/javascripts/spree/backend/stock_transfers/count_update_forms.coffee +0 -44
  450. data/app/assets/javascripts/spree/backend/stock_transfers/edit.coffee +0 -6
  451. data/app/assets/javascripts/spree/backend/stock_transfers/receive.coffee +0 -5
  452. data/app/assets/javascripts/spree/backend/stock_transfers/received_counter.coffee +0 -9
  453. data/app/assets/javascripts/spree/backend/stock_transfers/stock_transfer.coffee +0 -17
  454. data/app/assets/javascripts/spree/backend/stock_transfers/transfer_item.coffee +0 -48
  455. data/app/assets/javascripts/spree/backend/stock_transfers/transfer_item_deleting.coffee +0 -22
  456. data/app/assets/javascripts/spree/backend/stock_transfers/variant_form.coffee +0 -128
  457. data/app/assets/javascripts/spree/backend/store_credits.js.coffee +0 -40
  458. data/app/assets/javascripts/spree/backend/style_guide.coffee +0 -2
  459. data/app/assets/javascripts/spree/backend/taxonomy.js.coffee +0 -108
  460. data/app/assets/javascripts/spree/backend/taxons.js.coffee +0 -73
  461. data/app/assets/javascripts/spree/backend/templates/promotions/rules/option_values_select.hbs +0 -1
  462. data/app/assets/javascripts/spree/backend/templates/stock_transfers/transfer_item.hbs +0 -48
  463. data/app/assets/javascripts/spree/backend/variant_autocomplete.js.coffee +0 -39
  464. data/app/assets/javascripts/spree/backend/views/tables/editable_table.js.coffee +0 -14
  465. data/app/assets/javascripts/spree/backend/views/tables/editable_table_row.js.coffee +0 -45
  466. data/app/assets/stylesheets/spree/backend/components/_date-picker.scss +0 -154
  467. data/app/assets/stylesheets/spree/backend/components/_number_field_update.scss +0 -13
  468. data/app/assets/stylesheets/spree/backend/sections/_stock_transfers.scss +0 -7
  469. data/app/assets/stylesheets/spree/backend/sections/_transfer_items.scss +0 -49
  470. data/app/controllers/spree/admin/stock_transfers_controller.rb +0 -151
  471. data/app/helpers/spree/admin/general_settings_helper.rb +0 -13
  472. data/app/helpers/spree/admin/inventory_settings_helper.rb +0 -9
  473. data/app/helpers/spree/admin/stock_transfers_helper.rb +0 -35
  474. data/app/helpers/spree/admin/tables_helper.rb +0 -13
  475. data/app/helpers/spree/admin/taxons_helper.rb +0 -9
  476. data/app/views/spree/admin/products/new.js.erb +0 -4
  477. data/app/views/spree/admin/promotions/rules/_landing_page.html.erb +0 -7
  478. data/app/views/spree/admin/shared/_number_field_update_actions.html.erb +0 -5
  479. data/app/views/spree/admin/shared/_number_field_update_cell.html.erb +0 -4
  480. data/app/views/spree/admin/shared/_stock_sub_menu.html.erb +0 -8
  481. data/app/views/spree/admin/stock_transfers/_location.html.erb +0 -7
  482. data/app/views/spree/admin/stock_transfers/_transfer_item_actions.html.erb +0 -9
  483. data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +0 -72
  484. data/app/views/spree/admin/stock_transfers/edit.html.erb +0 -52
  485. data/app/views/spree/admin/stock_transfers/index.html.erb +0 -123
  486. data/app/views/spree/admin/stock_transfers/new.html.erb +0 -26
  487. data/app/views/spree/admin/stock_transfers/receive.html.erb +0 -38
  488. data/app/views/spree/admin/stock_transfers/show.html.erb +0 -50
  489. data/app/views/spree/admin/stock_transfers/tracking_info.html.erb +0 -46
  490. data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +0 -365
  491. data/spec/features/admin/stock_transfer_spec.rb +0 -115
  492. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  493. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  494. data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
  495. data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  496. data/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  497. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  498. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  499. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  500. data/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png +0 -0
  501. data/vendor/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  502. data/vendor/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
  503. data/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png +0 -0
  504. data/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  505. data/vendor/assets/stylesheets/jquery-ui.datepicker.css.erb +0 -357
@@ -13,8 +13,8 @@
13
13
 
14
14
  <div data-hook="admin_product_form_slug">
15
15
  <%= f.field_container :slug do %>
16
- <%= f.label :slug, class: 'required' %>
17
- <%= f.text_field :slug, class: 'fullwidth title', required: true %>
16
+ <%= f.label :slug, class: ('required' if !f.object.new_record?) %>
17
+ <%= f.text_field :slug, class: 'fullwidth title', required: !f.object.new_record?, disabled: f.object.new_record? %>
18
18
  <%= f.error_message_on :slug %>
19
19
  <% end %>
20
20
  </div>
@@ -31,8 +31,10 @@
31
31
  <div class="right col-3" data-hook="admin_product_form_right">
32
32
  <div data-hook="admin_product_form_price">
33
33
  <%= f.field_container :price do %>
34
- <%= f.label :price, class: 'required' %>
35
- <%= render "spree/admin/shared/number_with_currency", f: f, amount_attr: :price,
34
+ <%= f.label :price, class: Spree::Config.require_master_price ? 'required' : '' %>
35
+ <%= render "spree/admin/shared/number_with_currency", f: f,
36
+ amount_attr: :price,
37
+ required: Spree::Config.require_master_price,
36
38
  currency: Spree::Config.default_pricing_options.currency %>
37
39
  <%= f.error_message_on :price %>
38
40
  <% end %>
@@ -69,30 +71,31 @@
69
71
 
70
72
  <div data-hook="admin_product_form_promotionable">
71
73
  <%= f.field_container :promotionable do %>
72
- <%= f.label :promotionable do %>
73
- <%= f.check_box :promotionable %> <%= Spree::Product.human_attribute_name(:promotionable) %>
74
- <% end %>
74
+ <label>
75
+ <%= f.check_box :promotionable %>
76
+ <%= Spree::Product.human_attribute_name(:promotionable) %>
77
+ </label>
75
78
  <%= f.field_hint :promotionable %>
76
79
  <% end %>
77
80
  </div>
78
81
 
79
82
  <% if @product.has_variants? %>
80
83
  <div data-hook="admin_product_form_multiple_variants">
81
- <%= f.label :skus, Spree.t(:skus) %>
84
+ <%= f.label :skus, t('spree.skus') %>
82
85
  <span class="info">
83
- <%= Spree.t(:info_product_has_multiple_skus, count: @product.variants.count) %>
86
+ <%= t('spree.info_product_has_multiple_skus', count: @product.variants.count) %>
84
87
  <ul class="text_list">
85
88
  <% @product.variants.first(5).each do |variant| %>
86
89
  <li><%= link_to variant.sku, spree.edit_admin_product_variant_path(@product, variant) %></li>
87
90
  <% end %>
88
91
  </ul>
89
92
  <% if @product.variants.count > 5 %>
90
- <%= Spree.t(:info_number_of_skus_not_shown, count: @product.variants.count - 5) %>
93
+ <%= t('spree.info_number_of_skus_not_shown', count: @product.variants.count - 5) %>
91
94
  <% end %>
92
95
  </span>
93
96
  <div class="info-actions">
94
97
  <% if can?(:admin, Spree::Variant) %>
95
- <%= link_to_with_icon 'th-large', Spree.t(:manage_variants), admin_product_variants_url(@product) %>
98
+ <%= link_to_with_icon 'th-large', t('spree.manage_variants'), admin_product_variants_url(@product) %>
96
99
  <% end %>
97
100
  </div>
98
101
  </div>
@@ -119,9 +122,9 @@
119
122
 
120
123
  <div data-hook="admin_product_form_shipping_categories">
121
124
  <%= f.field_container :shipping_categories do %>
122
- <%= f.label :shipping_category_id, Spree::ShippingCategory.model_name.human %>
125
+ <%= f.label :shipping_category_id, Spree::ShippingCategory.model_name.human, class: 'required' %>
123
126
  <%= f.field_hint :shipping_category %>
124
- <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'custom-select' }) %>
127
+ <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { include_blank: t('spree.match_choices.none') }, { class: 'custom-select' , required: true}) %>
125
128
  <%= f.error_message_on :shipping_category %>
126
129
  <% end %>
127
130
  </div>
@@ -130,7 +133,7 @@
130
133
  <%= f.field_container :tax_category do %>
131
134
  <%= f.label :tax_category_id, Spree::TaxCategory.model_name.human %>
132
135
  <%= f.field_hint :tax_category %>
133
- <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'custom-select' }) %>
136
+ <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { include_blank: t('spree.match_choices.none') }, { class: 'custom-select' }) %>
134
137
  <%= f.error_message_on :tax_category %>
135
138
  <% end %>
136
139
  </div>
@@ -1,7 +1,7 @@
1
1
  <% content_for :page_actions do %>
2
2
  <% if can?(:create, Spree::Product) %>
3
3
  <li id="new_product_link">
4
- <%= button_link_to Spree.t(:new_product), new_object_url, { id: 'admin_new_product' } %>
4
+ <%= button_link_to t('spree.new_product'), new_object_url, { id: 'admin_new_product' } %>
5
5
  </li>
6
6
  <% end %>
7
7
  <% end %>
@@ -9,7 +9,7 @@
9
9
  <%= render partial: 'spree/admin/shared/product_tabs', locals: { current: 'Product Details' } %>
10
10
  <%= render partial: 'spree/shared/error_messages', locals: { target: @product } %>
11
11
 
12
- <% admin_breadcrumb(Spree.t(:product_details)) %>
12
+ <% admin_breadcrumb(t('spree.product_details')) %>
13
13
 
14
14
  <%= form_for [:admin, @product], html: { multipart: true } do |f| %>
15
15
  <fieldset class="no-border-top">
@@ -3,13 +3,13 @@
3
3
  <% admin_breadcrumb(plural_resource_name(Spree::Product)) %>
4
4
 
5
5
  <% content_for :page_actions do %>
6
- <li id="new_product_link">
7
- <%= button_link_to Spree.t(:new_product), new_object_url, { remote: true, id: 'admin_new_product' } %>
6
+ <li>
7
+ <%= button_link_to t('spree.new_product'), new_object_url %>
8
8
  </li>
9
9
  <% end if can?(:create, Spree::Product) %>
10
10
 
11
11
  <% content_for :table_filter_title do %>
12
- <%= Spree.t(:search) %>
12
+ <%= t('spree.search') %>
13
13
  <% end %>
14
14
 
15
15
  <% content_for :table_filter do %>
@@ -35,14 +35,14 @@
35
35
  <div class="field checkbox">
36
36
  <label>
37
37
  <%= f.check_box :with_deleted, { checked: params[:q][:with_deleted] == 'true' }, 'true', 'false' %>
38
- <%= Spree.t(:show_deleted) %>
38
+ <%= t('spree.show_deleted') %>
39
39
  </label>
40
40
  </div>
41
41
  </div>
42
42
  </div>
43
43
 
44
44
  <div class="actions filter-actions" data-hook="admin_products_index_search_buttons">
45
- <%= button Spree.t(:search) %>
45
+ <%= button t('spree.search') %>
46
46
  </div>
47
47
  <% end %>
48
48
  </div>
@@ -89,7 +89,7 @@
89
89
  </tbody>
90
90
  </table>
91
91
  <% else %>
92
- <div class="col-9 no-objects-found">
92
+ <div class="no-objects-found">
93
93
  <%= render 'spree/admin/shared/no_objects_found',
94
94
  resource: Spree::Product,
95
95
  new_resource_url: new_object_url %>
@@ -1,68 +1,14 @@
1
+ <% admin_breadcrumb link_to(plural_resource_name(Spree::Product), spree.admin_products_path) %>
2
+ <% admin_breadcrumb t('spree.new_product') %>
3
+
1
4
  <%= render partial: 'spree/shared/error_messages', locals: { target: @product } %>
2
5
 
3
6
  <%= form_for [:admin, @product], method: :post, url: admin_products_path, html: { multipart: true } do |f| %>
4
-
5
7
  <fieldset data-hook="new_product">
8
+ <legend align="center"><%= t('spree.new_product') %></legend>
6
9
 
7
- <legend align="center"><%= Spree.t(:new_product) %></legend>
8
-
9
- <%= f.field_container :name do %>
10
- <%= f.label :name, class: 'required' %><br />
11
- <%= f.text_field :name, class: 'fullwidth title', required: true %>
12
- <%= f.error_message_on :name %>
13
- <% end %>
14
-
15
- <div data-hook="new_product_attrs" class="row">
16
- <% unless @product.has_variants? %>
17
- <div data-hook="new_product_sku" class="col-3">
18
- <%= f.field_container :sku do %>
19
- <%= f.label :sku, Spree.t(:sku) %><br />
20
- <%= f.text_field :sku, size: 16, class: 'fullwidth' %>
21
- <%= f.error_message_on :sku %>
22
- <% end %>
23
- </div>
24
- <% end %>
25
-
26
- <div data-hook="new_product_price" class="col-3">
27
- <%= f.field_container :price do %>
28
- <%= f.label :price, class: 'required' %><br />
29
- <%= f.text_field :price, value: number_to_currency(@product.price, unit: ''), class: 'fullwidth', required: true %>
30
- <%= f.error_message_on :price %>
31
- <% end %>
32
- </div>
33
-
34
- <div data-hook="new_product_available_on" class="col-3">
35
- <%= f.field_container :available_on do %>
36
- <%= f.label :available_on %>
37
- <%= f.error_message_on :available_on %>
38
- <%= f.text_field :available_on, class: 'datepicker fullwidth' %>
39
- <% end %>
40
- </div>
41
-
42
- </div>
43
-
44
- <div class='row'>
45
- <div data-hook="new_product_shipping_category" class="col-3">
46
- <%= f.field_container :shipping_category do %>
47
- <%= f.label :shipping_category_id, Spree::ShippingCategory.
48
- model_name.human, class: 'required' %>
49
- <%= f.field_hint :shipping_category %><br />
50
- <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'custom-select fullwidth' }) %>
51
- <%= f.error_message_on :shipping_category_id %>
52
- <% end %>
53
- </div>
54
-
55
- <div data-hook="new_product_tax_category" class="col-3">
56
- <%= f.field_container :tax_category do %>
57
- <%= f.label :tax_category_id, Spree::TaxCategory.model_name.human %>
58
- <%= f.field_hint :tax_category %>
59
- <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'custom-select fullwidth' }) %>
60
- <%= f.error_message_on :tax_category %>
61
- <% end %>
62
- </div>
63
- </div>
10
+ <%= render partial: 'form', locals: { f: f } %>
64
11
 
65
12
  <%= render partial: 'spree/admin/shared/new_resource_links' %>
66
-
67
13
  </fieldset>
68
14
  <% end %>
@@ -5,7 +5,7 @@
5
5
  <% content_for :page_actions do %>
6
6
  <% if can?(:create, Spree::PromotionCategory) %>
7
7
  <li>
8
- <%= button_link_to Spree.t(:new_promotion_category), spree.new_admin_promotion_category_path %>
8
+ <%= button_link_to t('spree.new_promotion_category'), spree.new_admin_promotion_category_path %>
9
9
  </li>
10
10
  <% end %>
11
11
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <% admin_breadcrumb(link_to plural_resource_name(Spree::Promotion), spree.admin_promotions_path) %>
2
2
  <% admin_breadcrumb(link_to plural_resource_name(Spree::PromotionCategory), spree.admin_promotion_categories_path) %>
3
- <% admin_breadcrumb(Spree.t(:new_promotion_category)) %>
3
+ <% admin_breadcrumb(t('spree.new_promotion_category')) %>
4
4
 
5
5
 
6
6
  <%= form_for :promotion_category, url: collection_url do |f| %>
@@ -5,7 +5,7 @@
5
5
  <% content_for :page_actions do %>
6
6
  <li>
7
7
  <% if can?(:create, Spree::PromotionCodeBatch) %>
8
- <%= button_link_to Spree.t(:new_promotion_code_batch), new_object_url %>
8
+ <%= button_link_to t('spree.new_promotion_code_batch'), new_object_url %>
9
9
  <% end %>
10
10
  </li>
11
11
  <% end %>
@@ -27,25 +27,25 @@
27
27
  <td><%= promotion_code_batch.number_of_codes %></td>
28
28
  <td>
29
29
  <% if promotion_code_batch.error.present? %>
30
- <%= Spree.t(
31
- "promotion_code_batches.errored",
30
+ <%= t(
31
+ "spree.promotion_code_batches.errored",
32
32
  error: promotion_code_batch.error
33
33
  ) %>
34
34
  <% elsif promotion_code_batch.finished? %>
35
- <%= Spree.t(
36
- "promotion_code_batches.finished",
35
+ <%= t(
36
+ "spree.promotion_code_batches.finished",
37
37
  number_of_codes: promotion_code_batch.number_of_codes
38
38
  ) %>
39
39
  <%= link_to(
40
- Spree.t(:download_promotion_code_list),
40
+ t('spree.download_promotion_code_list'),
41
41
  admin_promotion_promotion_code_batch_download_path(
42
42
  promotion_code_batch_id: promotion_code_batch.id,
43
43
  format: :csv
44
44
  )
45
45
  ) %>
46
46
  <% else %>
47
- <%= Spree.t(
48
- "promotion_code_batches.processing",
47
+ <%= t(
48
+ "spree.promotion_code_batches.processing",
49
49
  number_of_codes: promotion_code_batch.number_of_codes,
50
50
  number_of_codes_processed: promotion_code_batch.promotion_codes.count
51
51
  ) %>
@@ -19,5 +19,5 @@
19
19
  <%= f.label :email %>
20
20
  <%= f.text_field :email, class: "fullwidth", value: spree_current_user.email %>
21
21
  <% end %>
22
- <%= button Spree.t('actions.create') %>
22
+ <%= button t('spree.actions.create') %>
23
23
  <% end %>
@@ -4,7 +4,7 @@
4
4
 
5
5
  <% content_for :page_actions do %>
6
6
  <li>
7
- <%= button_link_to Spree.t(:download_promotion_code_list), admin_promotion_promotion_codes_path(promotion_id: @promotion.id, format: :csv) %>
7
+ <%= button_link_to t('spree.download_promotion_code_list'), admin_promotion_promotion_codes_path(promotion_id: @promotion.id, format: :csv) %>
8
8
  </li>
9
9
  <% end %>
10
10
 
@@ -3,14 +3,14 @@
3
3
  <%= form_tag spree.admin_promotion_promotion_actions_path(@promotion), remote: true, id: 'new_promotion_action_form' do %>
4
4
  <% options = options_for_select( Rails.application.config.spree.promotions.actions.map {|action| [ action.model_name.human, action.name] } ) %>
5
5
  <fieldset>
6
- <legend align="center"><%= plural_resource_name(Spree::PromotionAction) %></legend>
6
+ <legend align="center"><%= t('spree.promotion_actions') %></legend>
7
7
  <% if can?(:update, @promotion) %>
8
8
  <div class="field">
9
- <%= label_tag :action_type, Spree.t(:add_action_of_type)%>
10
- <%= select_tag 'action_type', options, class: 'custom-select fullwidth' %>
9
+ <%= label_tag :action_type, t('spree.add_action_of_type')%>
10
+ <%= select_tag 'action_type', options, include_blank: t(:choose_promotion_action, scope: 'spree'), class: 'custom-select fullwidth' %>
11
11
  </div>
12
12
  <div class="filter-actions actions">
13
- <%= button Spree.t('actions.add') %>
13
+ <%= button t('spree.actions.add') %>
14
14
  </div>
15
15
  <% end %>
16
16
  </fieldset>
@@ -22,13 +22,13 @@
22
22
  <%= render partial: 'promotion_action', collection: @promotion.actions %>
23
23
  <% else %>
24
24
  <div class="no-objects-found">
25
- <%= Spree.t(:no_actions_added) %>
25
+ <%= t('spree.no_actions_added') %>
26
26
  </div>
27
27
  <% end %>
28
28
  </div>
29
29
  <% if can?(:update, @promotion) %>
30
30
  <div class="filter-actions actions promotion-update">
31
- <%= button Spree.t('actions.update') %>
31
+ <%= button t('spree.actions.update') %>
32
32
  </div>
33
33
  <% end %>
34
34
  <% end %>
@@ -12,8 +12,10 @@
12
12
  <% end %>
13
13
 
14
14
  <%= f.field_container :advertise do %>
15
- <%= f.check_box :advertise %>
16
- <%= f.label :advertise %>
15
+ <label>
16
+ <%= f.check_box :advertise %>
17
+ <%= Spree::Promotion.human_attribute_name :advertise %>
18
+ </label>
17
19
  <% end %>
18
20
  </div>
19
21
 
@@ -25,7 +27,7 @@
25
27
 
26
28
  <%= f.field_container :category do %>
27
29
  <%= f.label :promotion_category_id, Spree::PromotionCategory.model_name.human %><br />
28
- <%= f.collection_select(:promotion_category_id, @promotion_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'custom-select fullwidth' }) %>
30
+ <%= f.collection_select(:promotion_category_id, @promotion_categories, :id, :name, { include_blank: t('spree.match_choices.none') }, { class: 'custom-select fullwidth' }) %>
29
31
  <% end %>
30
32
  </div>
31
33
  </div>
@@ -36,10 +38,17 @@
36
38
  <%= f.label :usage_limit %><br />
37
39
  <%= f.number_field :usage_limit, min: 0, class: 'fullwidth' %><br>
38
40
  <span class="info">
39
- <%= Spree.t(:current_promotion_usage, count: @promotion.usage_count) %>
41
+ <%= t('spree.current_promotion_usage', count: @promotion.usage_count) %>
40
42
  </span>
41
43
  <% end %>
42
44
 
45
+ <% if @promotion.persisted? %>
46
+ <%= f.field_container :per_code_usage_limit do %>
47
+ <%= f.label :per_code_usage_limit %><br />
48
+ <%= f.number_field :per_code_usage_limit, min: 0, class: 'fullwidth' %><br>
49
+ <% end %>
50
+ <% end %>
51
+
43
52
  <div id="starts_at_field" class="field">
44
53
  <%= f.label :starts_at %>
45
54
  <%= f.field_hint :starts_at %>
@@ -1,6 +1,6 @@
1
1
  <div class="promotion_rule promotion-block col-12" id="<%= dom_id promotion_rule %>">
2
2
  <% type_name = promotion_rule.model_name.element %>
3
- <h6 class='promotion-title <%= 'no-text' if type_name == 'user_logged_in' || type_name == 'first_order'%>'><%= promotion_rule.class.human_attribute_name(:description) %></h6>
3
+ <h6 class='promotion-title <%= 'no-text' if type_name.in? %w(user_logged_in first_order one_use_per_user) %>'><%= promotion_rule.class.human_attribute_name(:description) %></h6>
4
4
  <% if can?(:destroy, promotion_rule) %>
5
5
  <%= link_to_with_icon 'trash', '', spree.admin_promotion_promotion_rule_path(@promotion, promotion_rule), remote: true, method: :delete, class: 'delete' %>
6
6
  <% end %>
@@ -2,15 +2,15 @@
2
2
 
3
3
  <%= form_tag spree.admin_promotion_promotion_rules_path(@promotion), remote: true, id: 'new_product_rule_form' do %>
4
4
  <fieldset>
5
- <legend align="center"><%= Spree.t(:rules) %></legend>
5
+ <legend align="center"><%= t('spree.rules') %></legend>
6
6
 
7
7
  <% if can?(:update, @promotion) %>
8
8
  <div class="field">
9
- <%= label_tag :promotion_rule_type, Spree.t(:add_rule_of_type) %>
10
- <%= select_tag('promotion_rule[type]', options_for_promotion_rule_types(@promotion), class: 'custom-select fullwidth') %>
9
+ <%= label_tag :promotion_rule_type, t('spree.add_rule_of_type') %>
10
+ <%= select_tag('promotion_rule[type]', options_for_promotion_rule_types(@promotion), include_blank: t(:choose_promotion_rule, scope: 'spree'), class: 'custom-select fullwidth') %>
11
11
  </div>
12
12
  <div class="filter-actions actions">
13
- <%= button Spree.t('actions.add') %>
13
+ <%= button t('spree.actions.add') %>
14
14
  </div>
15
15
  <% end %>
16
16
  </fieldset>
@@ -19,10 +19,10 @@
19
19
 
20
20
  <%= form_for @promotion, url: object_url, method: :put do |f| %>
21
21
  <fieldset class="no-border-top">
22
- <div id="promotion-pilicy-select" class="align-center row">
22
+ <div id="promotion-policy-select" class="align-center row">
23
23
  <% Spree::Promotion::MATCH_POLICIES.each do |policy| %>
24
24
  <div class="col-6">
25
- <label><%= f.radio_button :match_policy, policy %> <%= Spree.t "promotion_form.match_policies.#{policy}" %></label>
25
+ <label><%= f.radio_button :match_policy, policy %> <%= t "spree.promotion_form.match_policies.#{policy}" %></label>
26
26
  </div>
27
27
  <% end %>
28
28
  </div>
@@ -36,14 +36,14 @@
36
36
  </div>
37
37
  <% else %>
38
38
  <div class="no-objects-found">
39
- <%= Spree.t(:no_rules_added) %>
39
+ <%= t('spree.no_rules_added') %>
40
40
  </div>
41
41
  <% end %>
42
42
  </div>
43
43
 
44
44
  <% if can?(:update, @promotion) %>
45
45
  <div class="promotion-update filter-actions actions">
46
- <%= button Spree.t('actions.update') %>
46
+ <%= button t('spree.actions.update') %>
47
47
  </div>
48
48
  <% end %>
49
49
  </fieldset>
@@ -1,13 +1,7 @@
1
- <div class="col-12">
2
- <div class="row">
3
- <div class="col-12">
4
- <div class="field">
5
- <% field_name = "#{param_prefix}[preferred_group_size]" %>
6
- <%= label_tag field_name, Spree.t(:group_size) %>
7
- <%= number_field_tag field_name, promotion_action.preferred_group_size, class: "fullwidth", min: 1 %>
8
- </div>
9
- </div>
10
- </div>
1
+ <div class="field">
2
+ <% field_name = "#{param_prefix}[preferred_group_size]" %>
3
+ <%= label_tag field_name, t('spree.group_size') %>
4
+ <%= number_field_tag field_name, promotion_action.preferred_group_size, class: "fullwidth", min: 1 %>
11
5
  </div>
12
6
 
13
7
  <%= render "spree/admin/promotions/actions/create_item_adjustments",