solidus_backend 1.2.3 → 1.3.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/Rakefile +1 -1
  4. data/app/assets/javascripts/spree/backend.js +5 -4
  5. data/app/assets/javascripts/spree/backend/adjustments.js.coffee +1 -1
  6. data/app/assets/javascripts/spree/backend/{admin.js.erb → admin.js} +13 -44
  7. data/app/assets/javascripts/spree/backend/checkouts/edit.js +36 -25
  8. data/app/assets/javascripts/spree/backend/components/tabs.coffee +79 -0
  9. data/app/assets/javascripts/spree/backend/components/tooltips.js +31 -0
  10. data/app/assets/javascripts/spree/backend/images/index.js.coffee +0 -3
  11. data/app/assets/javascripts/spree/backend/{line_items_on_order_edit.js.erb → line_items_on_order_edit.js} +3 -10
  12. data/app/assets/javascripts/spree/backend/{option_type_autocomplete.js.erb → option_type_autocomplete.js} +0 -0
  13. data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +32 -147
  14. data/app/assets/javascripts/spree/backend/routes.js +1 -0
  15. data/app/assets/javascripts/spree/backend/shipments.js +314 -0
  16. data/app/assets/javascripts/spree/backend/{spree-select2.js.erb → spree-select2.js} +2 -11
  17. data/app/assets/javascripts/spree/backend/stock_management/index_add_forms.coffee +52 -73
  18. data/app/assets/javascripts/spree/backend/stock_management/index_update_forms.coffee +54 -52
  19. data/app/assets/javascripts/spree/backend/stock_management/stock_item.coffee +4 -37
  20. data/app/assets/javascripts/spree/backend/stock_movement.js.coffee +1 -1
  21. data/app/assets/javascripts/spree/backend/stock_transfers/edit.coffee +0 -10
  22. data/app/assets/javascripts/spree/backend/stock_transfers/receive.coffee +0 -10
  23. data/app/assets/javascripts/spree/backend/{taxon_autocomplete.js.erb → taxon_autocomplete.js} +10 -6
  24. data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +25 -19
  25. data/app/assets/javascripts/spree/backend/user_picker.js +8 -5
  26. data/app/assets/javascripts/spree/backend/{variant_autocomplete.js.coffee.erb → variant_autocomplete.js.coffee} +2 -4
  27. data/app/assets/stylesheets/spree/backend.css +0 -3
  28. data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +666 -0
  29. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +17 -0
  30. data/app/assets/stylesheets/spree/backend/components/_progress.scss +1 -0
  31. data/app/assets/stylesheets/spree/backend/components/_tabs.scss +108 -0
  32. data/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss +47 -0
  33. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +1 -1
  34. data/app/assets/stylesheets/spree/backend/sections/_payments.scss +14 -0
  35. data/app/assets/stylesheets/spree/backend/sections/_stock_management.scss +11 -9
  36. data/app/assets/stylesheets/spree/backend/sections/_stock_transfers.scss +0 -49
  37. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +11 -14
  38. data/app/assets/stylesheets/spree/backend/shared/_header.scss +30 -0
  39. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +0 -105
  40. data/app/assets/stylesheets/spree/backend/shared/_skeleton.scss +242 -0
  41. data/app/assets/stylesheets/spree/backend/shared/_tables.scss +2 -0
  42. data/app/assets/stylesheets/spree/backend/shared/_typography.scss +5 -1
  43. data/app/assets/stylesheets/spree/backend/shared/_utilities.scss +35 -0
  44. data/app/assets/stylesheets/spree/backend/spree_admin.scss +9 -5
  45. data/app/controllers/spree/admin/adjustments_controller.rb +2 -3
  46. data/app/controllers/spree/admin/base_controller.rb +46 -56
  47. data/app/controllers/spree/admin/cancellations_controller.rb +1 -1
  48. data/app/controllers/spree/admin/countries_controller.rb +0 -2
  49. data/app/controllers/spree/admin/customer_returns_controller.rb +1 -1
  50. data/app/controllers/spree/admin/general_settings_controller.rb +6 -8
  51. data/app/controllers/spree/admin/images_controller.rb +16 -17
  52. data/app/controllers/spree/admin/log_entries_controller.rb +1 -2
  53. data/app/controllers/spree/admin/option_types_controller.rb +17 -21
  54. data/app/controllers/spree/admin/option_values_controller.rb +1 -1
  55. data/app/controllers/spree/admin/orders/customer_details_controller.rb +21 -22
  56. data/app/controllers/spree/admin/orders_controller.rb +41 -42
  57. data/app/controllers/spree/admin/payment_methods_controller.rb +18 -18
  58. data/app/controllers/spree/admin/payments_controller.rb +11 -11
  59. data/app/controllers/spree/admin/product_properties_controller.rb +13 -13
  60. data/app/controllers/spree/admin/products_controller.rb +4 -4
  61. data/app/controllers/spree/admin/promotion_actions_controller.rb +15 -11
  62. data/app/controllers/spree/admin/promotion_codes_controller.rb +0 -1
  63. data/app/controllers/spree/admin/promotion_rules_controller.rb +15 -15
  64. data/app/controllers/spree/admin/promotions_controller.rb +35 -35
  65. data/app/controllers/spree/admin/prototypes_controller.rb +2 -3
  66. data/app/controllers/spree/admin/reports_controller.rb +11 -5
  67. data/app/controllers/spree/admin/resource_controller.rb +130 -133
  68. data/app/controllers/spree/admin/return_authorizations_controller.rb +2 -2
  69. data/app/controllers/spree/admin/return_items_controller.rb +0 -1
  70. data/app/controllers/spree/admin/search_controller.rb +1 -3
  71. data/app/controllers/spree/admin/shipping_methods_controller.rb +3 -3
  72. data/app/controllers/spree/admin/states_controller.rb +10 -10
  73. data/app/controllers/spree/admin/stock_items_controller.rb +42 -42
  74. data/app/controllers/spree/admin/stock_locations_controller.rb +4 -12
  75. data/app/controllers/spree/admin/stock_movements_controller.rb +1 -1
  76. data/app/controllers/spree/admin/stock_transfers_controller.rb +7 -4
  77. data/app/controllers/spree/admin/store_credits_controller.rb +4 -4
  78. data/app/controllers/spree/admin/style_guide_controller.rb +3 -0
  79. data/app/controllers/spree/admin/taxonomies_controller.rb +0 -6
  80. data/app/controllers/spree/admin/taxons_controller.rb +13 -36
  81. data/app/controllers/spree/admin/users_controller.rb +54 -72
  82. data/app/controllers/spree/admin/variants_controller.rb +22 -35
  83. data/app/controllers/spree/admin/variants_including_master_controller.rb +0 -2
  84. data/app/controllers/spree/admin/zones_controller.rb +11 -11
  85. data/app/helpers/spree/admin/adjustments_helper.rb +4 -5
  86. data/app/helpers/spree/admin/base_helper.rb +32 -34
  87. data/app/helpers/spree/admin/general_settings_helper.rb +1 -1
  88. data/app/helpers/spree/admin/images_helper.rb +0 -1
  89. data/app/helpers/spree/admin/navigation_helper.rb +41 -35
  90. data/app/helpers/spree/admin/orders_helper.rb +5 -6
  91. data/app/helpers/spree/admin/payments_helper.rb +1 -1
  92. data/app/helpers/spree/admin/products_helper.rb +7 -7
  93. data/app/helpers/spree/admin/stock_locations_helper.rb +1 -1
  94. data/app/helpers/spree/admin/store_credit_events_helper.rb +6 -6
  95. data/app/helpers/spree/admin/tables_helper.rb +0 -2
  96. data/app/helpers/spree/admin/taxons_helper.rb +1 -1
  97. data/app/helpers/spree/promotion_rules_helper.rb +1 -4
  98. data/app/models/spree/backend_configuration.rb +1 -0
  99. data/app/views/kaminari/solidus_admin/_first_page.html.erb +3 -0
  100. data/app/views/kaminari/solidus_admin/_gap.html.erb +3 -0
  101. data/app/views/kaminari/solidus_admin/_last_page.html.erb +3 -0
  102. data/app/views/kaminari/solidus_admin/_next_page.html.erb +3 -0
  103. data/app/views/kaminari/solidus_admin/_page.html.erb +9 -0
  104. data/app/views/kaminari/solidus_admin/_paginator.html.erb +15 -0
  105. data/app/views/kaminari/solidus_admin/_prev_page.html.erb +3 -0
  106. data/app/views/spree/admin/adjustment_reasons/edit.html.erb +2 -0
  107. data/app/views/spree/admin/adjustment_reasons/index.html.erb +7 -6
  108. data/app/views/spree/admin/adjustment_reasons/new.html.erb +2 -0
  109. data/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb +3 -3
  110. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +4 -4
  111. data/app/views/spree/admin/adjustments/_form.html.erb +5 -5
  112. data/app/views/spree/admin/adjustments/edit.html.erb +1 -2
  113. data/app/views/spree/admin/adjustments/new.html.erb +0 -1
  114. data/app/views/spree/admin/cancellations/index.html.erb +6 -6
  115. data/app/views/spree/admin/countries/_form.html.erb +3 -3
  116. data/app/views/spree/admin/countries/edit.html.erb +1 -1
  117. data/app/views/spree/admin/countries/index.html.erb +4 -4
  118. data/app/views/spree/admin/countries/new.html.erb +1 -1
  119. data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +4 -4
  120. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +10 -10
  121. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +11 -11
  122. data/app/views/spree/admin/customer_returns/edit.html.erb +2 -2
  123. data/app/views/spree/admin/customer_returns/index.html.erb +9 -10
  124. data/app/views/spree/admin/customer_returns/new.html.erb +2 -3
  125. data/app/views/spree/admin/general_settings/edit.html.erb +37 -26
  126. data/app/views/spree/admin/images/_form.html.erb +2 -2
  127. data/app/views/spree/admin/images/edit.html.erb +0 -1
  128. data/app/views/spree/admin/images/index.html.erb +2 -2
  129. data/app/views/spree/admin/images/new.html.erb +0 -3
  130. data/app/views/spree/admin/log_entries/index.html.erb +2 -2
  131. data/app/views/spree/admin/option_types/_form.html.erb +3 -3
  132. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
  133. data/app/views/spree/admin/option_types/edit.html.erb +7 -5
  134. data/app/views/spree/admin/option_types/index.html.erb +6 -7
  135. data/app/views/spree/admin/orders/_add_product.html.erb +1 -1
  136. data/app/views/spree/admin/orders/_adjustments.html.erb +4 -2
  137. data/app/views/spree/admin/orders/_carton.html.erb +7 -7
  138. data/app/views/spree/admin/orders/_carton_manifest.html.erb +3 -5
  139. data/app/views/spree/admin/orders/_form.html.erb +0 -1
  140. data/app/views/spree/admin/orders/_line_items.html.erb +10 -8
  141. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +0 -2
  142. data/app/views/spree/admin/orders/_risk_analysis.html.erb +3 -1
  143. data/app/views/spree/admin/orders/_shipment.html.erb +99 -100
  144. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +4 -9
  145. data/app/views/spree/admin/orders/confirm/_line_items.html.erb +4 -4
  146. data/app/views/spree/admin/orders/confirm/_payments.html.erb +7 -7
  147. data/app/views/spree/admin/orders/confirm/_shipment.html.erb +10 -7
  148. data/app/views/spree/admin/orders/confirm/_shipment_manifest.html.erb +2 -2
  149. data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -5
  150. data/app/views/spree/admin/orders/index.html.erb +15 -14
  151. data/app/views/spree/admin/payment_methods/_form.html.erb +9 -10
  152. data/app/views/spree/admin/payment_methods/edit.html.erb +1 -1
  153. data/app/views/spree/admin/payment_methods/index.html.erb +18 -17
  154. data/app/views/spree/admin/payment_methods/new.html.erb +2 -2
  155. data/app/views/spree/admin/payments/_capture_events.html.erb +2 -2
  156. data/app/views/spree/admin/payments/_form.html.erb +3 -3
  157. data/app/views/spree/admin/payments/_list.html.erb +29 -17
  158. data/app/views/spree/admin/payments/credit.html.erb +3 -3
  159. data/app/views/spree/admin/payments/index.html.erb +3 -3
  160. data/app/views/spree/admin/payments/new.html.erb +2 -2
  161. data/app/views/spree/admin/payments/show.html.erb +3 -3
  162. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +4 -4
  163. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +4 -4
  164. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +5 -5
  165. data/app/views/spree/admin/product_properties/index.html.erb +6 -8
  166. data/app/views/spree/admin/products/_form.html.erb +33 -33
  167. data/app/views/spree/admin/products/_properties_form.erb +1 -1
  168. data/app/views/spree/admin/products/index.html.erb +10 -9
  169. data/app/views/spree/admin/products/new.html.erb +6 -5
  170. data/app/views/spree/admin/promotion_codes/index.csv.ruby +2 -2
  171. data/app/views/spree/admin/promotions/_actions.html.erb +2 -2
  172. data/app/views/spree/admin/promotions/_form.html.erb +2 -2
  173. data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
  174. data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +1 -1
  175. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +1 -1
  176. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +1 -1
  177. data/app/views/spree/admin/promotions/index.html.erb +15 -16
  178. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +5 -2
  179. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +3 -3
  180. data/app/views/spree/admin/properties/_form.html.erb +2 -2
  181. data/app/views/spree/admin/properties/index.html.erb +8 -9
  182. data/app/views/spree/admin/prototypes/_form.html.erb +4 -4
  183. data/app/views/spree/admin/prototypes/_prototypes.html.erb +2 -2
  184. data/app/views/spree/admin/prototypes/index.html.erb +7 -10
  185. data/app/views/spree/admin/prototypes/new.js.erb +1 -1
  186. data/app/views/spree/admin/prototypes/show.html.erb +1 -1
  187. data/app/views/spree/admin/refund_reasons/edit.html.erb +2 -0
  188. data/app/views/spree/admin/refund_reasons/index.html.erb +7 -8
  189. data/app/views/spree/admin/refund_reasons/new.html.erb +2 -0
  190. data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +2 -2
  191. data/app/views/spree/admin/refunds/edit.html.erb +3 -4
  192. data/app/views/spree/admin/refunds/new.html.erb +4 -5
  193. data/app/views/spree/admin/reimbursement_types/index.html.erb +4 -4
  194. data/app/views/spree/admin/reimbursements/edit.html.erb +10 -11
  195. data/app/views/spree/admin/reimbursements/index.html.erb +4 -6
  196. data/app/views/spree/admin/reimbursements/show.html.erb +12 -12
  197. data/app/views/spree/admin/return_authorizations/_form.html.erb +15 -15
  198. data/app/views/spree/admin/return_authorizations/edit.html.erb +1 -2
  199. data/app/views/spree/admin/return_authorizations/index.html.erb +5 -5
  200. data/app/views/spree/admin/return_authorizations/new.html.erb +1 -2
  201. data/app/views/spree/admin/return_reasons/index.html.erb +2 -2
  202. data/app/views/spree/admin/shared/_address_form.html.erb +10 -10
  203. data/app/views/spree/admin/shared/_areas_tabs.html.erb +19 -0
  204. data/app/views/spree/admin/shared/_calculator_fields.html.erb +2 -2
  205. data/app/views/spree/admin/shared/_configuration_menu.html.erb +9 -64
  206. data/app/views/spree/admin/shared/_destroy.js.erb +0 -2
  207. data/app/views/spree/admin/shared/_edit_resource_links.html.erb +0 -1
  208. data/app/views/spree/admin/shared/_flash.html.erb +11 -0
  209. data/app/views/spree/admin/shared/_general_tabs.html.erb +2 -0
  210. data/app/views/spree/admin/shared/_head.html.erb +10 -1
  211. data/app/views/spree/admin/shared/_header.html.erb +13 -5
  212. data/app/views/spree/admin/shared/_navigation.html.erb +1 -1
  213. data/app/views/spree/admin/shared/_navigation_header.html.erb +5 -0
  214. data/app/views/spree/admin/shared/_new_resource_links.html.erb +0 -1
  215. data/app/views/spree/admin/shared/_no_objects_found.html.erb +4 -0
  216. data/app/views/spree/admin/shared/_order_submenu.html.erb +18 -18
  217. data/app/views/spree/admin/shared/_order_summary.html.erb +12 -12
  218. data/app/views/spree/admin/shared/_order_tabs.html.erb +4 -1
  219. data/app/views/spree/admin/shared/_payments_tabs.html.erb +9 -0
  220. data/app/views/spree/admin/shared/_product_sub_menu.html.erb +2 -2
  221. data/app/views/spree/admin/shared/_product_tabs.html.erb +9 -14
  222. data/app/views/spree/admin/shared/_promotion_sub_menu.html.erb +1 -1
  223. data/app/views/spree/admin/shared/_refunds.html.erb +6 -6
  224. data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +21 -0
  225. data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +26 -0
  226. data/app/views/spree/admin/shared/_shipping_tabs.html.erb +17 -0
  227. data/app/views/spree/admin/shared/_spinner.html.erb +6 -0
  228. data/app/views/spree/admin/shared/_stock_sub_menu.html.erb +3 -3
  229. data/app/views/spree/admin/shared/_table_filter.html.erb +1 -1
  230. data/app/views/spree/admin/shared/_tabs.html.erb +4 -2
  231. data/app/views/spree/admin/shared/_taxes_tabs.html.erb +13 -0
  232. data/app/views/spree/admin/shared/_variant_search.html.erb +2 -2
  233. data/app/views/spree/admin/shared/named_types/_edit.html.erb +2 -0
  234. data/app/views/spree/admin/shared/named_types/_form.html.erb +3 -5
  235. data/app/views/spree/admin/shared/named_types/_index.html.erb +4 -5
  236. data/app/views/spree/admin/shared/named_types/_new.html.erb +2 -0
  237. data/app/views/spree/admin/shipping_categories/_form.html.erb +2 -2
  238. data/app/views/spree/admin/shipping_categories/edit.html.erb +1 -1
  239. data/app/views/spree/admin/shipping_categories/index.html.erb +6 -7
  240. data/app/views/spree/admin/shipping_categories/new.html.erb +1 -1
  241. data/app/views/spree/admin/shipping_methods/_form.html.erb +26 -8
  242. data/app/views/spree/admin/shipping_methods/edit.html.erb +1 -1
  243. data/app/views/spree/admin/shipping_methods/index.html.erb +10 -11
  244. data/app/views/spree/admin/shipping_methods/new.html.erb +1 -1
  245. data/app/views/spree/admin/states/_form.html.erb +2 -2
  246. data/app/views/spree/admin/states/_state_list.html.erb +3 -3
  247. data/app/views/spree/admin/states/edit.html.erb +1 -1
  248. data/app/views/spree/admin/states/index.html.erb +3 -3
  249. data/app/views/spree/admin/states/new.html.erb +1 -1
  250. data/app/views/spree/admin/stock_items/_stock_management.html.erb +15 -27
  251. data/app/views/spree/admin/stock_items/index.html.erb +1 -3
  252. data/app/views/spree/admin/stock_locations/_form.html.erb +17 -18
  253. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +2 -3
  254. data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
  255. data/app/views/spree/admin/stock_locations/index.html.erb +9 -10
  256. data/app/views/spree/admin/stock_locations/new.html.erb +1 -1
  257. data/app/views/spree/admin/stock_movements/_form.html.erb +2 -2
  258. data/app/views/spree/admin/stock_movements/index.html.erb +8 -9
  259. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +4 -4
  260. data/app/views/spree/admin/stock_transfers/_transfer_item_actions.html.erb +1 -1
  261. data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +1 -1
  262. data/app/views/spree/admin/stock_transfers/edit.html.erb +8 -21
  263. data/app/views/spree/admin/stock_transfers/index.html.erb +8 -6
  264. data/app/views/spree/admin/stock_transfers/new.html.erb +2 -3
  265. data/app/views/spree/admin/stock_transfers/receive.html.erb +6 -21
  266. data/app/views/spree/admin/stock_transfers/show.html.erb +8 -8
  267. data/app/views/spree/admin/stock_transfers/tracking_info.html.erb +10 -23
  268. data/app/views/spree/admin/store_credits/_form.html.erb +3 -3
  269. data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +1 -1
  270. data/app/views/spree/admin/store_credits/edit_amount.html.erb +1 -1
  271. data/app/views/spree/admin/store_credits/edit_validity.html.erb +0 -1
  272. data/app/views/spree/admin/store_credits/index.html.erb +11 -12
  273. data/app/views/spree/admin/store_credits/show.html.erb +11 -11
  274. data/app/views/spree/admin/style_guide/topics/components/_tabs.html.erb +17 -0
  275. data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +2 -2
  276. data/app/views/spree/admin/style_guide/topics/messaging/_tooltips.html.erb +1 -1
  277. data/app/views/spree/admin/tax_categories/_form.html.erb +5 -7
  278. data/app/views/spree/admin/tax_categories/edit.html.erb +1 -1
  279. data/app/views/spree/admin/tax_categories/index.html.erb +8 -9
  280. data/app/views/spree/admin/tax_categories/new.html.erb +1 -1
  281. data/app/views/spree/admin/tax_categories/show.html.erb +1 -1
  282. data/app/views/spree/admin/tax_rates/_form.html.erb +4 -4
  283. data/app/views/spree/admin/tax_rates/edit.html.erb +1 -1
  284. data/app/views/spree/admin/tax_rates/index.html.erb +12 -13
  285. data/app/views/spree/admin/tax_rates/new.html.erb +2 -2
  286. data/app/views/spree/admin/taxonomies/_form.html.erb +1 -1
  287. data/app/views/spree/admin/taxonomies/_list.html.erb +1 -1
  288. data/app/views/spree/admin/taxonomies/edit.erb +0 -3
  289. data/app/views/spree/admin/taxonomies/index.html.erb +4 -7
  290. data/app/views/spree/admin/taxonomies/new.html.erb +1 -3
  291. data/app/views/spree/admin/taxons/_form.html.erb +8 -7
  292. data/app/views/spree/admin/taxons/_taxon_table.html.erb +1 -1
  293. data/app/views/spree/admin/taxons/edit.html.erb +1 -4
  294. data/app/views/spree/admin/taxons/index.html.erb +1 -1
  295. data/app/views/spree/admin/trackers/_form.html.erb +3 -3
  296. data/app/views/spree/admin/trackers/edit.html.erb +1 -1
  297. data/app/views/spree/admin/trackers/index.html.erb +7 -8
  298. data/app/views/spree/admin/trackers/new.html.erb +1 -1
  299. data/app/views/spree/admin/users/_addresses_form.html.erb +2 -4
  300. data/app/views/spree/admin/users/_form.html.erb +6 -6
  301. data/app/views/spree/admin/users/_sidebar.html.erb +5 -5
  302. data/app/views/spree/admin/users/addresses.html.erb +1 -1
  303. data/app/views/spree/admin/users/edit.html.erb +0 -2
  304. data/app/views/spree/admin/users/index.html.erb +2 -2
  305. data/app/views/spree/admin/users/items.html.erb +11 -12
  306. data/app/views/spree/admin/users/orders.html.erb +9 -10
  307. data/app/views/spree/admin/variants/_form.html.erb +60 -34
  308. data/app/views/spree/admin/variants/_table.html.erb +47 -0
  309. data/app/views/spree/admin/variants/_table_filter.html.erb +25 -0
  310. data/app/views/spree/admin/variants/edit.html.erb +6 -1
  311. data/app/views/spree/admin/variants/index.html.erb +28 -112
  312. data/app/views/spree/admin/variants/new.html.erb +1 -1
  313. data/app/views/spree/admin/variants/new.js.erb +2 -3
  314. data/app/views/spree/admin/zones/_country_members.html.erb +2 -2
  315. data/app/views/spree/admin/zones/_form.html.erb +3 -3
  316. data/app/views/spree/admin/zones/_state_members.html.erb +2 -2
  317. data/app/views/spree/admin/zones/edit.html.erb +1 -1
  318. data/app/views/spree/admin/zones/index.html.erb +9 -10
  319. data/app/views/spree/admin/zones/new.html.erb +1 -1
  320. data/app/views/spree/layouts/admin.html.erb +15 -33
  321. data/config/initializers/assets.rb +7 -1
  322. data/config/initializers/form_builder.rb +2 -3
  323. data/config/routes.rb +12 -11
  324. data/lib/spree/backend.rb +1 -0
  325. data/lib/spree/backend/action_callbacks.rb +0 -1
  326. data/lib/spree/backend/callbacks.rb +3 -5
  327. data/lib/spree/backend/engine.rb +1 -14
  328. data/script/rails +0 -1
  329. data/solidus_backend.gemspec +1 -0
  330. data/spec/controllers/spree/admin/base_controller_spec.rb +2 -2
  331. data/spec/controllers/spree/admin/cancellations_controller_spec.rb +2 -2
  332. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +6 -7
  333. data/spec/controllers/spree/admin/general_settings_controller_spec.rb +1 -1
  334. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +2 -4
  335. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -1
  336. data/spec/controllers/spree/admin/orders_controller_spec.rb +27 -91
  337. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +38 -13
  338. data/spec/controllers/spree/admin/payments_controller_spec.rb +108 -104
  339. data/spec/controllers/spree/admin/products_controller_spec.rb +7 -7
  340. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +3 -3
  341. data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +1 -1
  342. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +3 -3
  343. data/spec/controllers/spree/admin/promotions_controller_spec.rb +6 -9
  344. data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -1
  345. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +3 -3
  346. data/spec/controllers/spree/admin/reports_controller_spec.rb +14 -9
  347. data/spec/controllers/spree/admin/resource_controller_spec.rb +6 -6
  348. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +13 -13
  349. data/spec/controllers/spree/admin/return_items_controller_spec.rb +2 -2
  350. data/spec/controllers/spree/admin/search_controller_spec.rb +2 -2
  351. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +3 -3
  352. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +1 -1
  353. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +8 -7
  354. data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +13 -25
  355. data/spec/controllers/spree/admin/store_credits_controller_spec.rb +3 -4
  356. data/spec/controllers/spree/admin/users_controller_spec.rb +19 -19
  357. data/spec/controllers/spree/admin/variants_controller_spec.rb +7 -6
  358. data/spec/features/admin/configuration/analytics_tracker_spec.rb +3 -3
  359. data/spec/features/admin/configuration/countries_spec.rb +1 -1
  360. data/spec/features/admin/configuration/general_settings_spec.rb +12 -2
  361. data/spec/features/admin/configuration/payment_methods_spec.rb +13 -12
  362. data/spec/features/admin/configuration/shipping_methods_spec.rb +7 -7
  363. data/spec/features/admin/configuration/states_spec.rb +12 -12
  364. data/spec/features/admin/configuration/stock_locations_spec.rb +5 -4
  365. data/spec/features/admin/configuration/tax_categories_spec.rb +6 -6
  366. data/spec/features/admin/configuration/tax_rates_spec.rb +4 -4
  367. data/spec/features/admin/configuration/taxonomies_spec.rb +6 -6
  368. data/spec/features/admin/configuration/zones_spec.rb +6 -6
  369. data/spec/features/admin/homepage_spec.rb +2 -5
  370. data/spec/features/admin/locale_spec.rb +9 -7
  371. data/spec/features/admin/orders/adjustments_promotions_spec.rb +15 -15
  372. data/spec/features/admin/orders/adjustments_spec.rb +17 -18
  373. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +1 -2
  374. data/spec/features/admin/orders/cancelling_inventory_spec.rb +1 -1
  375. data/spec/features/admin/orders/customer_details_spec.rb +12 -12
  376. data/spec/features/admin/orders/line_items_spec.rb +3 -3
  377. data/spec/features/admin/orders/listing_spec.rb +21 -1
  378. data/spec/features/admin/orders/log_entries_spec.rb +7 -7
  379. data/spec/features/admin/orders/new_order_spec.rb +7 -7
  380. data/spec/features/admin/orders/order_details_spec.rb +41 -29
  381. data/spec/features/admin/orders/payments_spec.rb +20 -28
  382. data/spec/features/admin/orders/risk_analysis_spec.rb +2 -2
  383. data/spec/features/admin/orders/shipments_spec.rb +11 -6
  384. data/spec/features/admin/products/edit/images_spec.rb +14 -14
  385. data/spec/features/admin/products/edit/products_spec.rb +10 -10
  386. data/spec/features/admin/products/edit/taxons_spec.rb +2 -2
  387. data/spec/features/admin/products/edit/variants_spec.rb +9 -9
  388. data/spec/features/admin/products/option_types_spec.rb +11 -12
  389. data/spec/features/admin/products/products_spec.rb +66 -68
  390. data/spec/features/admin/products/properties_spec.rb +14 -14
  391. data/spec/features/admin/products/prototypes_spec.rb +3 -3
  392. data/spec/features/admin/products/stock_management_spec.rb +16 -11
  393. data/spec/features/admin/products/variant_spec.rb +4 -4
  394. data/spec/features/admin/promotion_adjustments_spec.rb +41 -41
  395. data/spec/features/admin/reports_spec.rb +9 -9
  396. data/spec/features/admin/stock_transfer_spec.rb +8 -22
  397. data/spec/features/admin/store_credits_spec.rb +0 -1
  398. data/spec/features/admin/taxons_spec.rb +5 -6
  399. data/spec/features/admin/users_spec.rb +6 -9
  400. data/spec/helpers/admin/base_helper_spec.rb +1 -2
  401. data/spec/helpers/admin/navigation_helper_spec.rb +15 -18
  402. data/spec/helpers/admin/reimbursements_helper_spec.rb +3 -3
  403. data/spec/helpers/admin/stock_movements_helper_spec.rb +1 -3
  404. data/spec/helpers/admin/store_credit_events_helper_spec.rb +3 -3
  405. data/spec/helpers/promotion_rules_helper_spec.rb +1 -1
  406. data/spec/spec_helper.rb +7 -4
  407. data/spec/support/feature/base_feature_helper.rb +3 -3
  408. data/vendor/assets/javascripts/{backbone.js → solidus_admin/backbone.js} +764 -452
  409. data/vendor/assets/javascripts/solidus_admin/bind-polyfill.js +28 -0
  410. data/vendor/assets/javascripts/solidus_admin/bootstrap.js +3560 -0
  411. data/vendor/assets/javascripts/solidus_admin/tether.js +1726 -0
  412. data/vendor/assets/javascripts/solidus_admin/underscore.js +1548 -0
  413. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_alert.scss +65 -0
  414. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_animation.scss +27 -0
  415. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_breadcrumb.scss +23 -0
  416. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_button-group.scss +224 -0
  417. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_buttons.scss +173 -0
  418. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_card.scss +292 -0
  419. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_carousel.scss +252 -0
  420. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_close.scss +28 -0
  421. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_code.scss +58 -0
  422. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_custom-forms.scss +226 -0
  423. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_dropdown.scss +193 -0
  424. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_forms.scss +452 -0
  425. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_grid.scss +76 -0
  426. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_images.scss +53 -0
  427. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_input-group.scss +189 -0
  428. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_jumbotron.scss +20 -0
  429. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_labels.scss +77 -0
  430. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_list-group.scss +140 -0
  431. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_media.scss +90 -0
  432. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_mixins.scss +55 -0
  433. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_modal.scss +146 -0
  434. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_nav.scss +162 -0
  435. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_navbar.scss +230 -0
  436. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_normalize.scss +428 -0
  437. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pager.scss +57 -0
  438. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pagination.scss +73 -0
  439. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_popover.scss +140 -0
  440. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_print.scss +88 -0
  441. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_progress.scss +156 -0
  442. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_reboot.scss +347 -0
  443. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_responsive-embed.scss +39 -0
  444. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tables.scss +193 -0
  445. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tooltip.scss +85 -0
  446. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_type.scss +157 -0
  447. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-background.scss +24 -0
  448. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-responsive.scss +49 -0
  449. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-spacing.scss +39 -0
  450. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities.scss +95 -0
  451. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +666 -0
  452. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-flex.scss +8 -0
  453. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-grid.scss +62 -0
  454. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-reboot.scss +10 -0
  455. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap.scss +56 -0
  456. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_alert.scss +14 -0
  457. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_background-variant.scss +13 -0
  458. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_border-radius.scss +35 -0
  459. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_breakpoints.scss +86 -0
  460. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_buttons.scss +100 -0
  461. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_cards.scss +38 -0
  462. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_center-block.scss +7 -0
  463. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_clearfix.scss +7 -0
  464. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_forms.scss +89 -0
  465. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_gradients.scss +43 -0
  466. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid-framework.scss +44 -0
  467. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid.scss +75 -0
  468. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_hover.scss +59 -0
  469. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_image.scss +34 -0
  470. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_label.scss +11 -0
  471. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_list-group.scss +30 -0
  472. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_lists.scss +7 -0
  473. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_nav-divider.scss +10 -0
  474. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_navbar-align.scss +9 -0
  475. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_pagination.scss +22 -0
  476. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_progress.scss +18 -0
  477. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_pulls.scss +6 -0
  478. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-filter.scss +8 -0
  479. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-text.scss +18 -0
  480. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_resize.scss +6 -0
  481. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_screen-reader.scss +32 -0
  482. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_size.scss +6 -0
  483. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_tab-focus.scss +9 -0
  484. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_table-row.scss +30 -0
  485. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-emphasis.scss +12 -0
  486. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-hide.scss +8 -0
  487. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-truncate.scss +8 -0
  488. metadata +140 -35
  489. data/app/assets/javascripts/spree/backend/orders/edit_form.js +0 -20
  490. data/app/assets/javascripts/spree/backend/shipments.js.erb +0 -353
  491. data/app/assets/javascripts/spree/backend/stock_management/index.coffee +0 -4
  492. data/app/assets/javascripts/spree/backend/stock_transfers/ship.js.coffee +0 -10
  493. data/app/assets/javascripts/spree/backend/taxon_tree_menu.js.coffee +0 -21
  494. data/app/assets/javascripts/spree/frontend/backend.js +0 -1
  495. data/app/assets/stylesheets/spree/backend/components/_pagination.scss +0 -17
  496. data/app/assets/stylesheets/spree/backend/plugins/_powertip.scss +0 -87
  497. data/app/assets/stylesheets/spree/backend/plugins/_token-input.scss +0 -110
  498. data/app/assets/stylesheets/spree/frontend/backend.css +0 -1
  499. data/app/views/spree/admin/orders/_line_item.html.erb +0 -9
  500. data/app/views/spree/admin/shared/_content_header.html.erb +0 -23
  501. data/app/views/spree/admin/shared/_show_resource_links.html.erb +0 -5
  502. data/app/views/spree/admin/shared/_update_order_state.js +0 -7
  503. data/vendor/assets/javascripts/jquery.cookie.js +0 -41
  504. data/vendor/assets/javascripts/jquery.powertip.js +0 -1165
  505. data/vendor/assets/javascripts/underscore-min.js +0 -1227
  506. data/vendor/assets/stylesheets/bootstrap/components/_media.scss +0 -61
  507. data/vendor/assets/stylesheets/jquery.powertip.css +0 -85
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require 'spec_helper'
3
3
 
