solidus_backend 1.2.3 → 1.3.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_backend might be problematic. Click here for more details.

Files changed (507) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/Rakefile +1 -1
  4. data/app/assets/javascripts/spree/backend.js +5 -4
  5. data/app/assets/javascripts/spree/backend/adjustments.js.coffee +1 -1
  6. data/app/assets/javascripts/spree/backend/{admin.js.erb → admin.js} +13 -44
  7. data/app/assets/javascripts/spree/backend/checkouts/edit.js +36 -25
  8. data/app/assets/javascripts/spree/backend/components/tabs.coffee +79 -0
  9. data/app/assets/javascripts/spree/backend/components/tooltips.js +31 -0
  10. data/app/assets/javascripts/spree/backend/images/index.js.coffee +0 -3
  11. data/app/assets/javascripts/spree/backend/{line_items_on_order_edit.js.erb → line_items_on_order_edit.js} +3 -10
  12. data/app/assets/javascripts/spree/backend/{option_type_autocomplete.js.erb → option_type_autocomplete.js} +0 -0
  13. data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +32 -147
  14. data/app/assets/javascripts/spree/backend/routes.js +1 -0
  15. data/app/assets/javascripts/spree/backend/shipments.js +314 -0
  16. data/app/assets/javascripts/spree/backend/{spree-select2.js.erb → spree-select2.js} +2 -11
  17. data/app/assets/javascripts/spree/backend/stock_management/index_add_forms.coffee +52 -73
  18. data/app/assets/javascripts/spree/backend/stock_management/index_update_forms.coffee +54 -52
  19. data/app/assets/javascripts/spree/backend/stock_management/stock_item.coffee +4 -37
  20. data/app/assets/javascripts/spree/backend/stock_movement.js.coffee +1 -1
  21. data/app/assets/javascripts/spree/backend/stock_transfers/edit.coffee +0 -10
  22. data/app/assets/javascripts/spree/backend/stock_transfers/receive.coffee +0 -10
  23. data/app/assets/javascripts/spree/backend/{taxon_autocomplete.js.erb → taxon_autocomplete.js} +10 -6
  24. data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +25 -19
  25. data/app/assets/javascripts/spree/backend/user_picker.js +8 -5
  26. data/app/assets/javascripts/spree/backend/{variant_autocomplete.js.coffee.erb → variant_autocomplete.js.coffee} +2 -4
  27. data/app/assets/stylesheets/spree/backend.css +0 -3
  28. data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +666 -0
  29. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +17 -0
  30. data/app/assets/stylesheets/spree/backend/components/_progress.scss +1 -0
  31. data/app/assets/stylesheets/spree/backend/components/_tabs.scss +108 -0
  32. data/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss +47 -0
  33. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +1 -1
  34. data/app/assets/stylesheets/spree/backend/sections/_payments.scss +14 -0
  35. data/app/assets/stylesheets/spree/backend/sections/_stock_management.scss +11 -9
  36. data/app/assets/stylesheets/spree/backend/sections/_stock_transfers.scss +0 -49
  37. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +11 -14
  38. data/app/assets/stylesheets/spree/backend/shared/_header.scss +30 -0
  39. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +0 -105
  40. data/app/assets/stylesheets/spree/backend/shared/_skeleton.scss +242 -0
  41. data/app/assets/stylesheets/spree/backend/shared/_tables.scss +2 -0
  42. data/app/assets/stylesheets/spree/backend/shared/_typography.scss +5 -1
  43. data/app/assets/stylesheets/spree/backend/shared/_utilities.scss +35 -0
  44. data/app/assets/stylesheets/spree/backend/spree_admin.scss +9 -5
  45. data/app/controllers/spree/admin/adjustments_controller.rb +2 -3
  46. data/app/controllers/spree/admin/base_controller.rb +46 -56
  47. data/app/controllers/spree/admin/cancellations_controller.rb +1 -1
  48. data/app/controllers/spree/admin/countries_controller.rb +0 -2
  49. data/app/controllers/spree/admin/customer_returns_controller.rb +1 -1
  50. data/app/controllers/spree/admin/general_settings_controller.rb +6 -8
  51. data/app/controllers/spree/admin/images_controller.rb +16 -17
  52. data/app/controllers/spree/admin/log_entries_controller.rb +1 -2
  53. data/app/controllers/spree/admin/option_types_controller.rb +17 -21
  54. data/app/controllers/spree/admin/option_values_controller.rb +1 -1
  55. data/app/controllers/spree/admin/orders/customer_details_controller.rb +21 -22
  56. data/app/controllers/spree/admin/orders_controller.rb +41 -42
  57. data/app/controllers/spree/admin/payment_methods_controller.rb +18 -18
  58. data/app/controllers/spree/admin/payments_controller.rb +11 -11
  59. data/app/controllers/spree/admin/product_properties_controller.rb +13 -13
  60. data/app/controllers/spree/admin/products_controller.rb +4 -4
  61. data/app/controllers/spree/admin/promotion_actions_controller.rb +15 -11
  62. data/app/controllers/spree/admin/promotion_codes_controller.rb +0 -1
  63. data/app/controllers/spree/admin/promotion_rules_controller.rb +15 -15
  64. data/app/controllers/spree/admin/promotions_controller.rb +35 -35
  65. data/app/controllers/spree/admin/prototypes_controller.rb +2 -3
  66. data/app/controllers/spree/admin/reports_controller.rb +11 -5
  67. data/app/controllers/spree/admin/resource_controller.rb +130 -133
  68. data/app/controllers/spree/admin/return_authorizations_controller.rb +2 -2
  69. data/app/controllers/spree/admin/return_items_controller.rb +0 -1
  70. data/app/controllers/spree/admin/search_controller.rb +1 -3
  71. data/app/controllers/spree/admin/shipping_methods_controller.rb +3 -3
  72. data/app/controllers/spree/admin/states_controller.rb +10 -10
  73. data/app/controllers/spree/admin/stock_items_controller.rb +42 -42
  74. data/app/controllers/spree/admin/stock_locations_controller.rb +4 -12
  75. data/app/controllers/spree/admin/stock_movements_controller.rb +1 -1
  76. data/app/controllers/spree/admin/stock_transfers_controller.rb +7 -4
  77. data/app/controllers/spree/admin/store_credits_controller.rb +4 -4
  78. data/app/controllers/spree/admin/style_guide_controller.rb +3 -0
  79. data/app/controllers/spree/admin/taxonomies_controller.rb +0 -6
  80. data/app/controllers/spree/admin/taxons_controller.rb +13 -36
  81. data/app/controllers/spree/admin/users_controller.rb +54 -72
  82. data/app/controllers/spree/admin/variants_controller.rb +22 -35
  83. data/app/controllers/spree/admin/variants_including_master_controller.rb +0 -2
  84. data/app/controllers/spree/admin/zones_controller.rb +11 -11
  85. data/app/helpers/spree/admin/adjustments_helper.rb +4 -5
  86. data/app/helpers/spree/admin/base_helper.rb +32 -34
  87. data/app/helpers/spree/admin/general_settings_helper.rb +1 -1
  88. data/app/helpers/spree/admin/images_helper.rb +0 -1
  89. data/app/helpers/spree/admin/navigation_helper.rb +41 -35
  90. data/app/helpers/spree/admin/orders_helper.rb +5 -6
  91. data/app/helpers/spree/admin/payments_helper.rb +1 -1
  92. data/app/helpers/spree/admin/products_helper.rb +7 -7
  93. data/app/helpers/spree/admin/stock_locations_helper.rb +1 -1
  94. data/app/helpers/spree/admin/store_credit_events_helper.rb +6 -6
  95. data/app/helpers/spree/admin/tables_helper.rb +0 -2
  96. data/app/helpers/spree/admin/taxons_helper.rb +1 -1
  97. data/app/helpers/spree/promotion_rules_helper.rb +1 -4
  98. data/app/models/spree/backend_configuration.rb +1 -0
  99. data/app/views/kaminari/solidus_admin/_first_page.html.erb +3 -0
  100. data/app/views/kaminari/solidus_admin/_gap.html.erb +3 -0
  101. data/app/views/kaminari/solidus_admin/_last_page.html.erb +3 -0
  102. data/app/views/kaminari/solidus_admin/_next_page.html.erb +3 -0
  103. data/app/views/kaminari/solidus_admin/_page.html.erb +9 -0
  104. data/app/views/kaminari/solidus_admin/_paginator.html.erb +15 -0
  105. data/app/views/kaminari/solidus_admin/_prev_page.html.erb +3 -0
  106. data/app/views/spree/admin/adjustment_reasons/edit.html.erb +2 -0
  107. data/app/views/spree/admin/adjustment_reasons/index.html.erb +7 -6
  108. data/app/views/spree/admin/adjustment_reasons/new.html.erb +2 -0
  109. data/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb +3 -3
  110. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +4 -4
  111. data/app/views/spree/admin/adjustments/_form.html.erb +5 -5
  112. data/app/views/spree/admin/adjustments/edit.html.erb +1 -2
  113. data/app/views/spree/admin/adjustments/new.html.erb +0 -1
  114. data/app/views/spree/admin/cancellations/index.html.erb +6 -6
  115. data/app/views/spree/admin/countries/_form.html.erb +3 -3
  116. data/app/views/spree/admin/countries/edit.html.erb +1 -1
  117. data/app/views/spree/admin/countries/index.html.erb +4 -4
  118. data/app/views/spree/admin/countries/new.html.erb +1 -1
  119. data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +4 -4
  120. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +10 -10
  121. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +11 -11
  122. data/app/views/spree/admin/customer_returns/edit.html.erb +2 -2
  123. data/app/views/spree/admin/customer_returns/index.html.erb +9 -10
  124. data/app/views/spree/admin/customer_returns/new.html.erb +2 -3
  125. data/app/views/spree/admin/general_settings/edit.html.erb +37 -26
  126. data/app/views/spree/admin/images/_form.html.erb +2 -2
  127. data/app/views/spree/admin/images/edit.html.erb +0 -1
  128. data/app/views/spree/admin/images/index.html.erb +2 -2
  129. data/app/views/spree/admin/images/new.html.erb +0 -3
  130. data/app/views/spree/admin/log_entries/index.html.erb +2 -2
  131. data/app/views/spree/admin/option_types/_form.html.erb +3 -3
  132. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
  133. data/app/views/spree/admin/option_types/edit.html.erb +7 -5
  134. data/app/views/spree/admin/option_types/index.html.erb +6 -7
  135. data/app/views/spree/admin/orders/_add_product.html.erb +1 -1
  136. data/app/views/spree/admin/orders/_adjustments.html.erb +4 -2
  137. data/app/views/spree/admin/orders/_carton.html.erb +7 -7
  138. data/app/views/spree/admin/orders/_carton_manifest.html.erb +3 -5
  139. data/app/views/spree/admin/orders/_form.html.erb +0 -1
  140. data/app/views/spree/admin/orders/_line_items.html.erb +10 -8
  141. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +0 -2
  142. data/app/views/spree/admin/orders/_risk_analysis.html.erb +3 -1
  143. data/app/views/spree/admin/orders/_shipment.html.erb +99 -100
  144. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +4 -9
  145. data/app/views/spree/admin/orders/confirm/_line_items.html.erb +4 -4
  146. data/app/views/spree/admin/orders/confirm/_payments.html.erb +7 -7
  147. data/app/views/spree/admin/orders/confirm/_shipment.html.erb +10 -7
  148. data/app/views/spree/admin/orders/confirm/_shipment_manifest.html.erb +2 -2
  149. data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -5
  150. data/app/views/spree/admin/orders/index.html.erb +15 -14
  151. data/app/views/spree/admin/payment_methods/_form.html.erb +9 -10
  152. data/app/views/spree/admin/payment_methods/edit.html.erb +1 -1
  153. data/app/views/spree/admin/payment_methods/index.html.erb +18 -17
  154. data/app/views/spree/admin/payment_methods/new.html.erb +2 -2
  155. data/app/views/spree/admin/payments/_capture_events.html.erb +2 -2
  156. data/app/views/spree/admin/payments/_form.html.erb +3 -3
  157. data/app/views/spree/admin/payments/_list.html.erb +29 -17
  158. data/app/views/spree/admin/payments/credit.html.erb +3 -3
  159. data/app/views/spree/admin/payments/index.html.erb +3 -3
  160. data/app/views/spree/admin/payments/new.html.erb +2 -2
  161. data/app/views/spree/admin/payments/show.html.erb +3 -3
  162. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +4 -4
  163. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +4 -4
  164. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +5 -5
  165. data/app/views/spree/admin/product_properties/index.html.erb +6 -8
  166. data/app/views/spree/admin/products/_form.html.erb +33 -33
  167. data/app/views/spree/admin/products/_properties_form.erb +1 -1
  168. data/app/views/spree/admin/products/index.html.erb +10 -9
  169. data/app/views/spree/admin/products/new.html.erb +6 -5
  170. data/app/views/spree/admin/promotion_codes/index.csv.ruby +2 -2
  171. data/app/views/spree/admin/promotions/_actions.html.erb +2 -2
  172. data/app/views/spree/admin/promotions/_form.html.erb +2 -2
  173. data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
  174. data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +1 -1
  175. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +1 -1
  176. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +1 -1
  177. data/app/views/spree/admin/promotions/index.html.erb +15 -16
  178. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +5 -2
  179. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +3 -3
  180. data/app/views/spree/admin/properties/_form.html.erb +2 -2
  181. data/app/views/spree/admin/properties/index.html.erb +8 -9
  182. data/app/views/spree/admin/prototypes/_form.html.erb +4 -4
  183. data/app/views/spree/admin/prototypes/_prototypes.html.erb +2 -2
  184. data/app/views/spree/admin/prototypes/index.html.erb +7 -10
  185. data/app/views/spree/admin/prototypes/new.js.erb +1 -1
  186. data/app/views/spree/admin/prototypes/show.html.erb +1 -1
  187. data/app/views/spree/admin/refund_reasons/edit.html.erb +2 -0
  188. data/app/views/spree/admin/refund_reasons/index.html.erb +7 -8
  189. data/app/views/spree/admin/refund_reasons/new.html.erb +2 -0
  190. data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +2 -2
  191. data/app/views/spree/admin/refunds/edit.html.erb +3 -4
  192. data/app/views/spree/admin/refunds/new.html.erb +4 -5
  193. data/app/views/spree/admin/reimbursement_types/index.html.erb +4 -4
  194. data/app/views/spree/admin/reimbursements/edit.html.erb +10 -11
  195. data/app/views/spree/admin/reimbursements/index.html.erb +4 -6
  196. data/app/views/spree/admin/reimbursements/show.html.erb +12 -12
  197. data/app/views/spree/admin/return_authorizations/_form.html.erb +15 -15
  198. data/app/views/spree/admin/return_authorizations/edit.html.erb +1 -2
  199. data/app/views/spree/admin/return_authorizations/index.html.erb +5 -5
  200. data/app/views/spree/admin/return_authorizations/new.html.erb +1 -2
  201. data/app/views/spree/admin/return_reasons/index.html.erb +2 -2
  202. data/app/views/spree/admin/shared/_address_form.html.erb +10 -10
  203. data/app/views/spree/admin/shared/_areas_tabs.html.erb +19 -0
  204. data/app/views/spree/admin/shared/_calculator_fields.html.erb +2 -2
  205. data/app/views/spree/admin/shared/_configuration_menu.html.erb +9 -64
  206. data/app/views/spree/admin/shared/_destroy.js.erb +0 -2
  207. data/app/views/spree/admin/shared/_edit_resource_links.html.erb +0 -1
  208. data/app/views/spree/admin/shared/_flash.html.erb +11 -0
  209. data/app/views/spree/admin/shared/_general_tabs.html.erb +2 -0
  210. data/app/views/spree/admin/shared/_head.html.erb +10 -1
  211. data/app/views/spree/admin/shared/_header.html.erb +13 -5
  212. data/app/views/spree/admin/shared/_navigation.html.erb +1 -1
  213. data/app/views/spree/admin/shared/_navigation_header.html.erb +5 -0
  214. data/app/views/spree/admin/shared/_new_resource_links.html.erb +0 -1
  215. data/app/views/spree/admin/shared/_no_objects_found.html.erb +4 -0
  216. data/app/views/spree/admin/shared/_order_submenu.html.erb +18 -18
  217. data/app/views/spree/admin/shared/_order_summary.html.erb +12 -12
  218. data/app/views/spree/admin/shared/_order_tabs.html.erb +4 -1
  219. data/app/views/spree/admin/shared/_payments_tabs.html.erb +9 -0
  220. data/app/views/spree/admin/shared/_product_sub_menu.html.erb +2 -2
  221. data/app/views/spree/admin/shared/_product_tabs.html.erb +9 -14
  222. data/app/views/spree/admin/shared/_promotion_sub_menu.html.erb +1 -1
  223. data/app/views/spree/admin/shared/_refunds.html.erb +6 -6
  224. data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +21 -0
  225. data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +26 -0
  226. data/app/views/spree/admin/shared/_shipping_tabs.html.erb +17 -0
  227. data/app/views/spree/admin/shared/_spinner.html.erb +6 -0
  228. data/app/views/spree/admin/shared/_stock_sub_menu.html.erb +3 -3
  229. data/app/views/spree/admin/shared/_table_filter.html.erb +1 -1
  230. data/app/views/spree/admin/shared/_tabs.html.erb +4 -2
  231. data/app/views/spree/admin/shared/_taxes_tabs.html.erb +13 -0
  232. data/app/views/spree/admin/shared/_variant_search.html.erb +2 -2
  233. data/app/views/spree/admin/shared/named_types/_edit.html.erb +2 -0
  234. data/app/views/spree/admin/shared/named_types/_form.html.erb +3 -5
  235. data/app/views/spree/admin/shared/named_types/_index.html.erb +4 -5
  236. data/app/views/spree/admin/shared/named_types/_new.html.erb +2 -0
  237. data/app/views/spree/admin/shipping_categories/_form.html.erb +2 -2
  238. data/app/views/spree/admin/shipping_categories/edit.html.erb +1 -1
  239. data/app/views/spree/admin/shipping_categories/index.html.erb +6 -7
  240. data/app/views/spree/admin/shipping_categories/new.html.erb +1 -1
  241. data/app/views/spree/admin/shipping_methods/_form.html.erb +26 -8
  242. data/app/views/spree/admin/shipping_methods/edit.html.erb +1 -1
  243. data/app/views/spree/admin/shipping_methods/index.html.erb +10 -11
  244. data/app/views/spree/admin/shipping_methods/new.html.erb +1 -1
  245. data/app/views/spree/admin/states/_form.html.erb +2 -2
  246. data/app/views/spree/admin/states/_state_list.html.erb +3 -3
  247. data/app/views/spree/admin/states/edit.html.erb +1 -1
  248. data/app/views/spree/admin/states/index.html.erb +3 -3
  249. data/app/views/spree/admin/states/new.html.erb +1 -1
  250. data/app/views/spree/admin/stock_items/_stock_management.html.erb +15 -27
  251. data/app/views/spree/admin/stock_items/index.html.erb +1 -3
  252. data/app/views/spree/admin/stock_locations/_form.html.erb +17 -18
  253. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +2 -3
  254. data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
  255. data/app/views/spree/admin/stock_locations/index.html.erb +9 -10
  256. data/app/views/spree/admin/stock_locations/new.html.erb +1 -1
  257. data/app/views/spree/admin/stock_movements/_form.html.erb +2 -2
  258. data/app/views/spree/admin/stock_movements/index.html.erb +8 -9
  259. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +4 -4
  260. data/app/views/spree/admin/stock_transfers/_transfer_item_actions.html.erb +1 -1
  261. data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +1 -1
  262. data/app/views/spree/admin/stock_transfers/edit.html.erb +8 -21
  263. data/app/views/spree/admin/stock_transfers/index.html.erb +8 -6
  264. data/app/views/spree/admin/stock_transfers/new.html.erb +2 -3
  265. data/app/views/spree/admin/stock_transfers/receive.html.erb +6 -21
  266. data/app/views/spree/admin/stock_transfers/show.html.erb +8 -8
  267. data/app/views/spree/admin/stock_transfers/tracking_info.html.erb +10 -23
  268. data/app/views/spree/admin/store_credits/_form.html.erb +3 -3
  269. data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +1 -1
  270. data/app/views/spree/admin/store_credits/edit_amount.html.erb +1 -1
  271. data/app/views/spree/admin/store_credits/edit_validity.html.erb +0 -1
  272. data/app/views/spree/admin/store_credits/index.html.erb +11 -12
  273. data/app/views/spree/admin/store_credits/show.html.erb +11 -11
  274. data/app/views/spree/admin/style_guide/topics/components/_tabs.html.erb +17 -0
  275. data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +2 -2
  276. data/app/views/spree/admin/style_guide/topics/messaging/_tooltips.html.erb +1 -1
  277. data/app/views/spree/admin/tax_categories/_form.html.erb +5 -7
  278. data/app/views/spree/admin/tax_categories/edit.html.erb +1 -1
  279. data/app/views/spree/admin/tax_categories/index.html.erb +8 -9
  280. data/app/views/spree/admin/tax_categories/new.html.erb +1 -1
  281. data/app/views/spree/admin/tax_categories/show.html.erb +1 -1
  282. data/app/views/spree/admin/tax_rates/_form.html.erb +4 -4
  283. data/app/views/spree/admin/tax_rates/edit.html.erb +1 -1
  284. data/app/views/spree/admin/tax_rates/index.html.erb +12 -13
  285. data/app/views/spree/admin/tax_rates/new.html.erb +2 -2
  286. data/app/views/spree/admin/taxonomies/_form.html.erb +1 -1
  287. data/app/views/spree/admin/taxonomies/_list.html.erb +1 -1
  288. data/app/views/spree/admin/taxonomies/edit.erb +0 -3
  289. data/app/views/spree/admin/taxonomies/index.html.erb +4 -7
  290. data/app/views/spree/admin/taxonomies/new.html.erb +1 -3
  291. data/app/views/spree/admin/taxons/_form.html.erb +8 -7
  292. data/app/views/spree/admin/taxons/_taxon_table.html.erb +1 -1
  293. data/app/views/spree/admin/taxons/edit.html.erb +1 -4
  294. data/app/views/spree/admin/taxons/index.html.erb +1 -1
  295. data/app/views/spree/admin/trackers/_form.html.erb +3 -3
  296. data/app/views/spree/admin/trackers/edit.html.erb +1 -1
  297. data/app/views/spree/admin/trackers/index.html.erb +7 -8
  298. data/app/views/spree/admin/trackers/new.html.erb +1 -1
  299. data/app/views/spree/admin/users/_addresses_form.html.erb +2 -4
  300. data/app/views/spree/admin/users/_form.html.erb +6 -6
  301. data/app/views/spree/admin/users/_sidebar.html.erb +5 -5
  302. data/app/views/spree/admin/users/addresses.html.erb +1 -1
  303. data/app/views/spree/admin/users/edit.html.erb +0 -2
  304. data/app/views/spree/admin/users/index.html.erb +2 -2
  305. data/app/views/spree/admin/users/items.html.erb +11 -12
  306. data/app/views/spree/admin/users/orders.html.erb +9 -10
  307. data/app/views/spree/admin/variants/_form.html.erb +60 -34
  308. data/app/views/spree/admin/variants/_table.html.erb +47 -0
  309. data/app/views/spree/admin/variants/_table_filter.html.erb +25 -0
  310. data/app/views/spree/admin/variants/edit.html.erb +6 -1
  311. data/app/views/spree/admin/variants/index.html.erb +28 -112
  312. data/app/views/spree/admin/variants/new.html.erb +1 -1
  313. data/app/views/spree/admin/variants/new.js.erb +2 -3
  314. data/app/views/spree/admin/zones/_country_members.html.erb +2 -2
  315. data/app/views/spree/admin/zones/_form.html.erb +3 -3
  316. data/app/views/spree/admin/zones/_state_members.html.erb +2 -2
  317. data/app/views/spree/admin/zones/edit.html.erb +1 -1
  318. data/app/views/spree/admin/zones/index.html.erb +9 -10
  319. data/app/views/spree/admin/zones/new.html.erb +1 -1
  320. data/app/views/spree/layouts/admin.html.erb +15 -33
  321. data/config/initializers/assets.rb +7 -1
  322. data/config/initializers/form_builder.rb +2 -3
  323. data/config/routes.rb +12 -11
  324. data/lib/spree/backend.rb +1 -0
  325. data/lib/spree/backend/action_callbacks.rb +0 -1
  326. data/lib/spree/backend/callbacks.rb +3 -5
  327. data/lib/spree/backend/engine.rb +1 -14
  328. data/script/rails +0 -1
  329. data/solidus_backend.gemspec +1 -0
  330. data/spec/controllers/spree/admin/base_controller_spec.rb +2 -2
  331. data/spec/controllers/spree/admin/cancellations_controller_spec.rb +2 -2
  332. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +6 -7
  333. data/spec/controllers/spree/admin/general_settings_controller_spec.rb +1 -1
  334. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +2 -4
  335. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -1
  336. data/spec/controllers/spree/admin/orders_controller_spec.rb +27 -91
  337. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +38 -13
  338. data/spec/controllers/spree/admin/payments_controller_spec.rb +108 -104
  339. data/spec/controllers/spree/admin/products_controller_spec.rb +7 -7
  340. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +3 -3
  341. data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +1 -1
  342. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +3 -3
  343. data/spec/controllers/spree/admin/promotions_controller_spec.rb +6 -9
  344. data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -1
  345. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +3 -3
  346. data/spec/controllers/spree/admin/reports_controller_spec.rb +14 -9
  347. data/spec/controllers/spree/admin/resource_controller_spec.rb +6 -6
  348. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +13 -13
  349. data/spec/controllers/spree/admin/return_items_controller_spec.rb +2 -2
  350. data/spec/controllers/spree/admin/search_controller_spec.rb +2 -2
  351. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +3 -3
  352. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +1 -1
  353. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +8 -7
  354. data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +13 -25
  355. data/spec/controllers/spree/admin/store_credits_controller_spec.rb +3 -4
  356. data/spec/controllers/spree/admin/users_controller_spec.rb +19 -19
  357. data/spec/controllers/spree/admin/variants_controller_spec.rb +7 -6
  358. data/spec/features/admin/configuration/analytics_tracker_spec.rb +3 -3
  359. data/spec/features/admin/configuration/countries_spec.rb +1 -1
  360. data/spec/features/admin/configuration/general_settings_spec.rb +12 -2
  361. data/spec/features/admin/configuration/payment_methods_spec.rb +13 -12
  362. data/spec/features/admin/configuration/shipping_methods_spec.rb +7 -7
  363. data/spec/features/admin/configuration/states_spec.rb +12 -12
  364. data/spec/features/admin/configuration/stock_locations_spec.rb +5 -4
  365. data/spec/features/admin/configuration/tax_categories_spec.rb +6 -6
  366. data/spec/features/admin/configuration/tax_rates_spec.rb +4 -4
  367. data/spec/features/admin/configuration/taxonomies_spec.rb +6 -6
  368. data/spec/features/admin/configuration/zones_spec.rb +6 -6
  369. data/spec/features/admin/homepage_spec.rb +2 -5
  370. data/spec/features/admin/locale_spec.rb +9 -7
  371. data/spec/features/admin/orders/adjustments_promotions_spec.rb +15 -15
  372. data/spec/features/admin/orders/adjustments_spec.rb +17 -18
  373. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +1 -2
  374. data/spec/features/admin/orders/cancelling_inventory_spec.rb +1 -1
  375. data/spec/features/admin/orders/customer_details_spec.rb +12 -12
  376. data/spec/features/admin/orders/line_items_spec.rb +3 -3
  377. data/spec/features/admin/orders/listing_spec.rb +21 -1
  378. data/spec/features/admin/orders/log_entries_spec.rb +7 -7
  379. data/spec/features/admin/orders/new_order_spec.rb +7 -7
  380. data/spec/features/admin/orders/order_details_spec.rb +41 -29
  381. data/spec/features/admin/orders/payments_spec.rb +20 -28
  382. data/spec/features/admin/orders/risk_analysis_spec.rb +2 -2
  383. data/spec/features/admin/orders/shipments_spec.rb +11 -6
  384. data/spec/features/admin/products/edit/images_spec.rb +14 -14
  385. data/spec/features/admin/products/edit/products_spec.rb +10 -10
  386. data/spec/features/admin/products/edit/taxons_spec.rb +2 -2
  387. data/spec/features/admin/products/edit/variants_spec.rb +9 -9
  388. data/spec/features/admin/products/option_types_spec.rb +11 -12
  389. data/spec/features/admin/products/products_spec.rb +66 -68
  390. data/spec/features/admin/products/properties_spec.rb +14 -14
  391. data/spec/features/admin/products/prototypes_spec.rb +3 -3
  392. data/spec/features/admin/products/stock_management_spec.rb +16 -11
  393. data/spec/features/admin/products/variant_spec.rb +4 -4
  394. data/spec/features/admin/promotion_adjustments_spec.rb +41 -41
  395. data/spec/features/admin/reports_spec.rb +9 -9
  396. data/spec/features/admin/stock_transfer_spec.rb +8 -22
  397. data/spec/features/admin/store_credits_spec.rb +0 -1
  398. data/spec/features/admin/taxons_spec.rb +5 -6
  399. data/spec/features/admin/users_spec.rb +6 -9
  400. data/spec/helpers/admin/base_helper_spec.rb +1 -2
  401. data/spec/helpers/admin/navigation_helper_spec.rb +15 -18
  402. data/spec/helpers/admin/reimbursements_helper_spec.rb +3 -3
  403. data/spec/helpers/admin/stock_movements_helper_spec.rb +1 -3
  404. data/spec/helpers/admin/store_credit_events_helper_spec.rb +3 -3
  405. data/spec/helpers/promotion_rules_helper_spec.rb +1 -1
  406. data/spec/spec_helper.rb +7 -4
  407. data/spec/support/feature/base_feature_helper.rb +3 -3
  408. data/vendor/assets/javascripts/{backbone.js → solidus_admin/backbone.js} +764 -452
  409. data/vendor/assets/javascripts/solidus_admin/bind-polyfill.js +28 -0
  410. data/vendor/assets/javascripts/solidus_admin/bootstrap.js +3560 -0
  411. data/vendor/assets/javascripts/solidus_admin/tether.js +1726 -0
  412. data/vendor/assets/javascripts/solidus_admin/underscore.js +1548 -0
  413. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_alert.scss +65 -0
  414. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_animation.scss +27 -0
  415. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_breadcrumb.scss +23 -0
  416. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_button-group.scss +224 -0
  417. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_buttons.scss +173 -0
  418. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_card.scss +292 -0
  419. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_carousel.scss +252 -0
  420. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_close.scss +28 -0
  421. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_code.scss +58 -0
  422. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_custom-forms.scss +226 -0
  423. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_dropdown.scss +193 -0
  424. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_forms.scss +452 -0
  425. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_grid.scss +76 -0
  426. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_images.scss +53 -0
  427. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_input-group.scss +189 -0
  428. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_jumbotron.scss +20 -0
  429. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_labels.scss +77 -0
  430. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_list-group.scss +140 -0
  431. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_media.scss +90 -0
  432. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_mixins.scss +55 -0
  433. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_modal.scss +146 -0
  434. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_nav.scss +162 -0
  435. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_navbar.scss +230 -0
  436. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_normalize.scss +428 -0
  437. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pager.scss +57 -0
  438. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pagination.scss +73 -0
  439. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_popover.scss +140 -0
  440. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_print.scss +88 -0
  441. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_progress.scss +156 -0
  442. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_reboot.scss +347 -0
  443. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_responsive-embed.scss +39 -0
  444. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tables.scss +193 -0
  445. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tooltip.scss +85 -0
  446. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_type.scss +157 -0
  447. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-background.scss +24 -0
  448. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-responsive.scss +49 -0
  449. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-spacing.scss +39 -0
  450. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities.scss +95 -0
  451. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +666 -0
  452. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-flex.scss +8 -0
  453. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-grid.scss +62 -0
  454. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-reboot.scss +10 -0
  455. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap.scss +56 -0
  456. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_alert.scss +14 -0
  457. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_background-variant.scss +13 -0
  458. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_border-radius.scss +35 -0
  459. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_breakpoints.scss +86 -0
  460. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_buttons.scss +100 -0
  461. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_cards.scss +38 -0
  462. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_center-block.scss +7 -0
  463. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_clearfix.scss +7 -0
  464. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_forms.scss +89 -0
  465. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_gradients.scss +43 -0
  466. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid-framework.scss +44 -0
  467. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid.scss +75 -0
  468. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_hover.scss +59 -0
  469. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_image.scss +34 -0
  470. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_label.scss +11 -0
  471. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_list-group.scss +30 -0
  472. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_lists.scss +7 -0
  473. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_nav-divider.scss +10 -0
  474. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_navbar-align.scss +9 -0
  475. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_pagination.scss +22 -0
  476. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_progress.scss +18 -0
  477. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_pulls.scss +6 -0
  478. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-filter.scss +8 -0
  479. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-text.scss +18 -0
  480. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_resize.scss +6 -0
  481. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_screen-reader.scss +32 -0
  482. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_size.scss +6 -0
  483. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_tab-focus.scss +9 -0
  484. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_table-row.scss +30 -0
  485. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-emphasis.scss +12 -0
  486. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-hide.scss +8 -0
  487. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-truncate.scss +8 -0
  488. metadata +140 -35
  489. data/app/assets/javascripts/spree/backend/orders/edit_form.js +0 -20
  490. data/app/assets/javascripts/spree/backend/shipments.js.erb +0 -353
  491. data/app/assets/javascripts/spree/backend/stock_management/index.coffee +0 -4
  492. data/app/assets/javascripts/spree/backend/stock_transfers/ship.js.coffee +0 -10
  493. data/app/assets/javascripts/spree/backend/taxon_tree_menu.js.coffee +0 -21
  494. data/app/assets/javascripts/spree/frontend/backend.js +0 -1
  495. data/app/assets/stylesheets/spree/backend/components/_pagination.scss +0 -17
  496. data/app/assets/stylesheets/spree/backend/plugins/_powertip.scss +0 -87
  497. data/app/assets/stylesheets/spree/backend/plugins/_token-input.scss +0 -110
  498. data/app/assets/stylesheets/spree/frontend/backend.css +0 -1
  499. data/app/views/spree/admin/orders/_line_item.html.erb +0 -9
  500. data/app/views/spree/admin/shared/_content_header.html.erb +0 -23
  501. data/app/views/spree/admin/shared/_show_resource_links.html.erb +0 -5
  502. data/app/views/spree/admin/shared/_update_order_state.js +0 -7
  503. data/vendor/assets/javascripts/jquery.cookie.js +0 -41
  504. data/vendor/assets/javascripts/jquery.powertip.js +0 -1165
  505. data/vendor/assets/javascripts/underscore-min.js +0 -1227
  506. data/vendor/assets/stylesheets/bootstrap/components/_media.scss +0 -61
  507. data/vendor/assets/stylesheets/jquery.powertip.css +0 -85
