spree_backend 2.4.10 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend/adjustments.js.coffee +1 -2
  3. data/app/assets/javascripts/spree/backend/admin.js.erb +136 -53
  4. data/app/assets/javascripts/spree/backend/checkouts/edit.js +1 -4
  5. data/app/assets/javascripts/spree/backend/index.html +15 -0
  6. data/app/assets/javascripts/spree/backend/line_items.js.coffee +1 -4
  7. data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js.erb +3 -16
  8. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js.erb +2 -4
  9. data/app/assets/javascripts/spree/backend/option_value_picker.js +44 -0
  10. data/app/assets/javascripts/spree/backend/orders/edit_form.js +2 -3
  11. data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +8 -12
  12. data/app/assets/javascripts/spree/backend/product_picker.js +10 -8
  13. data/app/assets/javascripts/spree/backend/progress.coffee +0 -21
  14. data/app/assets/javascripts/spree/backend/promotions.js +50 -1
  15. data/app/assets/javascripts/spree/backend/select_payments.js.coffee +7 -0
  16. data/app/assets/javascripts/spree/backend/shipments.js.erb +10 -41
  17. data/app/assets/javascripts/spree/backend/spree-select2.js.erb +0 -15
  18. data/app/assets/javascripts/spree/backend/states.js +3 -3
  19. data/app/assets/javascripts/spree/backend/stock_movement.js.coffee +1 -2
  20. data/app/assets/javascripts/spree/backend/stock_transfer.js.coffee +3 -2
  21. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js.erb +2 -4
  22. data/app/assets/javascripts/spree/backend/taxon_tree_menu.js.coffee +4 -4
  23. data/app/assets/javascripts/spree/backend/taxonomy.js.coffee +15 -34
  24. data/app/assets/javascripts/spree/backend/taxons.js.coffee +27 -8
  25. data/app/assets/javascripts/spree/backend/user_picker.js +2 -3
  26. data/app/assets/javascripts/spree/backend/variant_autocomplete.js.coffee.erb +1 -2
  27. data/app/assets/javascripts/spree/backend/variant_management.js.coffee +1 -2
  28. data/app/assets/javascripts/spree/backend.js +13 -15
  29. data/app/assets/stylesheets/spree/backend/components/_buttons.scss +37 -0
  30. data/app/assets/stylesheets/spree/backend/components/_filters.scss +25 -0
  31. data/app/assets/stylesheets/spree/backend/components/_icons.scss +257 -0
  32. data/app/assets/stylesheets/spree/backend/components/_labels.scss +49 -0
  33. data/app/assets/stylesheets/spree/backend/components/_main.scss +5 -0
  34. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +10 -165
  35. data/app/assets/stylesheets/spree/backend/components/_page_header.scss +17 -0
  36. data/app/assets/stylesheets/spree/backend/components/_panels.scss +3 -0
  37. data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +116 -20
  38. data/app/assets/stylesheets/spree/backend/components/_tables.scss +51 -0
  39. data/app/assets/stylesheets/spree/backend/components/_taxon_products_view.scss +70 -0
  40. data/app/assets/stylesheets/spree/backend/components/_variables.scss +12 -0
  41. data/app/assets/stylesheets/spree/backend/components/_wells.scss +3 -0
  42. data/app/assets/stylesheets/spree/backend/global/_variables.scss +37 -0
  43. data/app/assets/stylesheets/spree/backend/plugins/_jquery_ui.scss +109 -0
  44. data/app/{views/spree/admin/payments/source_forms/_check.html.erb → assets/stylesheets/spree/backend/plugins/_js_tree.scss} +0 -0
  45. data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +84 -155
  46. data/app/assets/stylesheets/spree/backend/sections/_account.scss +16 -0
  47. data/app/assets/stylesheets/spree/backend/shared/_base.scss +15 -0
  48. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +25 -287
  49. data/app/assets/stylesheets/spree/backend/shared/_typography.scss +5 -138
  50. data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +26 -0
  51. data/app/assets/stylesheets/spree/backend.css +1 -7
  52. data/app/controllers/spree/admin/base_controller.rb +0 -2
  53. data/app/controllers/spree/admin/customer_returns_controller.rb +1 -1
  54. data/app/controllers/spree/admin/general_settings_controller.rb +5 -12
  55. data/app/controllers/spree/admin/images_controller.rb +33 -17
  56. data/app/controllers/spree/admin/log_entries_controller.rb +2 -2
  57. data/app/controllers/spree/admin/option_types_controller.rb +5 -3
  58. data/app/controllers/spree/admin/orders/customer_details_controller.rb +8 -8
  59. data/app/controllers/spree/admin/orders_controller.rb +4 -5
  60. data/app/controllers/spree/admin/payments_controller.rb +3 -3
  61. data/app/controllers/spree/admin/products_controller.rb +3 -6
  62. data/app/controllers/spree/admin/resource_controller.rb +1 -1
  63. data/app/controllers/spree/admin/root_controller.rb +1 -0
  64. data/app/controllers/spree/admin/search_controller.rb +12 -0
  65. data/app/controllers/spree/admin/state_changes_controller.rb +18 -0
  66. data/app/controllers/spree/admin/stock_locations_controller.rb +4 -13
  67. data/app/controllers/spree/admin/stock_transfers_controller.rb +6 -6
  68. data/app/controllers/spree/admin/tax_categories_controller.rb +0 -13
  69. data/app/controllers/spree/admin/taxonomies_controller.rb +1 -1
  70. data/app/controllers/spree/admin/taxons_controller.rb +53 -36
  71. data/app/controllers/spree/admin/users_controller.rb +44 -41
  72. data/app/controllers/spree/admin/variants_controller.rb +1 -1
  73. data/app/helpers/spree/admin/adjustments_helper.rb +0 -5
  74. data/app/helpers/spree/admin/base_helper.rb +41 -71
  75. data/app/helpers/spree/admin/navigation_helper.rb +96 -28
  76. data/app/helpers/spree/admin/orders_helper.rb +2 -2
  77. data/app/views/kaminari/_first_page.html.erb +11 -0
  78. data/app/views/kaminari/_gap.html.erb +8 -0
  79. data/app/views/kaminari/_last_page.html.erb +11 -0
  80. data/app/views/kaminari/_next_page.html.erb +15 -0
  81. data/app/views/kaminari/_page.html.erb +12 -0
  82. data/app/views/kaminari/_paginator.html.erb +21 -0
  83. data/app/views/kaminari/_prev_page.html.erb +15 -0
  84. data/app/views/spree/admin/adjustments/_adjustment.html.erb +10 -9
  85. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +19 -15
  86. data/app/views/spree/admin/adjustments/_form.html.erb +11 -15
  87. data/app/views/spree/admin/adjustments/edit.html.erb +9 -12
  88. data/app/views/spree/admin/adjustments/index.html.erb +19 -7
  89. data/app/views/spree/admin/adjustments/new.html.erb +7 -11
  90. data/app/views/spree/admin/countries/_form.html.erb +15 -19
  91. data/app/views/spree/admin/countries/edit.html.erb +4 -12
  92. data/app/views/spree/admin/countries/index.html.erb +6 -18
  93. data/app/views/spree/admin/countries/new.html.erb +3 -5
  94. data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +4 -4
  95. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +9 -10
  96. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +5 -3
  97. data/app/views/spree/admin/customer_returns/edit.html.erb +17 -21
  98. data/app/views/spree/admin/customer_returns/index.html.erb +12 -16
  99. data/app/views/spree/admin/customer_returns/new.html.erb +29 -20
  100. data/app/views/spree/admin/general_settings/edit.html.erb +101 -90
  101. data/app/views/spree/admin/images/_form.html.erb +12 -12
  102. data/app/views/spree/admin/images/edit.html.erb +23 -21
  103. data/app/views/spree/admin/images/index.html.erb +25 -30
  104. data/app/views/spree/admin/images/new.html.erb +13 -11
  105. data/app/views/spree/admin/inventory_units/adjust.html.erb +29 -0
  106. data/app/views/spree/admin/log_entries/index.html.erb +9 -7
  107. data/app/views/spree/admin/option_types/_form.html.erb +10 -10
  108. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +8 -10
  109. data/app/views/spree/admin/option_types/edit.html.erb +28 -23
  110. data/app/views/spree/admin/option_types/index.html.erb +16 -22
  111. data/app/views/spree/admin/option_types/new.html.erb +4 -3
  112. data/app/views/spree/admin/orders/_add_line_item.html.erb +9 -10
  113. data/app/views/spree/admin/orders/_add_product.html.erb +11 -9
  114. data/app/views/spree/admin/orders/_adjustments.html.erb +21 -7
  115. data/app/views/spree/admin/orders/_form.html.erb +23 -10
  116. data/app/views/spree/admin/orders/_line_item.html.erb +18 -6
  117. data/app/views/spree/admin/orders/_line_items.html.erb +45 -45
  118. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +10 -11
  119. data/app/views/spree/admin/orders/_risk_analysis.html.erb +13 -13
  120. data/app/views/spree/admin/orders/_shipment.html.erb +31 -39
  121. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +23 -17
  122. data/app/views/spree/admin/orders/cart.html.erb +14 -15
  123. data/app/views/spree/admin/orders/customer_details/_form.html.erb +73 -52
  124. data/app/views/spree/admin/orders/customer_details/edit.html.erb +19 -15
  125. data/app/views/spree/admin/orders/edit.html.erb +12 -9
  126. data/app/views/spree/admin/orders/index.html.erb +145 -84
  127. data/app/views/spree/admin/payment_methods/_form.html.erb +26 -30
  128. data/app/views/spree/admin/payment_methods/edit.html.erb +5 -14
  129. data/app/views/spree/admin/payment_methods/index.html.erb +14 -29
  130. data/app/views/spree/admin/payment_methods/new.html.erb +4 -12
  131. data/app/views/spree/admin/payments/_capture_events.html.erb +2 -2
  132. data/app/views/spree/admin/payments/_form.html.erb +27 -30
  133. data/app/views/spree/admin/payments/_list.html.erb +20 -16
  134. data/app/views/spree/admin/payments/credit.html.erb +2 -2
  135. data/app/views/spree/admin/payments/index.html.erb +15 -13
  136. data/app/views/spree/admin/payments/new.html.erb +10 -11
  137. data/app/views/spree/admin/payments/show.html.erb +12 -9
  138. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +43 -47
  139. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +19 -19
  140. data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +5 -5
  141. data/app/views/spree/admin/product_properties/index.html.erb +5 -17
  142. data/app/views/spree/admin/products/_add_stock_form.html.erb +34 -25
  143. data/app/views/spree/admin/products/_autocomplete.js.erb +18 -7
  144. data/app/views/spree/admin/products/_form.html.erb +145 -150
  145. data/app/views/spree/admin/products/_properties_form.erb +2 -2
  146. data/app/views/spree/admin/products/edit.html.erb +3 -8
  147. data/app/views/spree/admin/products/index.html.erb +42 -63
  148. data/app/views/spree/admin/products/new.html.erb +29 -33
  149. data/app/views/spree/admin/products/stock.html.erb +67 -82
  150. data/app/views/spree/admin/promotion_actions/create.js.erb +1 -2
  151. data/app/views/spree/admin/promotion_actions/destroy.js.erb +1 -1
  152. data/app/views/spree/admin/promotion_categories/_form.html.erb +9 -9
  153. data/app/views/spree/admin/promotion_categories/edit.html.erb +2 -4
  154. data/app/views/spree/admin/promotion_categories/index.html.erb +27 -26
  155. data/app/views/spree/admin/promotion_categories/new.html.erb +1 -3
  156. data/app/views/spree/admin/promotion_rules/create.js.erb +1 -1
  157. data/app/views/spree/admin/promotion_rules/destroy.js.erb +1 -1
  158. data/app/views/spree/admin/promotions/_actions.html.erb +20 -17
  159. data/app/views/spree/admin/promotions/_form.html.erb +40 -39
  160. data/app/views/spree/admin/promotions/_promotion_action.html.erb +6 -6
  161. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +7 -6
  162. data/app/views/spree/admin/promotions/_rules.html.erb +36 -35
  163. data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +25 -23
  164. data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +23 -21
  165. data/app/views/spree/admin/promotions/actions/_create_line_items.html.erb +16 -16
  166. data/app/views/spree/admin/promotions/calculators/_default_fields.html.erb +8 -6
  167. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +29 -24
  168. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +29 -23
  169. data/app/views/spree/admin/promotions/edit.html.erb +16 -11
  170. data/app/views/spree/admin/promotions/index.html.erb +34 -58
  171. data/app/views/spree/admin/promotions/new.html.erb +4 -6
  172. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +11 -7
  173. data/app/views/spree/admin/promotions/rules/_landing_page.html.erb +9 -5
  174. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +42 -0
  175. data/app/views/spree/admin/promotions/rules/_product.html.erb +9 -8
  176. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +9 -8
  177. data/app/views/spree/admin/promotions/rules/_user.html.erb +5 -3
  178. data/app/views/spree/admin/properties/_form.html.erb +9 -9
  179. data/app/views/spree/admin/properties/edit.html.erb +3 -9
  180. data/app/views/spree/admin/properties/index.html.erb +42 -52
  181. data/app/views/spree/admin/properties/new.html.erb +10 -9
  182. data/app/views/spree/admin/prototypes/_form.html.erb +25 -28
  183. data/app/views/spree/admin/prototypes/_prototypes.html.erb +4 -8
  184. data/app/views/spree/admin/prototypes/available.js.erb +1 -1
  185. data/app/views/spree/admin/prototypes/edit.html.erb +3 -11
  186. data/app/views/spree/admin/prototypes/index.html.erb +23 -36
  187. data/app/views/spree/admin/prototypes/new.html.erb +8 -7
  188. data/app/views/spree/admin/prototypes/show.html.erb +15 -18
  189. data/app/views/spree/admin/refund_reasons/edit.html.erb +2 -2
  190. data/app/views/spree/admin/refund_reasons/index.html.erb +2 -2
  191. data/app/views/spree/admin/refund_reasons/new.html.erb +1 -1
  192. data/app/views/spree/admin/refunds/edit.html.erb +14 -18
  193. data/app/views/spree/admin/refunds/new.html.erb +19 -27
  194. data/app/views/spree/admin/reimbursement_types/index.html.erb +6 -7
  195. data/app/views/spree/admin/reimbursements/edit.html.erb +25 -31
  196. data/app/views/spree/admin/reimbursements/index.html.erb +4 -10
  197. data/app/views/spree/admin/reimbursements/show.html.erb +32 -36
  198. data/app/views/spree/admin/reports/index.html.erb +4 -4
  199. data/app/views/spree/admin/reports/sales_total.html.erb +6 -11
  200. data/app/views/spree/admin/return_authorization_reasons/edit.html.erb +0 -0
  201. data/app/views/spree/admin/return_authorization_reasons/index.html.erb +2 -2
  202. data/app/views/spree/admin/return_authorization_reasons/new.html.erb +0 -0
  203. data/app/views/spree/admin/return_authorizations/_form.html.erb +20 -20
  204. data/app/views/spree/admin/return_authorizations/edit.html.erb +6 -6
  205. data/app/views/spree/admin/return_authorizations/index.html.erb +12 -12
  206. data/app/views/spree/admin/return_authorizations/new.html.erb +6 -10
  207. data/app/views/spree/admin/search/products.rabl +9 -0
  208. data/app/views/spree/admin/search/users.rabl +21 -21
  209. data/app/views/spree/admin/shared/_address_form.html.erb +22 -22
  210. data/app/views/spree/admin/shared/_alert.html.erb +8 -5
  211. data/app/views/spree/admin/shared/_calculator_fields.html.erb +13 -8
  212. data/app/views/spree/admin/shared/_content_header.html.erb +19 -16
  213. data/app/views/spree/admin/shared/_edit_resource_links.html.erb +3 -3
  214. data/app/views/spree/admin/shared/_error_messages.html.erb +12 -0
  215. data/app/views/spree/admin/shared/_head.html.erb +4 -8
  216. data/app/views/spree/admin/shared/_header.html.erb +27 -8
  217. data/app/views/spree/admin/shared/_index_table_options.html.erb +23 -0
  218. data/app/views/spree/admin/shared/_main_menu.html.erb +35 -0
  219. data/app/views/spree/admin/shared/_new_resource_links.html.erb +3 -3
  220. data/app/views/spree/admin/shared/_order_summary.html.erb +121 -48
  221. data/app/views/spree/admin/shared/_order_tabs.html.erb +55 -7
  222. data/app/views/spree/admin/shared/_product_tabs.html.erb +19 -25
  223. data/app/views/spree/admin/shared/_refunds.html.erb +9 -9
  224. data/app/views/spree/admin/shared/_report_criteria.html.erb +4 -4
  225. data/app/views/spree/admin/shared/_report_order_criteria.html.erb +12 -12
  226. data/app/views/spree/admin/shared/_sidebar.html.erb +1 -6
  227. data/app/views/spree/admin/shared/_table_filter.html.erb +21 -5
  228. data/app/views/spree/admin/shared/named_types/_edit.html.erb +6 -7
  229. data/app/views/spree/admin/shared/named_types/_form.html.erb +10 -14
  230. data/app/views/spree/admin/shared/named_types/_index.html.erb +6 -17
  231. data/app/views/spree/admin/shared/named_types/_new.html.erb +5 -5
  232. data/app/views/spree/admin/shared/sub_menu/_configuration.html.erb +21 -0
  233. data/app/views/spree/admin/shared/sub_menu/_product.html.erb +8 -0
  234. data/app/views/spree/admin/shared/sub_menu/_promotion.html.erb +4 -0
  235. data/app/views/spree/admin/shipping_categories/_form.html.erb +2 -2
  236. data/app/views/spree/admin/shipping_categories/edit.html.erb +4 -14
  237. data/app/views/spree/admin/shipping_categories/index.html.erb +24 -32
  238. data/app/views/spree/admin/shipping_categories/new.html.erb +2 -10
  239. data/app/views/spree/admin/shipping_methods/_form.html.erb +88 -67
  240. data/app/views/spree/admin/shipping_methods/edit.html.erb +6 -19
  241. data/app/views/spree/admin/shipping_methods/index.html.erb +13 -25
  242. data/app/views/spree/admin/shipping_methods/new.html.erb +2 -12
  243. data/app/views/spree/admin/state_changes/index.html.erb +42 -0
  244. data/app/views/spree/admin/states/_form.html.erb +6 -6
  245. data/app/views/spree/admin/states/_state_list.html.erb +6 -11
  246. data/app/views/spree/admin/states/edit.html.erb +3 -11
  247. data/app/views/spree/admin/states/index.html.erb +5 -9
  248. data/app/views/spree/admin/states/new.html.erb +1 -4
  249. data/app/views/spree/admin/states/new.js.erb +2 -2
  250. data/app/views/spree/admin/stock_locations/_form.html.erb +51 -45
  251. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +15 -15
  252. data/app/views/spree/admin/stock_locations/edit.html.erb +4 -6
  253. data/app/views/spree/admin/stock_locations/index.html.erb +12 -26
  254. data/app/views/spree/admin/stock_locations/new.html.erb +3 -5
  255. data/app/views/spree/admin/stock_movements/_form.html.erb +10 -12
  256. data/app/views/spree/admin/stock_movements/edit.html.erb +4 -4
  257. data/app/views/spree/admin/stock_movements/index.html.erb +9 -15
  258. data/app/views/spree/admin/stock_movements/new.html.erb +3 -3
  259. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +17 -22
  260. data/app/views/spree/admin/stock_transfers/index.html.erb +36 -49
  261. data/app/views/spree/admin/stock_transfers/new.html.erb +73 -77
  262. data/app/views/spree/admin/stock_transfers/show.html.erb +21 -29
  263. data/app/views/spree/admin/tax_categories/_form.html.erb +19 -27
  264. data/app/views/spree/admin/tax_categories/edit.html.erb +4 -6
  265. data/app/views/spree/admin/tax_categories/index.html.erb +13 -26
  266. data/app/views/spree/admin/tax_categories/new.html.erb +3 -6
  267. data/app/views/spree/admin/tax_categories/show.html.erb +1 -1
  268. data/app/views/spree/admin/tax_rates/_form.html.erb +34 -25
  269. data/app/views/spree/admin/tax_rates/edit.html.erb +4 -15
  270. data/app/views/spree/admin/tax_rates/index.html.erb +18 -32
  271. data/app/views/spree/admin/tax_rates/new.html.erb +2 -14
  272. data/app/views/spree/admin/taxonomies/_form.html.erb +5 -5
  273. data/app/views/spree/admin/taxonomies/_js_head.html.erb +0 -0
  274. data/app/views/spree/admin/taxonomies/_list.html.erb +9 -12
  275. data/app/views/spree/admin/taxonomies/edit.erb +11 -22
  276. data/app/views/spree/admin/taxonomies/index.html.erb +9 -15
  277. data/app/views/spree/admin/taxonomies/new.html.erb +4 -16
  278. data/app/views/spree/admin/taxons/_form.html.erb +38 -38
  279. data/app/views/spree/admin/taxons/_taxon_table.html.erb +2 -2
  280. data/app/views/spree/admin/taxons/edit.html.erb +5 -13
  281. data/app/views/spree/admin/taxons/index.html.erb +6 -13
  282. data/app/views/spree/admin/trackers/_form.html.erb +17 -23
  283. data/app/views/spree/admin/trackers/edit.html.erb +4 -14
  284. data/app/views/spree/admin/trackers/index.html.erb +9 -15
  285. data/app/views/spree/admin/trackers/new.html.erb +2 -10
  286. data/app/views/spree/admin/users/_addresses_form.html.erb +33 -17
  287. data/app/views/spree/admin/users/_form.html.erb +17 -17
  288. data/app/views/spree/admin/users/_lifetime_stats.html.erb +26 -0
  289. data/app/views/spree/admin/users/_sidebar.html.erb +14 -34
  290. data/app/views/spree/admin/users/_user_page_actions.html.erb +2 -6
  291. data/app/views/spree/admin/users/addresses.html.erb +8 -7
  292. data/app/views/spree/admin/users/edit.html.erb +55 -38
  293. data/app/views/spree/admin/users/index.html.erb +44 -30
  294. data/app/views/spree/admin/users/items.html.erb +13 -24
  295. data/app/views/spree/admin/users/new.html.erb +1 -7
  296. data/app/views/spree/admin/users/orders.html.erb +11 -17
  297. data/app/views/spree/admin/variants/_autocomplete.js.erb +13 -15
  298. data/app/views/spree/admin/variants/_autocomplete_line_items_stock.js.erb +41 -44
  299. data/app/views/spree/admin/variants/_autocomplete_stock.js.erb +46 -51
  300. data/app/views/spree/admin/variants/_form.html.erb +34 -34
  301. data/app/views/spree/admin/variants/_split.js.erb +8 -4
  302. data/app/views/spree/admin/variants/edit.html.erb +2 -4
  303. data/app/views/spree/admin/variants/index.html.erb +14 -33
  304. data/app/views/spree/admin/variants/new.html.erb +8 -6
  305. data/app/views/spree/admin/variants/new.js.erb +1 -1
  306. data/app/views/spree/admin/zones/_country_members.html.erb +14 -8
  307. data/app/views/spree/admin/zones/_form.html.erb +42 -31
  308. data/app/views/spree/admin/zones/_state_members.html.erb +14 -8
  309. data/app/views/spree/admin/zones/edit.html.erb +3 -11
  310. data/app/views/spree/admin/zones/index.html.erb +9 -19
  311. data/app/views/spree/admin/zones/new.html.erb +2 -13
  312. data/app/views/spree/layouts/admin.html.erb +63 -36
  313. data/config/initializers/assets.rb +1 -1
  314. data/config/routes.rb +4 -1
  315. data/lib/spree/backend/engine.rb +3 -0
  316. data/lib/spree_backend.rb +2 -0
  317. data/vendor/assets/javascripts/jquery.cookie.js +115 -39
  318. data/vendor/assets/javascripts/modernizr.js +3 -3
  319. data/vendor/assets/javascripts/underscore-min.js +6 -0
  320. data/vendor/assets/javascripts/underscore-min.map +1 -0
  321. data/vendor/assets/javascripts/velocity.js +3831 -0
  322. data/vendor/assets/stylesheets/animate.css +3158 -0
  323. metadata +85 -96
  324. data/app/assets/javascripts/spree/backend/images/index.js.coffee +0 -16
  325. data/app/assets/javascripts/spree/backend/images/new.js.coffee +0 -7
  326. data/app/assets/javascripts/spree/backend/underscore-min.js +0 -1227
  327. data/app/assets/stylesheets/spree/backend/components/_actions.scss +0 -31
  328. data/app/assets/stylesheets/spree/backend/components/_date-picker.scss +0 -159
  329. data/app/assets/stylesheets/spree/backend/components/_messages.scss +0 -54
  330. data/app/assets/stylesheets/spree/backend/components/_pagination.scss +0 -17
  331. data/app/assets/stylesheets/spree/backend/components/_product_autocomplete.scss +0 -29
  332. data/app/assets/stylesheets/spree/backend/components/_progress.scss +0 -35
  333. data/app/assets/stylesheets/spree/backend/components/_states.scss +0 -34
  334. data/app/assets/stylesheets/spree/backend/components/_table-filter.scss +0 -14
  335. data/app/assets/stylesheets/spree/backend/globals/_functions.scss +0 -25
  336. data/app/assets/stylesheets/spree/backend/globals/_mixins.scss +0 -25
  337. data/app/assets/stylesheets/spree/backend/globals/_variables.scss +0 -171
  338. data/app/assets/stylesheets/spree/backend/globals/_variables_override.scss +0 -7
  339. data/app/assets/stylesheets/spree/backend/hacks/_ie.scss +0 -72
  340. data/app/assets/stylesheets/spree/backend/hacks/_mozilla.scss +0 -33
  341. data/app/assets/stylesheets/spree/backend/hacks/_opera.scss +0 -17
  342. data/app/assets/stylesheets/spree/backend/plugins/_jstree.scss +0 -135
  343. data/app/assets/stylesheets/spree/backend/plugins/_powertip.scss +0 -86
  344. data/app/assets/stylesheets/spree/backend/plugins/_token-input.scss +0 -110
  345. data/app/assets/stylesheets/spree/backend/sections/_adjustments_table.scss +0 -8
  346. data/app/assets/stylesheets/spree/backend/sections/_alerts.scss +0 -27
  347. data/app/assets/stylesheets/spree/backend/sections/_bulk_transfer.scss +0 -8
  348. data/app/assets/stylesheets/spree/backend/sections/_edit_checkouts.scss +0 -72
  349. data/app/assets/stylesheets/spree/backend/sections/_image_settings.scss +0 -3
  350. data/app/assets/stylesheets/spree/backend/sections/_log_entries.scss +0 -17
  351. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +0 -64
  352. data/app/assets/stylesheets/spree/backend/sections/_overview.scss +0 -86
  353. data/app/assets/stylesheets/spree/backend/sections/_products.scss +0 -123
  354. data/app/assets/stylesheets/spree/backend/sections/_promotions.scss +0 -119
  355. data/app/assets/stylesheets/spree/backend/sections/_return_authorizations.scss +0 -24
  356. data/app/assets/stylesheets/spree/backend/sections/_tax_zones.scss +0 -15
  357. data/app/assets/stylesheets/spree/backend/sections/_taxons.scss +0 -21
  358. data/app/assets/stylesheets/spree/backend/sections/_users.scss +0 -5
  359. data/app/assets/stylesheets/spree/backend/shared/_icons.scss +0 -53
  360. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +0 -99
  361. data/app/assets/stylesheets/spree/backend/shared/_tables.scss +0 -214
  362. data/app/assets/stylesheets/spree/backend/spree_admin.scss +0 -45
  363. data/app/views/spree/admin/line_items/create.js.erb +0 -1
  364. data/app/views/spree/admin/line_items/destroy.js.erb +0 -1
  365. data/app/views/spree/admin/option_types/new.js.erb +0 -2
  366. data/app/views/spree/admin/payments/_bill_address_form.html.erb +0 -9
  367. data/app/views/spree/admin/payments/source_views/_check.html.erb +0 -0
  368. data/app/views/spree/admin/products/new.js.erb +0 -7
  369. data/app/views/spree/admin/promotions/_tab.html.erb +0 -1
  370. data/app/views/spree/admin/promotions/rules/_first_order.html.erb +0 -0
  371. data/app/views/spree/admin/promotions/rules/_one_use_per_user.html.erb +0 -0
  372. data/app/views/spree/admin/promotions/rules/_user_logged_in.html.erb +0 -0
  373. data/app/views/spree/admin/properties/filtered.html.erb +0 -1
  374. data/app/views/spree/admin/properties/new.js.erb +0 -2
  375. data/app/views/spree/admin/prototypes/new.js.erb +0 -5
  376. data/app/views/spree/admin/shared/_address.html.erb +0 -6
  377. data/app/views/spree/admin/shared/_configuration_menu.html.erb +0 -28
  378. data/app/views/spree/admin/shared/_menu.html.erb +0 -9
  379. data/app/views/spree/admin/shared/_order_submenu.html.erb +0 -49
  380. data/app/views/spree/admin/shared/_product_sub_menu.html.erb +0 -10
  381. data/app/views/spree/admin/shared/_promotion_sub_menu.html.erb +0 -6
  382. data/app/views/spree/admin/shared/_show_resource_links.html.erb +0 -5
  383. data/app/views/spree/admin/shared/_sub_menu.html.erb +0 -9
  384. data/app/views/spree/admin/shared/_tabs.html.erb +0 -21
  385. data/app/views/spree/admin/taxonomies/_taxon.html.erb +0 -12
  386. data/app/views/spree/admin/taxons/search.rabl +0 -5
  387. data/app/views/spree/admin/variants/update.js.erb +0 -1
  388. data/vendor/assets/images/jquery.alerts/images/help.gif +0 -0
  389. data/vendor/assets/images/jquery.alerts/images/important.gif +0 -0
  390. data/vendor/assets/images/jquery.alerts/images/info.gif +0 -0
  391. data/vendor/assets/images/jquery.alerts/images/title.gif +0 -0
  392. data/vendor/assets/javascripts/css_browser_selector_dev.js +0 -129
  393. data/vendor/assets/javascripts/equalize.js +0 -41
  394. data/vendor/assets/javascripts/jquery.adaptivemenu.js +0 -60
  395. data/vendor/assets/javascripts/jquery.alerts/jquery.alerts.js +0 -235
  396. data/vendor/assets/javascripts/jquery.delayedobserver.js +0 -35
  397. data/vendor/assets/javascripts/jquery.powertip.js +0 -796
  398. data/vendor/assets/javascripts/jquery.vAlign.js +0 -11
  399. data/vendor/assets/javascripts/responsive-tables.js +0 -42
  400. data/vendor/assets/javascripts/spin.js +0 -379
  401. data/vendor/assets/javascripts/trunk8.js +0 -369
  402. data/vendor/assets/stylesheets/jquery.alerts/jquery.alerts.css.erb +0 -57
  403. data/vendor/assets/stylesheets/jquery.alerts/jquery.alerts.spree.css +0 -29
  404. data/vendor/assets/stylesheets/jquery.powertip.css +0 -85
  405. data/vendor/assets/stylesheets/responsive-tables.css +0 -21
