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,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