@@ -1,7 +1,7 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class ReturnAuthorizationsController < ResourceController
4
- belongs_to 'spree/order', :find_by => :number
4
+ belongs_to 'spree/order', find_by: :number
5
5
 
6
6
  before_action :load_form_data, only: [:new, :edit]
7
7
  create.fails :load_form_data
@@ -30,7 +30,7 @@ module Spree
30
30
  unassociated_inventory_units = all_inventory_units - associated_inventory_units
31
31
 
32
32
  new_return_items = unassociated_inventory_units.map do |new_unit|
33
- Spree::ReturnItem.new(inventory_unit: new_unit).tap(&:set_default_pre_tax_amount)
33
+ Spree::ReturnItem.new(inventory_unit: new_unit).tap(&:set_default_amount)
34
34
  end
35
35
  @form_return_items = (@return_authorization.return_items + new_return_items).sort_by(&:inventory_unit_id)
36
36
  end
@@ -1,7 +1,6 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class ReturnItemsController < ResourceController
4
-
5
4
  private
6
5
 
7
6
  def location_after_save
@@ -1,9 +1,8 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class SearchController < Spree::Admin::BaseController
4
- # http://spreecommerce.com/blog/2010/11/02/json-hijacking-vulnerability/
5
- before_action :check_json_authenticity, only: :index
6
4
  respond_to :json
