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,16 +1,16 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class PaymentsController < Spree::Admin::BaseController
4
- before_filter :load_order, :only => [:create, :new, :index, :fire]
5
- before_filter :load_payment, :except => [:create, :new, :index, :fire]
6
- before_filter :load_payment_for_fire, :only => :fire
4
+ before_filter :load_order, only: [:create, :new, :index, :fire]
5
+ before_filter :load_payment, except: [:create, :new, :index, :fire]
6
+ before_filter :load_payment_for_fire, only: :fire
7
7
  before_filter :load_data
8
8
  before_filter :require_bill_address, only: [:index]
9
9
 
10
10
  respond_to :html
11
11
 
12
12
  def index
13
- @payments = @order.payments.includes(:refunds => :reason)
13
+ @payments = @order.payments.includes(refunds: :reason)
14
14
  @refunds = @payments.flat_map(&:refunds)
15
15
  redirect_to new_admin_order_payment_url(@order) if @payments.empty?
16
16
  end
@@ -21,7 +21,7 @@ module Spree
21
21
 
22
22
  def create
23
23
  @payment = PaymentCreate.new(@order, object_params).build
24
- if @payment.payment_method.source_required? && params[:card].present? and params[:card] != 'new'
24
+ if @payment.payment_method.source_required? && params[:card].present? && params[:card] != 'new'
25
25
  @payment.source = @payment.payment_method.payment_source_class.find_by_id(params[:card])
26
26
  end
27
27
 
@@ -43,13 +43,13 @@ module Spree
43
43
  render :new
44
44
  end
45
45
  rescue Spree::Core::GatewayError => e
46
- flash[:error] = "#{e.message}"
46
+ flash[:error] = e.message.to_s
47
47
  redirect_to new_admin_order_payment_path(@order)
48
48
  end
49
49
  end
50
50
 
51
51
  def fire
52
- return unless event = params[:e] and @payment.payment_source
52
+ return unless (event = params[:e]) && @payment.payment_source
53
53
 
54
54
  # Because we have a transition method also called void, we do this to avoid conflicts.
55
55
  event = "void_transaction" if event == "void"
@@ -59,7 +59,7 @@ module Spree
59
59
  flash[:error] = Spree.t(:cannot_perform_operation)
60
60
  end
61
61
  rescue Spree::Core::GatewayError => ge
62
- flash[:error] = "#{ge.message}"
62
+ flash[:error] = ge.message.to_s
63
63
  ensure
64
64
  redirect_to admin_order_payments_path(@order)
65
65
  end
@@ -67,17 +67,17 @@ module Spree
67
67
  private
68
68
 
69
69
  def object_params
70
- if params[:payment] and params[:payment_source] and source_params = params.delete(:payment_source)[params[:payment][:payment_method_id]]
70
+ if params[:payment] && params[:payment_source] && (source_params = params.delete(:payment_source)[params[:payment][:payment_method_id]])
71
71
  params[:payment][:source_attributes] = source_params
72
72
  end
73
-
73
+
74
74
  params.require(:payment).permit(permitted_payment_attributes)
75
75
  end
76
76
 
77
77
  def load_data
78
78
  @amount = params[:amount] || load_order.total
79
79
  @payment_methods = PaymentMethod.available(:back_end)
80
- if @payment and @payment.payment_method
80
+ if @payment && @payment.payment_method
81
81
  @payment_method = @payment.payment_method
82
82
  else
83
83
  @payment_method = @payment_methods.first
@@ -1,27 +1,27 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class ProductPropertiesController < ResourceController
4
- belongs_to 'spree/product', :find_by => :slug
4
+ belongs_to 'spree/product', find_by: :slug
5
5
  before_action :find_properties
6
6
  before_action :setup_property, only: :index, if: -> { can?(:create, model_class) }
7
7
  before_action :setup_variant_property_rules, only: :index
8
8
 
9
9
  private
10
10
 
11
- def find_properties
12
- @properties = Spree::Property.pluck(:name)
13
- end
11
+ def find_properties
12
+ @properties = Spree::Property.pluck(:name)
13
+ end
14
14
 
15
- def setup_property
16
- @product.product_properties.build
17
- end
15
+ def setup_property
16
+ @product.product_properties.build
17
+ end
18
18
 