4
- describe "Products", :type => :feature do
4
+ describe "Products", type: :feature do
5
5
  context "as admin user" do
6
6
  stub_authorization!
7
7
 
@@ -10,9 +10,9 @@ describe "Products", :type => :feature do
10
10
  end
11
11
 
12
12
  def build_option_type_with_values(name, values)
13
- ot = FactoryGirl.create(:option_type, :name => name)
13
+ ot = FactoryGirl.create(:option_type, name: name)
14
14
  values.each do |val|
15
- ot.option_values.create(:name => val.downcase, :presentation => val)
15
+ ot.option_values.create(name: val.downcase, presentation: val)
16
16
  end
17
17
  ot
18
18
  end
@@ -20,8 +20,8 @@ describe "Products", :type => :feature do
20
20
  context "listing products" do
21
21
  context "sorting" do
22
22
  before do
23
- create(:product, :name => 'apache baseball cap', :price => 10)
24
- create(:product, :name => 'zomg shirt', :price => 5)
23
+ create(:product, name: 'apache baseball cap', price: 10)
24
+ create(:product, name: 'zomg shirt', price: 5)
25
25
  end
26
26
 
27
27
  it "should list existing products with correct sorting by name" do
@@ -32,7 +32,7 @@ describe "Products", :type => :feature do
32
32
 