5
+ layout false
7
6
 
8
7
  # TODO: Clean this up by moving searching out to user_class_extensions
9
8
  # And then JSON building with something like Active Model Serializers
@@ -36,4 +35,3 @@ module Spree
36
35
  end
37
36
  end
38
37
  end
39
-
@@ -12,7 +12,7 @@ module Spree
12
12
 
13
13
  respond_with(@object) do |format|
14
14
  format.html { redirect_to collection_url }
15
- format.js { render_js_for_destroy }
15
+ format.js { render_js_for_destroy }
16
16
  end
17
17
  end
18
18
 
@@ -20,14 +20,14 @@ module Spree
20
20
 
21
21
  def set_shipping_category
22
22
  return true if params["shipping_method"][:shipping_categories] == ""
23
- @shipping_method.shipping_categories = Spree::ShippingCategory.where(:id => params["shipping_method"][:shipping_categories])
23
+ @shipping_method.shipping_categories = Spree::ShippingCategory.where(id: params["shipping_method"][:shipping_categories])
24
24
  @shipping_method.save
25
25
  params[:shipping_method].delete(:shipping_categories)
26
26
  end
27
27
 
28
28
  def set_zones
29
29
  return true if params["shipping_method"][:zones] == ""
30
- @shipping_method.zones = Spree::Zone.where(:id => params["shipping_method"][:zones])
30
+ @shipping_method.zones = Spree::Zone.where(id: params["shipping_method"][:zones])
31
31
  @shipping_method.save