19
- def setup_variant_property_rules
20
- @option_types = @product.variant_option_values_by_option_type
21
- @option_value_ids = (params[:ovi] || []).reject(&:blank?).map(&:to_i)
22
- @variant_property_rule = @product.find_variant_property_rule(@option_value_ids) || @product.variant_property_rules.build
23
- @variant_property_rule.values.build if can?(:create, Spree::VariantPropertyRuleValue)
24
- end
19
+ def setup_variant_property_rules
20
+ @option_types = @product.variant_option_values_by_option_type
21
+ @option_value_ids = (params[:ovi] || []).reject(&:blank?).map(&:to_i)
22
+ @variant_property_rule = @product.find_variant_property_rule(@option_value_ids) || @product.variant_property_rules.build
23
+ @variant_property_rule.values.build if can?(:create, Spree::VariantPropertyRuleValue)
24
+ end
25
25
  end
26
26
  end
27
27
  end
@@ -3,7 +3,7 @@ module Spree
3
3
  class ProductsController < ResourceController
4
4
  helper 'spree/products'
5
5
 
6
- before_filter :load_data, :except => [:index]
6
+ before_filter :load_data, except: [:index]
7
7
  create.before :create_before
8
8
  update.before :update_before
9
9
  helper_method :clone_object_url
@@ -25,7 +25,7 @@ module Spree
25
25
  params[:product][:option_type_ids] = params[:product][:option_type_ids].split(',')
26
26
  end
27
27
  if updating_variant_property_rules?
28
- params[:product][:variant_property_rules_attributes].each do |index, param_attrs|
28
+ params[:product][:variant_property_rules_attributes].each do |_index, param_attrs|
29
29
  param_attrs[:option_value_ids] = param_attrs[:option_value_ids].split(',')
30
30
  end
31
31
  end
@@ -54,7 +54,7 @@ module Spree
54
54
 
55
55
  respond_with(@product) do |format|
56
56
  format.html { redirect_to collection_url }
57
- format.js { render_js_for_destroy }
57
+ format.js { render_js_for_destroy }
58
58
  end
59
59
  end
60
60
 
@@ -80,7 +80,7 @@ module Spree
80
80
  if updating_variant_property_rules?
81
81
  url_params = {}
82
82
  url_params[:ovi] = []
83
- params[:product][:variant_property_rules_attributes].each do |index, param_attrs|
83
+ params[:product][:variant_property_rules_attributes].each do |_index, param_attrs|
84
84
  url_params[:ovi] += param_attrs[:option_value_ids]
85
85
  end
86
86
  spree.admin_product_product_properties_url(@product, url_params)
@@ -4,25 +4,25 @@ class Spree::Admin::PromotionActionsController < Spree::Admin::BaseController
4
4
 
5
5
  def create
6
6
  @calculators = Spree::Promotion::Actions::CreateAdjustment.calculators
7
- @promotion_action = params[:action_type].constantize.new(params[:promotion_action])
7
+ @promotion_action = @promotion_action_type.new(params[:promotion_action])
8
8
  @promotion_action.promotion = @promotion
9
9
  if @promotion_action.save
10
- flash[:success] = Spree.t(:successfully_created, :resource => Spree.t(:promotion_action))
10
+ flash[:success] = Spree.t(:successfully_created, resource: Spree.t(:promotion_action))
11
11
  end
12
12
  respond_to do |format|
13
- format.html { redirect_to spree.edit_admin_promotion_path(@promotion)}
14
- format.js { render :layout => false }
13
+ format.html { redirect_to spree.edit_admin_promotion_path(@promotion) }
14
+ format.js { render layout: false }
15
15
  end
16
16
  end
17
17
 
18
18
  def destroy
19
19
  @promotion_action = @promotion.promotion_actions.find(params[:id])
20
20
  if @promotion_action.destroy
21
- flash[:success] = Spree.t(:successfully_removed, :resource => Spree.t(:promotion_action))
21
+ flash[:success] = Spree.t(:successfully_removed, resource: Spree.t(:promotion_action))
22
22
  end
23
23
  respond_to do |format|
24
- format.html { redirect_to spree.edit_admin_promotion_path(@promotion)}
25
- format.js { render :layout => false }
24
+ format.html { redirect_to spree.edit_admin_promotion_path(@promotion) }
25
+ format.js { render layout: false }
26
26
  end
27
27
  end
28
28
 
@@ -33,12 +33,16 @@ class Spree::Admin::PromotionActionsController < Spree::Admin::BaseController
33
33
  end
34
34
 