@@ -6,13 +6,13 @@ module Spree
6
6
 
7
7
  def show
8
8
  edit
9
- render :action => :edit
9
+ render action: :edit
10
10
  end
11
11
 
12
12
  def edit
13
13
  country_id = Address.default.country.id
14
- @order.build_bill_address(:country_id => country_id) if @order.bill_address.nil?
15
- @order.build_ship_address(:country_id => country_id) if @order.ship_address.nil?
14
+ @order.build_bill_address(country_id: country_id) if @order.bill_address.nil?
15
+ @order.build_ship_address(country_id: country_id) if @order.ship_address.nil?
16
16
 
17
17
  @order.bill_address.country_id = country_id if @order.bill_address.country.nil?
18
18
  @order.ship_address.country_id = country_id if @order.ship_address.country.nil?
@@ -24,11 +24,11 @@ module Spree
24
24
  @order.associate_user!(Spree.user_class.find(params[:user_id]), @order.email.blank?)
25
25
  end
26
26
  @order.next
27
- @order.refresh_shipment_rates
27
+ @order.refresh_shipment_rates(ShippingMethod::DISPLAY_ON_FRONT_AND_BACK_END)
28
28
  flash[:success] = Spree.t('customer_details_updated')
29
29
  redirect_to edit_admin_order_url(@order)