32
32
  params[:shipping_method].delete(:zones)
33
33
  end
@@ -7,23 +7,23 @@ module Spree
7
7
  def index
8
8
  respond_with(@collection) do |format|
9
9
  format.html
10
- format.js { render :partial => 'state_list' }
10
+ format.js { render partial: 'state_list' }
11
11
  end
12
12
  end
13
13
 
14
14
  private
15
15
 
16
- def location_after_save
17
- admin_country_states_url(@country)
18
- end
16
+ def location_after_save
17
+ admin_country_states_url(@country)
18
+ end
19
19
 
20
- def collection
21
- super.order(:name)
22
- end
20
+ def collection
21
+ super.order(:name)
22
+ end
23
23
 
24
- def load_data
25
- @countries = Country.order(:name)
26
- end
24
+ def load_data
25
+ @countries = Country.order(:name)
26
+ end
27
27
  end
28
28
  end
29
29
  end
@@ -12,58 +12,58 @@ module Spree
12
12
 
13
13
  private
14
14
 
15
- def location_after_destroy
16
- :back
17
- end
15
+ def location_after_destroy
16
+ :back
17
+ end
18
18
 
19
- def location_after_save
20
- :back
21
- end
19
+ def location_after_save
20
+ :back
21
+ end
22
22
 