35
35
  def validate_promotion_action_type
36
- valid_promotion_action_types = Rails.application.config.spree.promotions.actions.map(&:to_s)
37
- if !valid_promotion_action_types.include?(params[:action_type])
36
+ requested_type = params[:action_type]
37
+ promotion_action_types = Rails.application.config.spree.promotions.actions
38
+ @promotion_action_type = promotion_action_types.detect do |klass|
39
+ klass.name == requested_type
40
+ end
41
+ if !@promotion_action_type
38
42
  flash[:error] = Spree.t(:invalid_promotion_action)
39
43
  respond_to do |format|
40
- format.html { redirect_to spree.edit_admin_promotion_path(@promotion)}
41
- format.js { render :layout => false }
44
+ format.html { redirect_to spree.edit_admin_promotion_path(@promotion) }
45
+ format.js { render layout: false }
42
46
  end
43
47
  end
44
48
  end
@@ -14,7 +14,6 @@ module Spree
14
14
  end
15
15
  end
16
16
  end
17
-
18
17
  end
19
18
  end
20
19
  end
@@ -5,29 +5,25 @@ class Spree::Admin::PromotionRulesController < Spree::Admin::BaseController
5
5
  before_action :validate_promotion_rule_type, only: :create
6
6
 
7
7
  def create
8
- # Remove type key from this hash so that we don't attempt
9
- # to set it when creating a new record, as this is raises
10
- # an error in ActiveRecord 3.2.
11
- promotion_rule_type = params[:promotion_rule].delete(:type)
12
- @promotion_rule = promotion_rule_type.constantize.new(params[:promotion_rule])
8
+ @promotion_rule = @promotion_rule_type.new(params[:promotion_rule])
13
9
  @promotion_rule.promotion = @promotion
14
10
  if @promotion_rule.save
15
- flash[:success] = Spree.t(:successfully_created, :resource => Spree.t(:promotion_rule))
11
+ flash[:success] = Spree.t(:successfully_created, resource: Spree.t(:promotion_rule))
16
12
  end
17
13
  respond_to do |format|
18
- format.html { redirect_to spree.edit_admin_promotion_path(@promotion)}
19
- format.js { render :layout => false }
14
+ format.html { redirect_to spree.edit_admin_promotion_path(@promotion) }
15
+ format.js { render layout: false }
20
16
  end
21
17
  end
22
18
 
23
19
  def destroy
24
20
  @promotion_rule = @promotion.promotion_rules.find(params[:id])
25
21
  if @promotion_rule.destroy
26
- flash[:success] = Spree.t(:successfully_removed, :resource => Spree.t(:promotion_rule))
22
+ flash[:success] = Spree.t(:successfully_removed, resource: Spree.t(:promotion_rule))
27
23
  end
28
24
  respond_to do |format|
29
- format.html { redirect_to spree.edit_admin_promotion_path(@promotion)}
30
- format.js { render :layout => false }
25
+ format.html { redirect_to spree.edit_admin_promotion_path(@promotion) }
26
+ format.js { render layout: false }
31
27
  end
32
28
  end
33
29
 
@@ -38,12 +34,16 @@ class Spree::Admin::PromotionRulesController < Spree::Admin::BaseController
38
34
  end
39
35
 
40
36
  def validate_promotion_rule_type
41
- valid_promotion_rule_types = Rails.application.config.spree.promotions.rules.map(&:to_s)
42
- if !valid_promotion_rule_types.include?(params[:promotion_rule][:type])
37
+ requested_type = params[:promotion_rule].delete(:type)
38
+ promotion_rule_types = Rails.application.config.spree.promotions.rules
39
+ @promotion_rule_type = promotion_rule_types.detect do |klass|
40
+ klass.name == requested_type
41
+ end
42
+ if !@promotion_rule_type
43
43
  flash[:error] = Spree.t(:invalid_promotion_rule)
44
44
  respond_to do |format|
45
- format.html { redirect_to spree.edit_admin_promotion_path(@promotion)}
46
- format.js { render :layout => false }
45
+ format.html { redirect_to spree.edit_admin_promotion_path(@promotion) }
46
+ format.js { render layout: false }
47
47
  end
48
48
  end
49
49
  end
@@ -11,7 +11,7 @@ module Spree
11
11
  def create
12
12
  @promotion_builder = Spree::PromotionBuilder.new(
13
13
  permitted_promo_builder_params.merge(user: try_spree_current_user),
14
- permitted_resource_params,
14
+ permitted_resource_params
15
15
  )