30
30
  else
31
- render :action => :edit
31
+ render action: :edit
32
32
  end
33
33
 
34
34
  end
@@ -38,13 +38,13 @@ module Spree
38
38
  params.require(:order).permit(
39
39
  :email,
40
40
  :use_billing,
41
- :bill_address_attributes => permitted_address_attributes,
42
- :ship_address_attributes => permitted_address_attributes
41
+ bill_address_attributes: permitted_address_attributes,
42
+ ship_address_attributes: permitted_address_attributes
43
43
  )
44
44
  end
45
45
 
46
46
  def load_order
47
- @order = Order.includes(:adjustments).find_by_number!(params[:order_id])
47
+ @order = Order.includes(:adjustments).friendly.find(params[:order_id])
48
48
  end
49
49
 
50
50
  def model_class
@@ -11,7 +11,6 @@ module Spree
11
11
  params[:q][:completed_at_not_null] ||= '1' if Spree::Config[:show_only_complete_orders_by_default]
12
12
  @show_only_completed = params[:q][:completed_at_not_null] == '1'
13
13
  params[:q][:s] ||= @show_only_completed ? 'completed_at desc' : 'created_at desc'
14
- params[:q][:completed_at_not_null] = '' unless @show_only_completed
15
14
 
16
15
  # As date params are deleted if @show_only_completed, store