33
33
  # Name DESC
34
34
  click_link "admin_products_listing_name_title"
35
- within_row(1) { expect(page).to have_content("zomg shirt") }
35
+ within_row(1) { expect(page).to have_content("zomg shirt") }
36
36
  within_row(2) { expect(page).to have_content('apache baseball cap') }
37
37
  end
38
38
 
@@ -57,7 +57,7 @@ describe "Products", :type => :feature do
57
57
  end
58
58
 
59
59
  let!(:product) do
60
- create(:product, :name => "Just a product", :price => 19.99)
60
+ create(:product, name: "Just a product", price: 19.99)
61
61
  end
62
62
 
63
63
  # Regression test for https://github.com/spree/spree/issues/2737
@@ -72,9 +72,9 @@ describe "Products", :type => :feature do
72
72
  end
73
73
 
74
74
  context "searching products" do
75
- it "should be able to search deleted products", :js => true do
76
- create(:product, :name => 'apache baseball cap', :deleted_at => "2011-01-06 18:21:13")
77
- create(:product, :name => 'zomg shirt')
75
+ it "should be able to search deleted products", js: true do
76
+ create(:product, name: 'apache baseball cap', deleted_at: "2011-01-06 18:21:13")
77
+ create(:product, name: 'zomg shirt')
78
78
 