16
16
  @promotion = @promotion_builder.promotion
17
17
 
@@ -26,48 +26,48 @@ module Spree
26
26
 
27
27
  private
28
28
 
29
- def load_bulk_code_information
30
- @promotion_builder = Spree::PromotionBuilder.new(
31
- base_code: @promotion.codes.first.try!(:value),
32
- number_of_codes: @promotion.codes.count,
33
- )
34
- end
29
+ def load_bulk_code_information
30
+ @promotion_builder = Spree::PromotionBuilder.new(
31
+ base_code: @promotion.codes.first.try!(:value),
32
+ number_of_codes: @promotion.codes.count
33
+ )
34
+ end
35
35
 
36
- def location_after_save
37
- spree.edit_admin_promotion_url(@promotion)
38
- end
36
+ def location_after_save
37
+ spree.edit_admin_promotion_url(@promotion)
38
+ end
39
39
 
40
- def load_data
41
- @calculators = Rails.application.config.spree.calculators.promotion_actions_create_adjustments
42
- @promotion_categories = Spree::PromotionCategory.order(:name)
43
- end
40
+ def load_data
41
+ @calculators = Rails.application.config.spree.calculators.promotion_actions_create_adjustments
42
+ @promotion_categories = Spree::PromotionCategory.order(:name)
43
+ end
44
44
 
45
- def collection
46
- return @collection if defined?(@collection)
47
- params[:q] ||= HashWithIndifferentAccess.new
48
- params[:q][:s] ||= 'id desc'
45
+ def collection
46
+ return @collection if defined?(@collection)
47
+ params[:q] ||= HashWithIndifferentAccess.new
48
+ params[:q][:s] ||= 'id desc'
49
49
 
50
- @collection = super
51
- @search = @collection.ransack(params[:q])
52
- @collection = @search.result(distinct: true).
53
- includes(promotion_includes).
54
- page(params[:page]).
55
- per(params[:per_page] || Spree::Config[:promotions_per_page])
50
+ @collection = super
51
+ @search = @collection.ransack(params[:q])
52
+ @collection = @search.result(distinct: true).
53
+ includes(promotion_includes).
54
+ page(params[:page]).
55
+ per(params[:per_page] || Spree::Config[:promotions_per_page])
56
56
 
57
- @collection
58
- end
57
+ @collection
58
+ end
59
59
 
60
- def promotion_includes
61
- [:promotion_actions]
62
- end
60
+ def promotion_includes
61
+ [:promotion_actions]
62
+ end
63
63
 
64
- def permitted_promo_builder_params
65
- if params[:promotion_builder]
66
- params[:promotion_builder].permit(:base_code, :number_of_codes)
67
- else
68
- {}
69
- end
64
+ def permitted_promo_builder_params
65
+ if params[:promotion_builder]
66
+ params[:promotion_builder].permit(:base_code, :number_of_codes)
67
+ else
68
+ {}
70
69
  end
70
+ end
71
71
  end
72
72
  end
73
73
  end
@@ -3,7 +3,7 @@ module Spree
3
3
  class PrototypesController < ResourceController
4
4
  def show
5
5
  if request.xhr?
6
- render :layout => false
6
+ render layout: false
7
7
  else
8
8
  redirect_to admin_prototypes_path
9
9
  end
@@ -12,7 +12,7 @@ module Spree
12
12
  def available
13
13
  @prototypes = Prototype.order('name asc')
14
14
  respond_with(@prototypes) do |format|
15
- format.html { render :layout => !request.xhr? }
15
+ format.html { render layout: !request.xhr? }
16
16
  format.js
17
17
  end
18
18
  end
@@ -21,7 +21,6 @@ module Spree
21
21
  @prototype ||= Prototype.find(params[:id])
22
22
  @prototype_properties = @prototype.properties
23
23
  end
24
-
25
24
  end
26
25
  end
27
26
  end
@@ -12,7 +12,7 @@ module Spree
12
12
  if report_description_key.nil?
13
13
  report_description_key = "#{report_key}_description"
14
14
  end
15
- @@available_reports[report_key] = {name: Spree.t(report_key), description: Spree.t(report_description_key)}
15
+ @@available_reports[report_key] = { name: Spree.t(report_key), description: Spree.t(report_description_key) }
16
16
  end
17
17
  end
18
18
 