17
16
  # the original date so we can restore them into the params
@@ -57,7 +56,7 @@ module Spree
57
56
  can_not_transition_without_customer_info
58
57
 
59
58
  unless @order.completed?
60
- @order.refresh_shipment_rates
59
+ @order.refresh_shipment_rates(ShippingMethod::DISPLAY_ON_FRONT_AND_BACK_END)
61
60
  end
62
61
  end
63
62
 
@@ -65,7 +64,7 @@ module Spree
65
64
  unless @order.completed?
66
65
  @order.refresh_shipment_rates
67
66
  end
68
- if @order.shipped_shipments.count > 0
67
+ if @order.shipments.shipped.count > 0
69
68
  redirect_to edit_admin_order_url(@order)
70
69
  end
71
70
  end
@@ -103,7 +102,7 @@ module Spree
103
102
  end
104
103
 
105
104
  def resend
106
- OrderMailer.confirm_email(@order.id, true).deliver
105
+ OrderMailer.confirm_email(@order.id, true).deliver_later
107
106
  flash[:success] = Spree.t(:order_email_resent)
108
107
 
109
108
  redirect_to :back
@@ -132,7 +131,7 @@ module Spree
132
131
  end
133
132
 
134
133
  def load_order
135
- @order = Order.includes(:adjustments).find_by_number!(params[:id])
134
+ @order = Order.includes(:adjustments).friendly.find(params[:id])
136
135
  authorize! action, @order