79
79
  click_nav "Products"
80
80
  expect(page).to have_content("zomg shirt")
@@ -90,18 +90,18 @@ describe "Products", :type => :feature do
90
90
  end
91
91
 
92
92
  it "should be able to search products by their properties" do
93
- create(:product, :name => 'apache baseball cap', :sku => "A100")
94
- create(:product, :name => 'apache baseball cap2', :sku => "B100")
95
- create(:product, :name => 'zomg shirt')
93
+ create(:product, name: 'apache baseball cap', sku: "A100")
94
+ create(:product, name: 'apache baseball cap2', sku: "B100")
95
+ create(:product, name: 'zomg shirt')
96
96
 
97
97
  click_nav "Products"
98
- fill_in "q_name_cont", :with => "ap"
98
+ fill_in "q_name_cont", with: "ap"
99
99
  click_icon :search
100
100
  expect(page).to have_content("apache baseball cap")
101
101
  expect(page).to have_content("apache baseball cap2")
102
102
  expect(page).not_to have_content("zomg shirt")
103
103
 
104
- fill_in "q_variants_including_master_sku_cont", :with => "A1"
104
+ fill_in "q_variants_including_master_sku_cont", with: "A1"
105
105
  click_icon :search
106
106
  expect(page).to have_content("apache baseball cap")