23
- def build_resource
24
- variant = Variant.accessible_by(current_ability, :read).find(params[:variant_id])
25
- stock_location = StockLocation.accessible_by(current_ability, :read).find(params[:stock_location_id])
26
- stock_location.stock_movements.build(stock_movement_params).tap do |stock_movement|
27
- stock_movement.originator = try_spree_current_user
28
- stock_movement.stock_item = stock_location.set_up_stock_item(variant)
29
- end
23
+ def build_resource
24
+ variant = Variant.accessible_by(current_ability, :read).find(params[:variant_id])
25
+ stock_location = StockLocation.accessible_by(current_ability, :read).find(params[:stock_location_id])
26
+ stock_location.stock_movements.build(stock_movement_params).tap do |stock_movement|
27
+ stock_movement.originator = try_spree_current_user
28
+ stock_movement.stock_item = stock_location.set_up_stock_item(variant)
30
29
  end
30
+ end
31
31
 
32
- def permitted_resource_params
33
- {}
34
- end
32
+ def permitted_resource_params
33
+ {}
34
+ end
35
35
 
36
- def stock_movement_params
37
- params.require(:stock_movement).permit(permitted_stock_movement_attributes)
38
- end
36
+ def stock_movement_params
37
+ params.require(:stock_movement).permit(permitted_stock_movement_attributes)
38
+ end
39
39
 