137
136
  end
138
137
 
@@ -71,7 +71,7 @@ module Spree
71
71
  if params[:payment] and params[:payment_source] and source_params = params.delete(:payment_source)[params[:payment][:payment_method_id]]
72
72
  params[:payment][:source_attributes] = source_params
73
73
  end
74
-
74
+
75
75
  params.require(:payment).permit(permitted_payment_attributes)
76
76
  end
77
77
 
@@ -86,13 +86,13 @@ module Spree
86
86
  end
87
87
 
88
88
  def load_order
89
- @order = Order.find_by_number!(params[:order_id])
89
+ @order = Order.friendly.find(params[:order_id])
90
90
  authorize! action, @order
91
91
  @order
92
92
  end
93
93
 
94
94
  def load_payment
95
- @payment = Payment.find(params[:id])
95
+ @payment = Payment.friendly.find(params[:id])
96
96
  end
97
97
 
98
98
  def model_class
@@ -100,20 +100,17 @@ module Spree
100
100
 
101
101
  params[:q][:s] ||= "name asc"
102
102
  @collection = super
103
- # Don't delete params[:q][:deleted_at_null] here because it is used in view to check the
104
- # checkbox for 'q[deleted_at_null]'. This also messed with pagination when deleted_at_null is checked.
105
- if params[:q][:deleted_at_null] == '0'
103
+ if params[:q].delete(:deleted_at_null) == '0'
106
104
  @collection = @collection.with_deleted