107
107
  expect(page).not_to have_content("apache baseball cap2")
@@ -111,9 +111,9 @@ describe "Products", :type => :feature do
111
111
 
112
112
  context "creating a new product from a prototype" do
113
113
  def build_option_type_with_values(name, values)
114
- ot = FactoryGirl.create(:option_type, :name => name)
114
+ ot = FactoryGirl.create(:option_type, name: name)
115
115
  values.each do |val|
116
- ot.option_values.create(:name => val.downcase, :presentation => val)
116
+ ot.option_values.create(name: val.downcase, presentation: val)
117
117
  end
118
118
  ot
119
119
  end
@@ -126,7 +126,7 @@ describe "Products", :type => :feature do
126
126
 
127
127
  let(:prototype) do
128
128
  size = build_option_type_with_values("size", %w(Small Medium Large))
129
- FactoryGirl.create(:prototype, :name => "Size", :option_types => [ size ])
129
+ FactoryGirl.create(:prototype, name: "Size", option_types: [size])
130
130
  end
131
131
 
132
132
  let(:option_values_hash) do
@@ -139,7 +139,7 @@ describe "Products", :type => :feature do
139
139
 
140
140
  before(:each) do
141
141
  @option_type_prototype = prototype
142
- @property_prototype = create(:prototype, :name => "Random")
142
+ @property_prototype = create(:prototype, name: "Random")
143
143
  @shipping_category = create(:shipping_category)