40
- def determine_backorderable
41
- @stock_item.backorderable = params[:stock_item].present? && params[:stock_item][:backorderable].present?
42
- end
40
+ def determine_backorderable
41
+ @stock_item.backorderable = params[:stock_item].present? && params[:stock_item][:backorderable].present?
42
+ end
43
43
 
44
- def load_product
45
- @product = Product.accessible_by(current_ability, :read).friendly.find(params[:product_slug]) if params[:product_slug]
46
- end
44
+ def load_product
45
+ @product = Product.accessible_by(current_ability, :read).friendly.find(params[:product_slug]) if params[:product_slug]
46
+ end
47
47
 
48
- def load_stock_management_data
49
- @stock_locations = Spree::StockLocation.accessible_by(current_ability, :read)
50
- @stock_item_stock_locations = params[:stock_location_id].present? ? @stock_locations.where(id: params[:stock_location_id]) : @stock_locations
51
- @variant_display_attributes = self.class.variant_display_attributes
52
- @variants = Spree::Config.variant_search_class.new(params[:variant_search_term], scope: variant_scope).results
53
- @variants = @variants.includes(:images, stock_items: :stock_location, product: :variant_images)
54
- @variants = @variants.includes(option_values: :option_type)
55
- @variants = @variants.order(id: :desc).page(params[:page]).per(params[:per_page] || Spree::Config[:orders_per_page])
56
- end
48
+ def load_stock_management_data
49
+ @stock_locations = Spree::StockLocation.accessible_by(current_ability, :read)
50
+ @stock_item_stock_locations = params[:stock_location_id].present? ? @stock_locations.where(id: params[:stock_location_id]) : @stock_locations
51
+ @variant_display_attributes = self.class.variant_display_attributes
52
+ @variants = Spree::Config.variant_search_class.new(params[:variant_search_term], scope: variant_scope).results
53
+ @variants = @variants.includes(:images, stock_items: :stock_location, product: :variant_images)
54
+ @variants = @variants.includes(option_values: :option_type)
55
+ @variants = @variants.order(id: :desc).page(params[:page]).per(params[:per_page] || Spree::Config[:orders_per_page])
56
+ end
57
57
 
58
- def variant_scope
59
- scope = Spree::Variant.accessible_by(current_ability, :read)
60
- scope = scope.where(product: @product) if @product
61
- scope
62
- end
58
+ def variant_scope
59
+ scope = Spree::Variant.accessible_by(current_ability, :read)
60
+ scope = scope.where(product: @product) if @product
61
+ scope
62
+ end
63
63
 
64
- def collection
65
- []
66
- end
64
+ def collection
65
+ []
66
+ end
67
67
  end
68
68
  end
69
69
  end