107
105
  end
108
106
  # @search needs to be defined as this is passed to search_form_for
109
- # Temporarily remove params[:q][:deleted_at_null] from params[:q] to ransack products.
110
- # This is to include all products and not just deleted products.
111
- @search = @collection.ransack(params[:q].reject { |k, _v| k.to_s == 'deleted_at_null' })
107
+ @search = @collection.ransack(params[:q])
112
108
  @collection = @search.result.
113
109
  distinct_by_product_ids(params[:q][:s]).
114
110
  includes(product_includes).
115
111
  page(params[:page]).
116
112
  per(params[:per_page] || Spree::Config[:admin_products_per_page])
113
+
117
114
  @collection
118
115
  end
119
116
 
@@ -77,7 +77,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
77
77
  end
78
78
 
79
79
  respond_to do |format|
80
- format.js { render text: 'Ok' }
80
+ format.js { render text: 'Ok' }
81
81
  end
82
82
  end
83
83
 
@@ -9,6 +9,7 @@ module Spree
9
9
  end
10
10
 
11
11
  protected
12
+
12
13
  def admin_root_redirect_path
13
14
  spree.admin_orders_path
14
15
  end
@@ -21,6 +21,18 @@ module Spree
21
21
  }).result.limit(10)
22
22
  end
23
23
  end
24
+
25
+ def products
26
+ if params[:ids]
27
+ @products = Product.where(:id => params[:ids].split(","))
28
+ else
29
+ @products = Product.ransack(params[:q]).result
30
+ end
31
+
32
+ @products = @products.distinct.page(params[:page]).per(params[:per_page])
33
+ expires_in 15.minutes, :public => true
34
+ headers['Surrogate-Control'] = "max-age=#{15.minutes}"
35
+ end
24
36
  end
25
37
  end
26
38
  end
@@ -0,0 +1,18 @@
1
+ module Spree
2
+ module Admin
3
+ class StateChangesController < Spree::Admin::BaseController
4
+ before_action :load_order, only: [:index]
5
+
6
+ def index
7
+ @state_changes = @order.state_changes.includes(:user)
8
+ end
9
+
10
+ private
11
+
12
+ def load_order
13
+ @order = Order.find_by_number!(params[:order_id])
14
+ authorize! action, @order
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,25 +1,16 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class StockLocationsController < ResourceController
4
-
5
4
  before_action :set_country, only: :new
6
5
 
7
6
  private
8
7
 
9
8
  def set_country