144
144
  click_nav "Products"
145
145
  click_link "admin_new_product"
@@ -148,12 +148,12 @@ describe "Products", :type => :feature do
148
148
  end
149
149
  end
150
150
 
151
- it "should allow an admin to create a new product and variants from a prototype", :js => true do
152
- fill_in "product_name", :with => "Baseball Cap"
153
- fill_in "product_sku", :with => "B100"
154
- fill_in "product_price", :with => "100"
155
- fill_in "product_available_on", :with => "2012/01/24"
156
- select "Size", :from => "Prototype"
151
+ it "should allow an admin to create a new product and variants from a prototype", js: true do
152
+ fill_in "product_name", with: "Baseball Cap"
153
+ fill_in "product_sku", with: "B100"
154
+ fill_in "product_price", with: "100"
155
+ fill_in "product_available_on", with: "2012/01/24"
156
+ select "Size", from: "Prototype"
157
157
  check "Large"
158
158
  select @shipping_category.name, from: "product_shipping_category_id"
159
159
  click_button "Create"
@@ -161,19 +161,19 @@ describe "Products", :type => :feature do
161
161
  expect(Spree::Product.last.variants.length).to eq(1)
162
162
  end
163
163
 
164
- it "should not display variants when prototype does not contain option types", :js => true do
165
- select "Random", :from => "Prototype"
164
+ it "should not display variants when prototype does not contain option types", js: true do
165
+ select "Random", from: "Prototype"
166
166
 
167
- fill_in "product_name", :with => "Baseball Cap"
167
+ fill_in "product_name", with: "Baseball Cap"
168
168
 
169
169
  expect(page).not_to have_content("Variants")
170
170
  end
171
171
 
172
- it "should keep option values selected if validation fails", :js => true do
173
- fill_in "product_name", :with => "Baseball Cap"
174
- fill_in "product_sku", :with => "B100"
175
- fill_in "product_price", :with => "100"
176
- select "Size", :from => "Prototype"
172
+ it "should keep option values selected if validation fails", js: true do
173
+ fill_in "product_name", with: "Baseball Cap"
174
+ fill_in "product_sku", with: "B100"
175
+ fill_in "product_price", with: "100"
176
+ select "Size", from: "Prototype"
177
177
  check "Large"