@@ -1,25 +1,17 @@
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
9
+ @stock_location.country = Spree::Country.default
16
10
 
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
11
+ rescue ActiveRecord::RecordNotFound
12
+ flash[:error] = Spree.t(:stock_locations_need_a_default_country)
13
+ redirect_to(admin_stock_locations_path) && return
21
14
  end
22
-
23
15
  end
24
16
  end
25
17
  end
@@ -13,7 +13,7 @@ module Spree
13
13
  def collection
14
14
  super.
15
15
  recent.
16
- includes(:stock_item => { :variant => :product }).
16
+ includes(stock_item: { variant: :product }).
17
17
  page(params[:page])
18
18
  end
19
19
  end
@@ -72,7 +72,7 @@ module Spree
72
72
  def permitted_resource_params
73
73
  resource_params = super
74
74
  if action == :create
75
- resource_params.merge!(created_by: try_spree_current_user)
75
+ resource_params[:created_by] = try_spree_current_user
76
76
  end
77
77
  resource_params
78
78
  end
@@ -82,7 +82,7 @@ module Spree
82
82
  end
83
83
 
84
84
  def render_after_create_error
85
- load_source_stock_locations
85
+ load_stock_locations
86
86
  super
87
87
  end
88
88
 
@@ -119,7 +119,7 @@ module Spree
119
119
  def ensure_receivable_stock_transfer
120
120
  unless @stock_transfer.receivable?
121
121
  flash[:error] = Spree.t(:stock_transfer_must_be_receivable)
122
- redirect_to admin_stock_transfers_path and return
122
+ redirect_to(admin_stock_transfers_path) && return
123
123
  end
124
124
  end
125
125
 
@@ -129,8 +129,11 @@ module Spree
129
129
  end
130
130
 
131
131
  def source_location
132
- @source_location ||= params.has_key?(:transfer_receive_stock) ? nil :
132
+ @source_location ||= if params.key?(:transfer_receive_stock)
133
+ nil
134
+ else
133
135
  StockLocation.find(params[:transfer_source_location_id])
136
+ end
134
137
  end
135
138
 
136
139
  def destination_location
@@ -16,7 +16,7 @@ module Spree
16
16
  @store_credit = @user.store_credits.build(
17
17
  permitted_resource_params.merge({
18
18
  created_by: try_spree_current_user,
19
- action_originator: try_spree_current_user,
19
+ action_originator: try_spree_current_user
20
20
  })
21
21
  )
22
22
 
@@ -25,7 +25,7 @@ module Spree
25
25
  redirect_to admin_user_store_credits_path(@user)
26
26
  else
27
27
  load_categories
28
- flash[:error] = "#{Spree.t("admin.store_credits.unable_to_create")} #{@store_credit.errors.full_messages}"
28
+ flash[:error] = "#{Spree.t('admin.store_credits.unable_to_create')} #{@store_credit.errors.full_messages}"
29
29
  render :new
30
30
  end
31
31
  end
@@ -40,7 +40,7 @@ module Spree
40
40
  end
41
41
  else
42
42
  respond_to do |format|
43
- format.json { render json: { message: "#{Spree.t("admin.store_credits.unable_to_update")} #{@store_credit.errors.full_messages}" }, status: :bad_request }
43
+ format.json { render json: { message: "#{Spree.t('admin.store_credits.unable_to_update')} #{@store_credit.errors.full_messages}" }, status: :bad_request }
44
44
  end
45
45
  end
46
46
  end
@@ -103,7 +103,7 @@ module Spree
103
103
 
104
104
  load_update_reasons
105
105
  flash[:error] = "#{Spree.t("admin.store_credits.unable_to_#{translation_key}")}: #{@store_credit.errors.full_messages.join(', ')}"
106
- render template and return
106
+ render(template) && return
107
107
  end
108
108
  end
109
109
  end
@@ -17,6 +17,9 @@ module Spree
17
17
  'building_forms',
18
18
  'validation'
19
19
  ],