10
- begin
11
- if Spree::Config[:default_country_id].present?
12
- @stock_location.country = Spree::Country.find(Spree::Config[:default_country_id])
13
- else
14
- @stock_location.country = Spree::Country.find_by!(iso: 'US')
15
- end
16
-
17
- rescue ActiveRecord::RecordNotFound
18
- flash[:error] = Spree.t(:stock_locations_need_a_default_country)
19
- redirect_to admin_stock_locations_path and return
20
- end
9
+ @stock_location.country = Spree::Country.default
10
+ rescue ActiveRecord::RecordNotFound
11
+ flash[:error] = Spree.t(:stock_locations_need_a_default_country)
12
+ redirect_to admin_stock_locations_path
21
13
  end
22
-
23
14
  end
24
15
  end
25
16
  end
@@ -6,14 +6,14 @@ module Spree
6
6
  def index
7
7
  @q = StockTransfer.ransack(params[:q])
8
8
 
9
- @stock_transfers = @q.result
10
- .includes(:stock_movements => { :stock_item => :stock_location })
11
- .order('created_at DESC')
12
- .page(params[:page])
9
+ @stock_transfers = @q.result.
10
+ includes(stock_movements: { stock_item: :stock_location }).
11
+ order('created_at DESC').
12
+ page(params[:page])
13
13
  end
14
14
 
15
15
  def show
16
- @stock_transfer = StockTransfer.find_by_param(params[:id])
16
+ @stock_transfer = StockTransfer.friendly.find(params[:id])
17
17
  end
18
18
 
19
19
  def new
@@ -26,7 +26,7 @@ module Spree
26
26
  variants[variant_id] += params[:quantity][i].to_i
27
27
  end
28
28
 
29
- stock_transfer = StockTransfer.create(:reference => params[:reference])
29
+ stock_transfer = StockTransfer.create(reference: params[:reference])
30
30
  stock_transfer.transfer(source_location,
31
31
  destination_location,
32
32
  variants)
@@ -1,19 +1,6 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class TaxCategoriesController < ResourceController
4
- def destroy
5
- if @object.destroy
6
- flash[:success] = flash_message_for(@object, :successfully_removed)
7
- respond_with(@object) do |format|
8
- format.html { redirect_to collection_url }
9
- format.js { render :partial => "spree/admin/shared/destroy" }
10
- end
11
- else
12
- respond_with(@object) do |format|
13
- format.html { redirect_to collection_url }
14
- end
15
- end
16
- end
17
4
  end
18
5
  end
19
6
  end
@@ -1,7 +1,7 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class TaxonomiesController < ResourceController
4
- respond_to :json, :only => [:get_children]
4
+ respond_to :json, only: [:get_children]
5
5
 
6
6
  def get_children
7
7
  @taxons = Taxon.find(params[:parent_id]).children
@@ -2,6 +2,8 @@ module Spree
2
2
  module Admin
3
3
  class TaxonsController < Spree::Admin::BaseController
4
4
 
5
+ before_action :load_taxonomy, only: [:create, :edit, :update]
6
+ before_action :load_taxon, only: [:edit, :update]
5
7
  respond_to :html, :json, :js
6
8
 
7
9
  def index
@@ -17,7 +19,6 @@ module Spree
17
19
  end
18
20
 
19
21
  def create
20
- @taxonomy = Taxonomy.find(params[:taxonomy_id])
21
22
  @taxon = @taxonomy.taxons.build(params[:taxon])
22
23
  if @taxon.save
23
24
  respond_with(@taxon) do |format|
@@ -32,40 +33,21 @@ module Spree
32
33
  end
33
34
 
34
35
  def edit
35
- @taxonomy = Taxonomy.find(params[:taxonomy_id])
36
- @taxon = @taxonomy.taxons.find(params[:id])
37
36
  @permalink_part = @taxon.permalink.split("/").last
38
37
  end
39
38
 
40
39
  def update
41
- @taxonomy = Taxonomy.find(params[:taxonomy_id])
42
- @taxon = @taxonomy.taxons.find(params[:id])
43
40
  parent_id = params[:taxon][:parent_id]
44
- new_position = params[:taxon][:position]
45
-
46
- if parent_id
47
- @taxon.parent = Taxon.find(parent_id.to_i)
48
- end
49
-
50
- if new_position
51
- @taxon.child_index = new_position.to_i
52
- end
41
+ set_position
42
+ set_parent(parent_id)
53
43
 
54
44
  @taxon.save!
55
45
 
56
46
  # regenerate permalink
57
- if parent_id
58
- @taxon.reload
59
- @taxon.set_permalink
60
- @taxon.save!
61
- @update_children = true
62
- end
47
+ regenerate_permalink if parent_id
48
+
49
+ set_permalink_params
63
50
 
64
- if params.key? "permalink_part"
65
- parent_permalink = @taxon.permalink.split("/")[0...-1].join("/")
66
- parent_permalink += "/" unless parent_permalink.blank?
67
- params[:taxon][:permalink] = parent_permalink + params[:permalink_part]
68
- end
69
51
  #check if we need to rename child taxons if parent name or permalink changes
70
52
  @update_children = true if params[:taxon][:name] != @taxon.name || params[:taxon][:permalink] != @taxon.permalink
71
53
 
@@ -74,13 +56,7 @@ module Spree
74
56
  end
75
57
 
76
58
  #rename child taxons
77
- if @update_children
78
- @taxon.descendants.each do |taxon|
79
- taxon.reload
80
- taxon.set_permalink
81
- taxon.save!
82
- end
83
- end
59
+ rename_child_taxons if @update_children
84
60
 
85
61
  respond_with(@taxon) do |format|
86
62
  format.html {redirect_to edit_admin_taxonomy_url(@taxonomy) }
@@ -95,13 +71,54 @@ module Spree
95
71
  end
96
72
 
97
73
  private
98
- def taxon_params
99
- params.require(:taxon).permit(permitted_params)
74
+
75
+ def taxon_params
76
+ params.require(:taxon).permit(permitted_taxon_attributes)
77
+ end
78
+
79
+ def load_taxon
80
+ @taxon = @taxonomy.taxons.find(params[:id])
81
+ end
82
+
83
+ def load_taxonomy
84
+ @taxonomy = Taxonomy.find(params[:taxonomy_id])
85
+ end
86
+
87
+ def set_position
88
+ new_position = params[:taxon][:position]
89
+ if new_position
90
+ @taxon.child_index = new_position.to_i
91
+ end
92
+ end
93
+
94
+ def set_parent(parent_id)
95
+ if parent_id
96
+ @taxon.parent = Taxon.find(parent_id.to_i)
100
97
  end
98
+ end
101
99
 