178
178
  click_button "Create"
179
179
  expect(page).to have_content("Shipping category can't be blank")
@@ -193,11 +193,11 @@ describe "Products", :type => :feature do
193
193
  end
194
194
  end
195
195
 
196
- it "should allow an admin to create a new product", :js => true do
197
- fill_in "product_name", :with => "Baseball Cap"
198
- fill_in "product_sku", :with => "B100"
199
- fill_in "product_price", :with => "100"
200
- fill_in "product_available_on", :with => "2012/01/24"
196
+ it "should allow an admin to create a new product", js: true do
197
+ fill_in "product_name", with: "Baseball Cap"
198
+ fill_in "product_sku", with: "B100"
199
+ fill_in "product_price", with: "100"
200
+ fill_in "product_available_on", with: "2012/01/24"
201
201
  select @shipping_category.name, from: "product_shipping_category_id"
202
202
  click_button "Create"
203
203
  expect(page).to have_content("successfully created!")
@@ -205,10 +205,10 @@ describe "Products", :type => :feature do
205
205
  expect(page).to have_content("successfully updated!")
206
206
  end
207
207
 
208
- it "should show validation errors", :js => true do
209
- fill_in "product_name", :with => "Baseball Cap"
210
- fill_in "product_sku", :with => "B100"
211
- fill_in "product_price", :with => "100"
208
+ it "should show validation errors", js: true do
209
+ fill_in "product_name", with: "Baseball Cap"
210
+ fill_in "product_sku", with: "B100"
211
+ fill_in "product_price", with: "100"
212
212
  click_button "Create"
213
213
  expect(page).to have_content("Shipping category can't be blank")
214
214
  end
@@ -217,11 +217,11 @@ describe "Products", :type => :feature do
217
217
  before do
218
218
  # change English locale’s separator and delimiter to match 19,99 format