@@ -31,11 +31,19 @@ module Spree
31
31
  if params[:q][:completed_at_gt].blank?
32
32
  params[:q][:completed_at_gt] = Time.current.beginning_of_month
33
33
  else
34
- params[:q][:completed_at_gt] = Time.zone.parse(params[:q][:completed_at_gt]).beginning_of_day rescue Time.current.beginning_of_month
34
+ params[:q][:completed_at_gt] = begin
35
+ Time.zone.parse(params[:q][:completed_at_gt]).beginning_of_day
36
+ rescue
37
+ Time.current.beginning_of_month
38
+ end
35
39
  end
36
40
 
37
41
  if params[:q] && !params[:q][:completed_at_lt].blank?
38
- params[:q][:completed_at_lt] = Time.zone.parse(params[:q][:completed_at_lt]).end_of_day rescue ""
42
+ params[:q][:completed_at_lt] = begin
43
+ Time.zone.parse(params[:q][:completed_at_lt]).end_of_day
44
+ rescue
45
+ ""
46
+ end
39
47
  end
40
48
 
41
49
  params[:q][:s] ||= "completed_at desc"
@@ -59,8 +67,6 @@ module Spree
59
67
  end
60
68
  end
61
69
 
62
- private
63
-
64
70
  @@available_reports = {}
65
71
  end
66
72
  end
@@ -3,25 +3,25 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
3
3
 
4
4
  helper_method :new_object_url, :edit_object_url, :object_url, :collection_url
5
5
  before_action :load_resource, except: :update_positions
6
- rescue_from ActiveRecord::RecordNotFound, :with => :resource_not_found
6
+ rescue_from ActiveRecord::RecordNotFound, with: :resource_not_found
7
7
 
8
8
  respond_to :html
9
9
 
10
10
  def new
11
11
  invoke_callbacks(:new_action, :before)
12
12
  respond_with(@object) do |format|
13
- format.html { render :layout => !request.xhr? }
13
+ format.html { render layout: !request.xhr? }
14
14
  if request.xhr?
15
- format.js { render :layout => false }
15
+ format.js { render layout: false }
16
16
  end
17
17
  end
18
18
  end
19
19
 
20
20
  def edit
21
21
  respond_with(@object) do |format|
22
- format.html { render :layout => !request.xhr? }
22
+ format.html { render layout: !request.xhr? }
23
23
  if request.xhr?
24
- format.js { render :layout => false }
24
+ format.js { render layout: false }
25
25
  end
26
26
  end
27
27
  end
@@ -35,7 +35,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
35
35
  flash[:success] = flash_message_for(@object, :successfully_updated)
36
36
  redirect_to location_after_save
37
37
  end
38
- format.js { render :layout => false }
38
+ format.js { render layout: false }
39
39
  end
40
40
  else
41
41
  invoke_callbacks(:update, :fails)
@@ -57,7 +57,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
57
57
  flash[:success] = flash_message_for(@object, :successfully_created)
58
58
  respond_with(@object) do |format|
59
59
  format.html { redirect_to location_after_save }
60
- format.js { render :layout => false }
60
+ format.js { render layout: false }
61
61
  end
62
62
  else
63
63
  invoke_callbacks(:create, :fails)
@@ -79,7 +79,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
79
79
  end
80
80
 
81
81
  respond_to do |format|
82
- format.js { render text: 'Ok' }
82
+ format.js { render text: 'Ok' }
83
83
  end
84
84
  end
85
85
 
@@ -90,7 +90,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
90
90
  flash[:success] = flash_message_for(@object, :successfully_removed)
91
91
  respond_with(@object) do |format|
92
92
  format.html { redirect_to location_after_destroy }
93
- format.js { render :partial => "spree/admin/shared/destroy" }
93
+ format.js { render partial: "spree/admin/shared/destroy" }
94
94
  end
95
95
  else
96
96
  invoke_callbacks(:destroy, :fails)
@@ -102,169 +102,166 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
102
102
 
103
103
  private
104
104
 
105
- class << self
106
- attr_accessor :parent_data
105
+ class << self
106
+ attr_accessor :parent_data
107
107
 