102
- def permitted_params
103
- Spree::PermittedAttributes.taxon_attributes
100
+ def set_permalink_params
101
+ if params.key? "permalink_part"
102
+ parent_permalink = @taxon.permalink.split("/")[0...-1].join("/")
103
+ parent_permalink += "/" unless parent_permalink.blank?
104
+ params[:taxon][:permalink] = parent_permalink + params[:permalink_part]
104
105
  end
106
+ end
107
+
108
+ def rename_child_taxons
109
+ @taxon.descendants.each do |taxon|
110
+ taxon.reload
111
+ taxon.set_permalink
112
+ taxon.save!
113
+ end
114
+ end
115
+
116
+ def regenerate_permalink
117
+ @taxon.reload
118
+ @taxon.set_permalink
119
+ @taxon.save!
120
+ @update_children = true
121
+ end
105
122
  end
106
123
  end
107
124
  end
@@ -8,6 +8,7 @@ module Spree
8
8
  # http://spreecommerce.com/blog/2010/11/02/json-hijacking-vulnerability/
9
9
  before_action :check_json_authenticity, only: :index
10
10
  before_action :load_roles
11
+ before_action :extract_roles_from_params, only: [:create, :update]
11
12
 
12
13
  def index
13
14
  respond_with(@collection) do |format|
@@ -21,16 +22,10 @@ module Spree
21
22
  end
22
23
 
23
24
  def create
24
- if params[:user]
25
- roles = params[:user].delete("spree_role_ids")
26
- end
27
25
 
28
26
  @user = Spree.user_class.new(user_params)
29
27
  if @user.save
30
-
31
- if roles
32
- @user.spree_roles = roles.reject(&:blank?).collect{|r| Spree::Role.find(r)}
33
- end
28
+ set_roles
34
29
 
35
30
  flash.now[:success] = Spree.t(:created_successfully)
36
31
  render :edit
@@ -40,14 +35,9 @@ module Spree
40
35
  end
41
36
 
42
37
  def update
43
- if params[:user]
44
- roles = params[:user].delete("spree_role_ids")
45
- end
46
38
 
47
39
  if @user.update_attributes(user_params)
48
- if roles
49
- @user.spree_roles = roles.reject(&:blank?).collect{|r| Spree::Role.find(r)}
50
- end
40
+ set_roles
51
41
  flash.now[:success] = Spree.t(:account_updated)
52
42
  end
53
43
 
@@ -117,43 +107,56 @@ module Spree
117
107
  end
118
108
 
119
109
  private
120
- def user_params
121
- params.require(:user).permit(PermittedAttributes.user_attributes |
122
- [:spree_role_ids,
123
- ship_address_attributes: PermittedAttributes.address_attributes,
124
- bill_address_attributes: PermittedAttributes.address_attributes])
110
+
111
+ def set_roles
112
+ if @roles_ids
113
+ @user.spree_roles = Spree::Role.where(id: @roles_ids)
125
114
  end
115
+ end
126
116
 
127
- # handling raise from Spree::Admin::ResourceController#destroy
128
- def user_destroy_with_orders_error
129
- invoke_callbacks(:destroy, :fails)
130
- render :status => :forbidden, :text => Spree.t(:error_user_destroy_with_orders)
117
+ def extract_roles_from_params
118
+ if params[:user]
119
+ @roles_ids = params[:user].delete("spree_role_ids")
131
120
  end
121
+ end
132
122
 
133
- # Allow different formats of json data to suit different ajax calls
134
- def json_data
135
- json_format = params[:json_format] or 'default'
136
- case json_format
137
- when 'basic'
138
- collection.map { |u| { 'id' => u.id, 'name' => u.email } }.to_json
139
- else
140
- address_fields = [:firstname, :lastname, :address1, :address2, :city, :zipcode, :phone, :state_name, :state_id, :country_id]
141
- includes = { :only => address_fields , :include => { :state => { :only => :name }, :country => { :only => :name } } }
123
+ def user_params
124
+ params.require(:user).permit(permitted_user_attributes |
125
+ [:spree_role_ids,
126
+ ship_address_attributes: permitted_address_attributes,
127
+ bill_address_attributes: permitted_address_attributes])
128
+ end
142
129
 
143
- collection.to_json(:only => [:id, :email], :include =>
144
- { :bill_address => includes, :ship_address => includes })
145
- end
146
- end
130
+ # handling raise from Spree::Admin::ResourceController#destroy
131
+ def user_destroy_with_orders_error
132
+ invoke_callbacks(:destroy, :fails)
133
+ render status: :forbidden, text: Spree.t(:error_user_destroy_with_orders)
134
+ end
147
135
 
148
- def sign_in_if_change_own_password
149
- if try_spree_current_user == @user && @user.password.present?
150
- sign_in(@user, :event => :authentication, :bypass => true)
151
- end
136
+ # Allow different formats of json data to suit different ajax calls
137
+ def json_data
138
+ json_format = params[:json_format] || 'default'
139
+ case json_format
140
+ when 'basic'
141
+ collection.map { |u| { 'id' => u.id, 'name' => u.email } }.to_json
142
+ else
143
+ address_fields = [:firstname, :lastname, :address1, :address2, :city, :zipcode, :phone, :state_name, :state_id, :country_id]
144
+ includes = { only: address_fields, include: { state: { only: :name }, country: { only: :name } } }
145
+
146
+ collection.to_json(only: [:id, :email], include:
147
+ { bill_address: includes, ship_address: includes })
152
148
  end
149
+ end
153
150
 
154
- def load_roles
155
- @roles = Spree::Role.all
151
+ def sign_in_if_change_own_password
152
+ if try_spree_current_user == @user && @user.password.present?
153
+ sign_in(@user, event: :authentication, bypass: true)
156
154
  end
155
+ end
156
+
157
+ def load_roles
158
+ @roles = Spree::Role.all
159
+ end
157
160
  end
158
161
  end
159
162
  end
@@ -33,7 +33,7 @@ module Spree
33
33
  @deleted = (params.key?(:deleted) && params[:deleted] == "on") ? "checked" : ""
34
34
 
35
35
  if @deleted.blank?
36
- @collection ||= super
36
+ @collection ||= super.includes(:default_price, option_values: :option_type)
37
37
  else
38
38
  @collection ||= Variant.only_deleted.where(:product_id => parent.id)
39
39
  end
@@ -1,11 +1,6 @@
1
1
  module Spree
2
2
  module Admin
3
3
  module AdjustmentsHelper
4
- def adjustment_state(adjustment)
5
- state = adjustment.state.to_sym
6
- icon = { closed: 'lock', open: 'unlock' }
7
- content_tag(:span, '', class: "fa fa-#{ icon[state] }")
8
- end
9
4
 
10
5
  def display_adjustable(adjustable)
11
6
  case adjustable