219
219
  I18n.backend.store_translations(:en,
220
- :number => {
221
- :currency => {
222
- :format => {
223
- :separator => ",",
224
- :delimiter => "."
220
+ number: {
221
+ currency: {
222
+ format: {
223
+ separator: ",",
224
+ delimiter: "."
225
225
  }
226
226
  }
227
227
  })
@@ -230,20 +230,20 @@ describe "Products", :type => :feature do
230
230
  after do
231
231
  # revert changes to English locale
232
232
  I18n.backend.store_translations(:en,
233
- :number => {
234
- :currency => {
235
- :format => {
236
- :separator => ".",
237
- :delimiter => ","
233
+ number: {
234
+ currency: {
235
+ format: {
236
+ separator: ".",
237
+ delimiter: ","
238
238
  }
239
239
  }
240
240
  })
241
241
  end
242
242
 
243
- it "should show localized price value on validation errors", :js => true do
244
- fill_in "Name", :with => " "
243
+ it "should show localized price value on validation errors", js: true do
244
+ fill_in "Name", with: " "
245
245
  select @shipping_category.name, from: "product_shipping_category_id"
246
- fill_in "product_price", :with => "19,99"
246
+ fill_in "product_price", with: "19,99"
247
247
  click_button "Create"
248
248
  expect(page).to have_content("Name can't be blank")
249
249
  expect(page).to have_field('product_price', with: '19,99')
@@ -251,9 +251,9 @@ describe "Products", :type => :feature do
251
251
  end
252
252
 
253
253
  # Regression test for https://github.com/spree/spree/issues/2097
254
- it "can set the count on hand to a null value", :js => true do
255
- fill_in "product_name", :with => "Baseball Cap"
256
- fill_in "product_price", :with => "100"
254
+ it "can set the count on hand to a null value", js: true do
255
+ fill_in "product_name", with: "Baseball Cap"
256
+ fill_in "product_price", with: "100"
257
257
  select @shipping_category.name, from: "product_shipping_category_id"
258
258
  click_button "Create"
259
259
  expect(page).to have_content("successfully created!")
@@ -262,8 +262,7 @@ describe "Products", :type => :feature do
262
262
  end
263
263
  end
264
264
 
265
-
266
- context "cloning a product", :js => true do
265
+ context "cloning a product", js: true do
267
266
  it "should allow an admin to clone a product" do
268
267
  create(:product)
269
268
 
@@ -277,7 +276,7 @@ describe "Products", :type => :feature do
277
276
 
278
277
  context "cloning a deleted product" do
279
278
  it "should allow an admin to clone a deleted product" do
280
- create(:product, :name => "apache baseball cap")
279
+ create(:product, name: "apache baseball cap")
281
280
 
282
281
  click_nav "Products"
283
282
  check "Show Deleted"
@@ -294,22 +293,22 @@ describe "Products", :type => :feature do
294
293
  end
295
294
  end
296
295
 
297
- context 'updating a product', :js => true do
296
+ context 'updating a product', js: true do
298
297
  let(:product) { create(:product) }
299
298
 
300
299
  let(:prototype) do
301
300
  size = build_option_type_with_values("size", %w(Small Medium Large))
302
- FactoryGirl.create(:prototype, :name => "Size", :option_types => [ size ])
301
+ FactoryGirl.create(:prototype, name: "Size", option_types: [size])
303
302
  end
304
303
 
305
304
  before(:each) do
306
305
  @option_type_prototype = prototype
307
- @property_prototype = create(:prototype, :name => "Random")
306
+ @property_prototype = create(:prototype, name: "Random")
308
307
  end
309
308
 
310
309
  it 'should parse correctly available_on' do
311
310
  visit spree.admin_product_path(product)
312
- fill_in "product_available_on", :with => "2012/12/25"
311
+ fill_in "product_available_on", with: "2012/12/25"
313
312
  click_button "Update"
314
313
  expect(page).to have_content("successfully updated!")
315
314
  expect(Spree::Product.last.available_on).to eq('Tue, 25 Dec 2012 00:00:00 UTC +00:00')
@@ -335,7 +334,7 @@ describe "Products", :type => :feature do
335
334
  end
336
335
  end
337
336
 
338
- context 'deleting a product', :js => true do
337
+ context 'deleting a product', js: true do
339
338
  let!(:product) { create(:product) }
340
339
 
341
340
  it "is still viewable" do
@@ -358,12 +357,11 @@ describe "Products", :type => :feature do
358
357
  end
359
358
 
360
359
  context 'with only product permissions' do
361
-
362
360
  before do
363
361
  allow_any_instance_of(Spree::Admin::BaseController).to receive(:spree_current_user).and_return(nil)
364
362
  end
365
363
 
366
- custom_authorization! do |user|
364
+ custom_authorization! do |_user|
367
365
  can [:admin, :update, :index, :read], Spree::Product
368
366
  end
369
367
  let!(:product) { create(:product) }
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Properties", :type => :feature do
3
+ describe "Properties", type: :feature do
4
4
  stub_authorization!
5
5
 
6
6
  before(:each) do
@@ -10,8 +10,8 @@ describe "Properties", :type => :feature do
10
10
 
11
11
  context "Property index" do
12
12
  before do
13
- create(:property, :name => 'shirt size', :presentation => 'size')
14
- create(:property, :name => 'shirt fit', :presentation => 'fit')
13
+ create(:property, name: 'shirt size', presentation: 'size')
14
+ create(:property, name: 'shirt fit', presentation: 'fit')
15
15
  click_link "Properties"
16
16
  end
17
17
 
@@ -30,8 +30,8 @@ describe "Properties", :type => :feature do
30
30
  end
31
31
 
32
32
  context "searching properties" do
33
- it 'should list properties matching search query', :js => true do
34
- fill_in "q_name_cont", :with => "size"
33
+ it 'should list properties matching search query', js: true do
34
+ fill_in "q_name_cont", with: "size"
35
35
  click_icon :search
36
36
 
37
37
  expect(page).to have_content("shirt size")
@@ -41,13 +41,13 @@ describe "Properties", :type => :feature do
41
41
  end
42
42
 
43
43
  context "creating a property" do
44
- it "should allow an admin to create a new product property", :js => true do
44
+ it "should allow an admin to create a new product property", js: true do
45
45
  click_link "Properties"
46
46
  click_link "new_property_link"
47
47
  within('#new_property') { expect(page).to have_content("NEW PROPERTY") }
48
48
 
49
- fill_in "property_name", :with => "color of band"
50
- fill_in "property_presentation", :with => "color"
49
+ fill_in "property_name", with: "color of band"
50
+ fill_in "property_presentation", with: "color"
51
51
  click_button "Create"
52
52
  expect(page).to have_content("successfully created!")
53
53
  end
@@ -61,20 +61,20 @@ describe "Properties", :type => :feature do
61
61
  end
62
62
 
63
63
  it "should allow an admin to edit an existing product property" do
64
- fill_in "property_name", :with => "model 99"
64
+ fill_in "property_name", with: "model 99"
65
65
  click_button "Update"
66
66
  expect(page).to have_content("successfully updated!")
67
67
  expect(page).to have_content("model 99")
68
68
  end
69
69
 
70
70
  it "should show validation errors" do
71
- fill_in "property_name", :with => ""
71
+ fill_in "property_name", with: ""
72
72
  click_button "Update"
73
73
  expect(page).to have_content("Name can't be blank")
74
74
  end
75
75
  end
76
76
 
77
- context "linking a property to a product", :js => true do
77
+ context "linking a property to a product", js: true do
78
78
  before do
79
79
  create(:product)
80
80
  visit spree.admin_products_path
@@ -117,9 +117,9 @@ describe "Properties", :type => :feature do
117
117
  end
118
118
 
119
119
  def fill_in_property
120
- expect(page).to have_content('Editing Product')
121
- fill_in "product_product_properties_attributes_0_property_name", :with => "A Property"
122
- fill_in "product_product_properties_attributes_0_value", :with => "A Value"
120
+ expect(page).to have_content('Products')
121
+ fill_in "product_product_properties_attributes_0_property_name", with: "A Property"
122
+ fill_in "product_product_properties_attributes_0_value", with: "A Value"
123
123
  click_button "Update"
124
124
  click_link "Product Properties"
125
125
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Prototypes", :type => :feature do
3
+ describe "Prototypes", type: :feature do
4
4
  stub_authorization!
5
5
 
6
6
  context "listing prototypes" do
@@ -18,7 +18,7 @@ describe "Prototypes", :type => :feature do
18
18
  create(:property, name: "shirt_fit", presentation: "Fit")
19
19
  create(:property, name: "bag_material", presentation: "Material")
20
20
  create(:property, name: "shirt_type", presentation: "Type")
21
- p = create(:prototype, :name => "Shirt")
21
+ p = create(:prototype, name: "Shirt")
22
22
  %w( brand gender manufacturer model shirt_fabric shirt_fit shirt_sleeve_length shirt_type ).each do |prop|
23
23
  p.properties << Spree::Property.find_by_name(prop)
24
24
  end
@@ -42,7 +42,7 @@ describe "Prototypes", :type => :feature do
42
42
  end
43
43
 
44
44
  context "creating a prototype" do
45
- it "should allow an admin to create a new product prototype", :js => true do
45
+ it "should allow an admin to create a new product prototype", js: true do
46
46
  visit spree.admin_path
47
47
  click_nav "Products"
48
48
  click_link "Prototypes"
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Stock Management", :type => :feature do
3
+ describe "Stock Management", type: :feature do
4
4
  stub_authorization!
5
5
 
6
6
  before(:each) do
@@ -26,7 +26,7 @@ describe "Stock Management", :type => :feature do
26
26
  context "with no stock location" do
27
27
  before do
28
28
  @product = create(:product, name: 'apache baseball cap', price: 10)
29
- v = @product.variants.create!(sku: 'FOOBAR')
29
+ @product.variants.create!(sku: 'FOOBAR')
30
30
  Spree::StockLocation.destroy_all
31
31
  click_link "Back To Products List"
32
32
  within_row(1) do
@@ -36,7 +36,7 @@ describe "Stock Management", :type => :feature do
36
36
  end
37
37
 
38
38
  it "renders" do
39
- expect(page).to have_content(Spree.t(:editing_product))
39
+ expect(page).to have_content('Products / apache baseball cap')
40
40
  expect(page.current_url).to match("admin/products/apache-baseball-cap/stock")
41
41
  end
42
42
  end
@@ -54,13 +54,17 @@ describe "Stock Management", :type => :feature do
54
54
  stock_item.reload
55
55
  expect(stock_item.count_on_hand).to eq 4
56
56
  expect(stock_item.stock_movements.count).to eq 1
57
- expect(stock_item.stock_movements.first.quantity).to eq -6
57
+ expect(stock_item.stock_movements.first.quantity).to eq(-6)
58
58
  end
59
59
 
60
60
  def adjust_count_on_hand(count_on_hand)
61
- find(:css, ".fa-edit[data-id='#{stock_item.id}']").trigger('click')
62
- find(:css, "[data-variant-id='#{variant.id}'] input[type='number']").set(count_on_hand)
63
- find(:css, ".fa-check[data-id='#{stock_item.id}']").trigger('click')
61
+ within('.variant-stock-items', text: variant.sku) do
62
+ within('tr', text: stock_item.stock_location.name) do
63
+ click_icon :edit
64
+ find(:css, "input[type='number']").set(count_on_hand)
65
+ click_icon :check
66
+ end
67
+ end
64
68
  expect(page).to have_content('Updated successfully')
65
69
  end
66
70
 
@@ -71,10 +75,11 @@ describe "Stock Management", :type => :feature do
71
75
 
72
76
  it "can add stock items to other stock locations", js: true do
73
77
  visit current_url
74
- fill_in "variant-count-on-hand-#{variant.id}", with: '3'
75
- targetted_select2_search "Other location", from: "#s2id_variant-stock-location-#{variant.id}"
76
- find(:css, ".fa-plus[data-variant-id='#{variant.id}']").click
77
- wait_for_ajax
78
+ within('.variant-stock-items', text: variant.sku) do
79
+ fill_in "variant-count-on-hand-#{variant.id}", with: '3'
80
+ targetted_select2_search "Other location", from: "#s2id_variant-stock-location-#{variant.id}"
81
+ click_icon(:plus)
82
+ end
78
83
  expect(page).to have_content('Created successfully')
79
84
  end
80
85
  end