solidus_backend 1.2.3 → 1.3.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 (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