20
+ components: [
21
+ 'tabs'
22
+ ],
20
23
  messaging: [
21
24
  'loading',
22
25
  'flashes',
@@ -1,12 +1,6 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class TaxonomiesController < ResourceController
4
- respond_to :json, :only => [:get_children]
5
-
6
- def get_children
7
- @taxons = Taxon.find(params[:parent_id]).children
8
- end
9
-
10
4
  private
11
5
 
12
6
  def location_after_save
@@ -1,18 +1,16 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class TaxonsController < Spree::Admin::BaseController
4
-
5
4
  respond_to :html, :json, :js
6
5
 
7
6
  def index
8
-
9
7
  end
10
8
 
11
9
  def search
12
10
  if params[:ids]
13
- @taxons = Spree::Taxon.where(:id => params[:ids].split(','))
11
+ @taxons = Spree::Taxon.where(id: params[:ids].split(','))
14
12
  else
15
- @taxons = Spree::Taxon.limit(20).ransack(:name_cont => params[:q]).result
13
+ @taxons = Spree::Taxon.limit(20).ransack(name_cont: params[:q]).result
16
14
  end
17
15
  end
18
16
 
@@ -21,7 +19,7 @@ module Spree
21
19
  @taxon = @taxonomy.taxons.build(params[:taxon])
22
20
  if @taxon.save
23
21
  respond_with(@taxon) do |format|
24
- format.json {render :json => @taxon.to_json }
22
+ format.json { render json: @taxon.to_json }
25
23
  end
26
24
  else
27
25
  flash[:error] = Spree.t('errors.messages.could_not_create_taxon')
@@ -51,53 +49,32 @@ module Spree
51
49
  @taxon.child_index = new_position.to_i
52
50
  end
53
51
 
54
- @taxon.save!
55
-
56
- # regenerate permalink
57
- if parent_id
58
- @taxon.reload
59
- @taxon.set_permalink
60
- @taxon.save!
61
- @update_children = true
52
+ if params[:permalink_part]
53
+ @taxon.permalink_part = params[:permalink_part].to_s
62
54
  end
63
55
 
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
- #check if we need to rename child taxons if parent name or permalink changes
70
- @update_children = true if params[:taxon][:name] != @taxon.name || params[:taxon][:permalink] != @taxon.permalink
56
+ @taxon.assign_attributes(taxon_params)
71
57
 
72
- if @taxon.update_attributes(taxon_params)
58
+ if @taxon.save
73
59
  flash[:success] = flash_message_for(@taxon, :successfully_updated)
74
60
  end
75
61
 
76
- #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
84
-
85
62
  respond_with(@taxon) do |format|
86
- format.html {redirect_to edit_admin_taxonomy_url(@taxonomy) }
87
- format.json {render :json => @taxon.to_json }
63
+ format.html { redirect_to edit_admin_taxonomy_url(@taxonomy) }
88
64
  end
89
65
  end
90
66
 
91
67
  def destroy
92
68
  @taxon = Taxon.find(params[:id])
93
69
  @taxon.destroy
94
- respond_with(@taxon) { |format| format.json { render :json => '' } }
70
+ respond_with(@taxon) { |format| format.json { render json: '' } }
95
71
  end
96
72
 
97
73
  private
98
- def taxon_params
99
- params.require(:taxon).permit(permitted_taxon_attributes)
100
- end
74
+
75
+ def taxon_params
76
+ params.require(:taxon).permit(permitted_taxon_attributes)
77
+ end
101
78
  end
102
79
  end
103
80
  end
@@ -5,14 +5,11 @@ module Spree
5
5
 
6
6
  after_action :sign_in_if_change_own_password, only: :update
7
7
 
8
- # http://spreecommerce.com/blog/2010/11/02/json-hijacking-vulnerability/
9
- before_action :check_json_authenticity, only: :index
10
8
  before_filter :load_roles, :load_stock_locations, only: [:edit, :new]
11
9
 
12
10
  def index
13
11
  respond_with(@collection) do |format|
14
12
  format.html
15
- format.json { render :json => json_data }
16
13
  end
17
14
  end
18
15
 
@@ -91,89 +88,74 @@ module Spree
91
88
 
92
89
  private
93
90
 
94
- def collection
95
- return @collection if @collection.present?
96
- if request.xhr? && params[:q].present?
97
- @collection = Spree.user_class.includes(:bill_address, :ship_address)
98
- .where("spree_users.email #{LIKE} :search
99
- OR (spree_addresses.firstname #{LIKE} :search AND spree_addresses.id = spree_users.bill_address_id)
100
- OR (spree_addresses.lastname #{LIKE} :search AND spree_addresses.id = spree_users.bill_address_id)
101
- OR (spree_addresses.firstname #{LIKE} :search AND spree_addresses.id = spree_users.ship_address_id)
102
- OR (spree_addresses.lastname #{LIKE} :search AND spree_addresses.id = spree_users.ship_address_id)",
103
- { :search => "#{params[:q].strip}%" })
104
- .limit(params[:limit] || 100)
105
- else
106
- @search = Spree.user_class.ransack(params[:q])
107
- @collection = @search.result.page(params[:page]).per(Spree::Config[:admin_products_per_page])
108
- end
91
+ def collection
92
+ return @collection if @collection.present?
93
+ if request.xhr? && params[:q].present?
94
+ @collection = Spree.user_class.includes(:bill_address, :ship_address)
95
+ .where("spree_users.email #{LIKE} :search
96
+ OR (spree_addresses.firstname #{LIKE} :search AND spree_addresses.id = spree_users.bill_address_id)
97
+ OR (spree_addresses.lastname #{LIKE} :search AND spree_addresses.id = spree_users.bill_address_id)
98
+ OR (spree_addresses.firstname #{LIKE} :search AND spree_addresses.id = spree_users.ship_address_id)
99
+ OR (spree_addresses.lastname #{LIKE} :search AND spree_addresses.id = spree_users.ship_address_id)",
100
+ { search: "#{params[:q].strip}%" })
101
+ .limit(params[:limit] || 100)
102
+ else
103
+ @search = Spree.user_class.ransack(params[:q])
104
+ @collection = @search.result.page(params[:page]).per(Spree::Config[:admin_products_per_page])
109
105
  end
106
+ end
110
107
 
111
- def user_params
112
- attributes = permitted_user_attributes
113
-
114
- if action_name == "create" || can?(:update_email, @user)
115
- attributes |= [:email]
116
- end
108
+ def user_params
109
+ attributes = permitted_user_attributes
117
110
 
118
- if can? :manage, Spree::Role
119
- attributes += [{ spree_role_ids: [] }]
120
- end
121
-
122
- params.require(:user).permit(attributes)
111
+ if action_name == "create" || can?(:update_email, @user)
112
+ attributes |= [:email]
123
113
  end
124
114
 
125
- # handling raise from Spree::Admin::ResourceController#destroy
126
- def user_destroy_with_orders_error
127
- invoke_callbacks(:destroy, :fails)
128
- render :status => :forbidden, :text => Spree.t(:error_user_destroy_with_orders)
115
+ if can? :manage, Spree::Role
116
+ attributes += [{ spree_role_ids: [] }]
129
117
  end
130
118
 
131
- # Allow different formats of json data to suit different ajax calls
132
- def json_data
133
- json_format = params[:json_format] or 'default'
134
- case json_format
135
- when 'basic'
136
- collection.map { |u| { 'id' => u.id, 'name' => u.email } }.to_json
137
- else
138
- address_fields = [:firstname, :lastname, :address1, :address2, :city, :zipcode, :phone, :state_name, :state_id, :country_id, :country_iso]
139
- includes = { :only => address_fields , :include => { :state => { :only => :name }, :country => { :only => :name } } }
140
-
141
- collection.to_json(:only => [:id, :email], :include =>
142
- { :bill_address => includes, :ship_address => includes })
143
- end
144
- end
119
+ params.require(:user).permit(attributes)
120
+ end
145
121
 
146
- def sign_in_if_change_own_password
147
- if try_spree_current_user == @user && @user.password.present?
148
- sign_in(@user, :event => :authentication, :bypass => true)
149
- end
150
- end
122
+ # handling raise from Spree::Admin::ResourceController#destroy
123
+ def user_destroy_with_orders_error
124
+ invoke_callbacks(:destroy, :fails)
125
+ render status: :forbidden, text: Spree.t(:error_user_destroy_with_orders)
126
+ end
151
127
 
152
- def load_roles
153
- @roles = Spree::Role.all
154
- @user_roles = @user.spree_roles
128
+ def sign_in_if_change_own_password
129
+ if try_spree_current_user == @user && @user.password.present?
130
+ sign_in(@user, event: :authentication, bypass: true)
155
131
  end
132
+ end
156
133
 
157
- def load_stock_locations
158
- @stock_locations = Spree::StockLocation.all
159
- end
134
+ def load_roles
135
+ @roles = Spree::Role.all
136
+ @user_roles = @user.spree_roles
137
+ end
160
138
 
161
- def set_roles
162
- # FIXME: user_params permits the roles that can be set, if spree_role_ids is set.
163
- # when submitting a user with no roles, the param is not present. Because users can be updated
164
- # with some users being able to set roles, and some users not being able to set roles, we have to check
165
- # if the roles should be cleared, or unchanged again here. The roles form should probably hit a seperate
166
- # action or controller to remedy this.
167
- if user_params[:spree_role_ids]
168
- @user.spree_roles = Spree::Role.where(id: user_params[:spree_role_ids])
169
- elsif can?(:manage, Spree::Role)
170
- @user.spree_roles = []
171
- end
172
- end
139
+ def load_stock_locations
140
+ @stock_locations = Spree::StockLocation.all
141
+ end
173
142
 
174
- def set_stock_locations
175
- @user.stock_locations = Spree::StockLocation.where(id: (params[:user][:stock_location_ids] || []))
143
+ def set_roles
144
+ # FIXME: user_params permits the roles that can be set, if spree_role_ids is set.
145
+ # when submitting a user with no roles, the param is not present. Because users can be updated
146
+ # with some users being able to set roles, and some users not being able to set roles, we have to check
147
+ # if the roles should be cleared, or unchanged again here. The roles form should probably hit a seperate
148
+ # action or controller to remedy this.
149
+ if user_params[:spree_role_ids]
150
+ @user.spree_roles = Spree::Role.where(id: user_params[:spree_role_ids])
151
+ elsif can?(:manage, Spree::Role)
152
+ @user.spree_roles = []
176
153
  end
154
+ end
155
+
156
+ def set_stock_locations
157
+ @user.stock_locations = Spree::StockLocation.where(id: (params[:user][:stock_location_ids] || []))
158
+ end
177
159
  end
178
160
  end
179
161
  end