108
- def belongs_to(model_name, options = {})
109
- @parent_data ||= {}
110
- @parent_data[:model_name] = model_name
111
- @parent_data[:model_class] = (options[:model_class] || model_name.to_s.classify.constantize)
112
- @parent_data[:find_by] = options[:find_by] || :id
113
- end
108
+ def belongs_to(model_name, options = {})
109
+ @parent_data ||= {}
110
+ @parent_data[:model_name] = model_name
111
+ @parent_data[:model_class] = (options[:model_class] || model_name.to_s.classify.constantize)
112
+ @parent_data[:find_by] = options[:find_by] || :id
114
113
  end
114
+ end
115
115
 
116
- def resource_not_found
117
- flash[:error] = flash_message_for(model_class.new, :not_found)
118
- redirect_to collection_url
119
- end
116
+ def resource_not_found
117
+ flash[:error] = flash_message_for(model_class.new, :not_found)
118
+ redirect_to collection_url
119
+ end
120
120
 
121
- def model_class
122
- "Spree::#{controller_name.classify}".constantize
123
- end
121
+ def model_class
122
+ "Spree::#{controller_name.classify}".constantize
123
+ end
124
124
 
125
- def model_name
126
- parent_data[:model_name].gsub('spree/', '')
127
- end
125
+ def model_name
126
+ parent_data[:model_name].gsub('spree/', '')
127
+ end
128
128
 
129
- def object_name
130
- controller_name.singularize
131
- end
129
+ def object_name
130
+ controller_name.singularize
131
+ end
132
132
 
133
- def load_resource
134
- if member_action?
135
- @object ||= load_resource_instance
133
+ def load_resource
134
+ if member_action?
135
+ @object ||= load_resource_instance
136
136
 
137
- # call authorize! a third time (called twice already in Admin::BaseController)
138
- # this time we pass the actual instance so fine-grained abilities can control
139
- # access to individual records, not just entire models.
140
- authorize! action, @object
137
+ # call authorize! a third time (called twice already in Admin::BaseController)
138
+ # this time we pass the actual instance so fine-grained abilities can control
139
+ # access to individual records, not just entire models.
140
+ authorize! action, @object
141
141
 
142
- instance_variable_set("@#{object_name}", @object)
143
- else
144
- @collection ||= collection
142
+ instance_variable_set("@#{object_name}", @object)
143
+ else
144
+ @collection ||= collection
145
145
 
146
- # note: we don't call authorize here as the collection method should use
147
- # CanCan's accessible_by method to restrict the actual records returned
146
+ # note: we don't call authorize here as the collection method should use
147
+ # CanCan's accessible_by method to restrict the actual records returned
148
148
 
149
- instance_variable_set("@#{controller_name}", @collection)
150
- end
149
+ instance_variable_set("@#{controller_name}", @collection)
151
150
  end
151
+ end
152
152
 
153
- def load_resource_instance
154
- if new_actions.include?(action)
155
- build_resource
156
- elsif params[:id]
157
- find_resource
158
- end
153
+ def load_resource_instance
154
+ if new_actions.include?(action)
155
+ build_resource
156
+ elsif params[:id]
157
+ find_resource
159
158
  end
159
+ end
160
160
 
161
- def parent_data
162
- self.class.parent_data
163
- end
161
+ def parent_data
162
+ self.class.parent_data
163
+ end
164
164
 
165
- def parent
166
- if parent_data.present?
167
- @parent ||= parent_data[:model_class].send("find_by_#{parent_data[:find_by]}", params["#{model_name}_id"])
168
- instance_variable_set("@#{model_name}", @parent)
169
- else
170
- nil
171
- end
165
+ def parent
166
+ if parent_data.present?
167
+ @parent ||= parent_data[:model_class].send("find_by_#{parent_data[:find_by]}", params["#{model_name}_id"])
168
+ instance_variable_set("@#{model_name}", @parent)
172
169
  end
170
+ end
173
171
 
174
- def find_resource
175
- if parent_data.present?
176
- parent.send(controller_name).find(params[:id])
177
- else
178
- model_class.find(params[:id])
179
- end
172
+ def find_resource
173
+ if parent_data.present?
174
+ parent.send(controller_name).find(params[:id])
175
+ else
176
+ model_class.find(params[:id])
180
177
  end
178
+ end
181
179
 
182
- def build_resource
183
- if parent_data.present?
184
- parent.send(controller_name).build
185
- else
186
- model_class.new
187
- end
180
+ def build_resource
181
+ if parent_data.present?
182
+ parent.send(controller_name).build
183
+ else
184
+ model_class.new
188
185
  end
186
+ end
189
187
 
190
- def collection
191
- return parent.send(controller_name) if parent_data.present?
192
- if model_class.respond_to?(:accessible_by) && !current_ability.has_block?(params[:action], model_class)
193
- model_class.accessible_by(current_ability, action)
194
- else
195
- model_class.where(nil)
196
- end
188
+ def collection
189
+ return parent.send(controller_name) if parent_data.present?
190
+ if model_class.respond_to?(:accessible_by) && !current_ability.has_block?(params[:action], model_class)
191
+ model_class.accessible_by(current_ability, action)
192
+ else
193
+ model_class.where(nil)
197
194
  end
195
+ end
198
196
 
199
- def location_after_destroy
200
- collection_url
201
- end
197
+ def location_after_destroy
198
+ collection_url
199
+ end
202
200
 
203
- def location_after_save
204
- collection_url
205
- end
201
+ def location_after_save
202
+ collection_url
203
+ end
206
204
 
207
- # URL helpers
205
+ # URL helpers
208
206
 
209
- def new_object_url(options = {})
210
- if parent_data.present?
211
- spree.new_polymorphic_url([:admin, parent, model_class], options)
212
- else
213
- spree.new_polymorphic_url([:admin, model_class], options)
214
- end
207
+ def new_object_url(options = {})
208
+ if parent_data.present?
209
+ spree.new_polymorphic_url([:admin, parent, model_class], options)
210
+ else
211
+ spree.new_polymorphic_url([:admin, model_class], options)
215
212
  end
213
+ end
216
214
 
217
- def edit_object_url(object, options = {})
218
-
219
- if parent_data.present?
220
- spree.polymorphic_url([:edit, :admin, parent, object], options)
221
- else
222
- spree.polymorphic_url([:edit, :admin, object], options)
223
- end
215
+ def edit_object_url(object, options = {})
216
+ if parent_data.present?
217
+ spree.polymorphic_url([:edit, :admin, parent, object], options)
218
+ else
219
+ spree.polymorphic_url([:edit, :admin, object], options)
224
220
  end
221
+ end
225
222
 
226
- def object_url(object = nil, options = {})
227
- target = object ? object : @object
223
+ def object_url(object = nil, options = {})
224
+ target = object ? object : @object
228
225
 
229
- if parent_data.present?
230
- spree.polymorphic_url([:admin, parent, target], options)
231
- else
232
- spree.polymorphic_url([:admin, target], options)
233
- end
226
+ if parent_data.present?
227
+ spree.polymorphic_url([:admin, parent, target], options)
228
+ else
229
+ spree.polymorphic_url([:admin, target], options)
234
230
  end
231
+ end
235
232
 
236
- def collection_url(options = {})
237
- if parent_data.present?
238
- spree.polymorphic_url([:admin, parent, model_class], options)
239
- else
240
- spree.polymorphic_url([:admin, model_class], options)
241
- end
233
+ def collection_url(options = {})
234
+ if parent_data.present?
235
+ spree.polymorphic_url([:admin, parent, model_class], options)
236
+ else
237
+ spree.polymorphic_url([:admin, model_class], options)
242
238
  end
239
+ end
243
240
 
244
- # Allow all attributes to be updatable.
245
- #
246
- # Other controllers can, should, override it to set custom logic
247
- def permitted_resource_params
248
- params[object_name].present? ? params.require(object_name).permit! : ActionController::Parameters.new
249
- end
241
+ # Allow all attributes to be updatable.
242
+ #
243
+ # Other controllers can, should, override it to set custom logic
244
+ def permitted_resource_params
245
+ params[object_name].present? ? params.require(object_name).permit! : ActionController::Parameters.new
246
+ end
250
247
 
251
- def collection_actions
252
- [:index]
253
- end
248
+ def collection_actions
249
+ [:index]
250
+ end
254
251
 
255
- def member_action?
256
- !collection_actions.include? action
257
- end
252
+ def member_action?
253
+ !collection_actions.include? action
254
+ end
258
255
 
259
- def new_actions
260
- [:new, :create]
261
- end
256
+ def new_actions
257
+ [:new, :create]
258
+ end
262
259
 
263
- def render_after_create_error
264
- render action: 'new'
265
- end
260
+ def render_after_create_error
261
+ render action: 'new'
262
+ end
266
263
 
267
- def render_after_update_error
268
- render action: 'edit'
269
- end
264
+ def render_after_update_error
265
+ render action: 'edit'
266
+ end
270
267
  end