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
@@ -1,13 +1,24 @@
1
1
  module Spree
2
2
  module Admin
3
3
  module BaseHelper
4
+ def flash_alert flash
5
+ if flash.present?
6
+ message = flash[:error] || flash[:notice] || flash[:success]
7
+ flash_class = "danger" if flash[:error]
8
+ flash_class = "info" if flash[:notice]
9
+ flash_class = "success" if flash[:success]
10
+ flash_div = content_tag(:div, message, class: "alert alert-#{flash_class} alert-auto-dissapear")
11
+ content_tag(:div, flash_div, class: 'col-md-12')
12
+ end
13
+ end
14
+
4
15
  def field_container(model, method, options = {}, &block)
5
16
  css_classes = options[:class].to_a
6
17
  css_classes << 'field'
7
18
  if error_message_on(model, method).present?
8
19
  css_classes << 'withError'
9
20
  end
10
- content_tag(:div, capture(&block), :class => css_classes.join(' '), :id => "#{model}_#{method}_field")
21
+ content_tag(:div, capture(&block), class: css_classes.join(' '), id: "#{model}_#{method}_field")
11
22
  end
12
23
 
13
24
  def error_message_on(object, method, options = {})
@@ -16,7 +27,7 @@ module Spree
16
27
 
17
28
  if obj && obj.errors[method].present?
18
29
  errors = obj.errors[method].map { |err| h(err) }.join('<br />').html_safe
19
- content_tag(:span, errors, :class => 'formError')
30
+ content_tag(:span, errors, class: 'formError')
20
31
  else
21
32
  ''
22
33
  end
@@ -24,48 +35,12 @@ module Spree
24
35
 
25
36
  def datepicker_field_value(date)
26
37
  unless date.blank?
27
- l(date, :format => Spree.t('date_picker.format', default: '%Y/%m/%d'))
38
+ l(date, format: Spree.t('date_picker.format', default: '%Y/%m/%d'))
28
39
  else
29
40
  nil
30
41
  end
31
42
  end
32
43
 
33
- # This method demonstrates the use of the :child_index option to render a
34
- # form partial for, for instance, client side addition of new nested
35
- # records.
36
- #
37
- # This specific example creates a link which uses javascript to add a new
38
- # form partial to the DOM.
39
- #
40
- # <%= form_for @project do |project_form| %>
41
- # <div id="tasks">
42
- # <%= project_form.fields_for :tasks do |task_form| %>
43
- # <%= render :partial => 'task', :locals => { :f => task_form } %>
44
- # <% end %>
45
- # </div>
46
- # <% end %>
47
- def generate_html(form_builder, method, options = {})
48
- options[:object] ||= form_builder.object.class.reflect_on_association(method).klass.new
49
- options[:partial] ||= method.to_s.singularize
50
- options[:form_builder_local] ||= :f
51
-
52
- form_builder.fields_for(method, options[:object], :child_index => 'NEW_RECORD') do |f|
53
- render(:partial => options[:partial], :locals => { options[:form_builder_local] => f })
54
- end
55
-
56
- end
57
-
58
- def generate_template(form_builder, method, options = {})
59
- escape_javascript generate_html(form_builder, method, options)
60
- end
61
-
62
- def remove_nested(fields)
63
- out = ''
64
- out << fields.hidden_field(:_destroy) unless fields.object.new_record?
65
- out << (link_to icon('remove'), "#", :class => 'remove')
66
- out.html_safe
67
- end
68
-
69
44
  def preference_field_tag(name, value, options)
70
45
  case options[:type]
71
46
  when :integer
@@ -104,29 +79,39 @@ module Spree
104
79
  def preference_field_options(options)
105
80
  field_options = case options[:type]
106
81
  when :integer
107
- { :size => 10,
108
- :class => 'input_integer' }
82
+ {
83
+ size: 10,
84
+ class: 'input_integer form-control'
85
+ }
109
86
  when :boolean
110
87
  {}
111
88
  when :string
112
- { :size => 10,
113
- :class => 'input_string fullwidth' }
89
+ {
90
+ size: 10,
91
+ class: 'input_string form-control'
92
+ }
114
93
  when :password
115
- { :size => 10,
116
- :class => 'password_string fullwidth' }
94
+ {
95
+ size: 10,
96
+ class: 'password_string form-control'
97
+ }
117
98
  when :text
118
- { :rows => 15,
119
- :cols => 85,
120
- :class => 'fullwidth' }
99
+ {
100
+ rows: 15,
101
+ cols: 85,
102
+ class: 'form-control'
103
+ }
121
104
  else
122
- { :size => 10,
123
- :class => 'input_string fullwidth' }
105
+ {
106
+ size: 10,
107
+ class: 'input_string form-control'
108
+ }
124
109
  end
125
110
 
126
111
  field_options.merge!({
127
- :readonly => options[:readonly],
128
- :disabled => options[:disabled],
129
- :size => options[:size]
112
+ readonly: options[:readonly],
113
+ disabled: options[:disabled],
114
+ size: options[:size]
130
115
  })
131
116
  end
132
117
 
@@ -135,36 +120,21 @@ module Spree
135
120
  object.preferences.keys.map{ |key|
136
121
 
137
122
  form.label("preferred_#{key}", Spree.t(key) + ": ") +
138
- preference_field_for(form, "preferred_#{key}", :type => object.preference_type(key))
123
+ preference_field_for(form, "preferred_#{key}", type: object.preference_type(key))
139
124
 
140
125
  }.join("<br />").html_safe
141
126
  end
142
127
 
143
- def link_to_add_fields(name, target, options = {})
144
- name = '' if options[:no_text]
145
- css_classes = options[:class] ? options[:class] + " spree_add_fields" : "spree_add_fields"
146
- link_to_with_icon('plus', name, 'javascript:', :data => { :target => target }, :class => css_classes)
147
- end
148
-
149
128
  # renders hidden field and link to remove record using nested_attributes
150
- def link_to_remove_fields(name, f, options = {})
151
- name = '' if options[:no_text]
152
- options[:class] = '' unless options[:class]
153
- options[:class] += 'no-text with-tip' if options[:no_text]
129
+ def link_to_icon_remove_fields(f)
154
130
  url = f.object.persisted? ? [:admin, f.object] : '#'
155
- link_to_with_icon('trash', name, url, :class => "spree_remove_fields #{options[:class]}", :data => {:action => 'remove'}, :title => Spree.t(:remove)) + f.hidden_field(:_destroy)
131
+ link_to_with_icon('delete', '', url, class: "spree_remove_fields btn btn-sm btn-danger", data: {action: 'remove'}, title: Spree.t(:remove)) + f.hidden_field(:_destroy)
156
132
  end
157
133
 
158
134
  def spree_dom_id(record)
159
135
  dom_id(record, 'spree')
160
136
  end
161
137
 
162
- def rails_environments
163
- @@rails_environments ||= Dir.glob("#{Rails.root}/config/environments/*.rb")
164
- .map { |f| File.basename(f, ".rb") }
165
- .sort
166
- end
167
-
168
138
  private
169
139
  def attribute_name_for(field_name)
170
140
  field_name.gsub(' ', '_').downcase
@@ -7,7 +7,7 @@ module Spree
7
7
  # * :route to override automatically determining the default route
8
8
  # * :match_path as an alternative way to control when the tab is active, /products would match /admin/products, /admin/products/5/variants etc.
9
9
  def tab(*args)
10
- options = {:label => args.first.to_s}
10
+ options = { label: args.first.to_s }
11
11
 
12
12
  # Return if resource is found and user is not allowed to :admin
13
13
  return '' if klass = klass_for(options[:label]) and cannot?(:admin, klass)
@@ -18,13 +18,12 @@ module Spree
18
18
  options[:route] ||= "admin_#{args.first}"
19
19
 
20
20
  destination_url = options[:url] || spree.send("#{options[:route]}_path")
21
- titleized_label = Spree.t(options[:label], :default => options[:label], :scope => [:admin, :tab]).titleize
21
+ titleized_label = Spree.t(options[:label], default: options[:label], scope: [:admin, :tab]).titleize
22
22
 
23
- css_classes = []
23
+ css_classes = ['sidebar-menu-item']
24
24
 
25
25
  if options[:icon]
26
26
  link = link_to_with_icon(options[:icon], titleized_label, destination_url)
27
- css_classes << 'tab-with-icon'
28
27
  else
29
28
  link = link_to(titleized_label, destination_url)
30
29
  end
@@ -41,7 +40,54 @@ module Spree
41
40
  if options[:css_class]
42
41
  css_classes << options[:css_class]
43
42
  end
44
- content_tag('li', link, :class => css_classes.join(' '))
43
+ content_tag('li', link, class: css_classes.join(' '))
44
+ end
45
+
46
+ # Single main menu item
47
+ def main_menu_item text, url: nil, icon: nil
48
+ link_to url, :'data-toggle' => "collapse", :'data-parent' => '#sidebar' do
49
+ content_tag(:span, nil, class: "icon icon-#{icon}") +
50
+ content_tag(:span, " #{text}", class: 'text') +
51
+ content_tag(:span, nil, class: "icon icon-chevron-left pull-right")
52
+ end
53
+ end
54
+
55
+ # Main menu tree menu
56
+ def main_menu_tree text, icon: nil, sub_menu: nil, url: '#'
57
+ content_tag :li, class: 'sidebar-menu-item' do
58
+ main_menu_item(text, url: url, icon: icon) +
59
+ render(partial: "spree/admin/shared/sub_menu/#{sub_menu}")
60
+ end
61
+ end
62
+
63
+ # sidebar are used on order edit, product edit, user overview etc.
64
+ # this link is shown so a user can collapse the sidebar
65
+ def collapse_sidebar_link
66
+ content_tag :div, class: "collapse-sidebar" do
67
+ link_to "javascript:;", class: "js-collapse-sidebar" do
68
+ content_tag(:span, nil, class: "icon icon-chevron-right") +
69
+ content_tag(:span, "Collapse sidebar", class: "text")
70
+ end
71
+ end
72
+ end
73
+
74
+ # the per_page_dropdown is used on index pages like orders, products, promotions etc.
75
+ # this method generates the select_tag
76
+ def per_page_dropdown
77
+ # there is a config setting for admin_products_per_page, only for the orders page
78
+ if @products && per_page_default = Spree::Config.admin_products_per_page
79
+ per_page_options = []
80
+ 5.times do |amount|
81
+ per_page_options << (amount + 1) * Spree::Config.admin_products_per_page
82
+ end
83
+ else
84
+ per_page_default = 15
85
+ per_page_options = %w{5 15 30 45 60}
86
+ end
87
+
88
+ select_tag(:per_page,
89
+ options_for_select(per_page_options, params['per_page'] || per_page_default),
90
+ { id: "js-per-page-select", class: "form-control pull-right" })
45
91
  end
46
92
 
47
93
  # finds class for a given symbol / string
@@ -61,56 +107,68 @@ module Spree
61
107
  end
62
108
 
63
109
  def link_to_clone(resource, options={})
64
- options[:data] = {:action => 'clone'}
65
- link_to_with_icon('copy', Spree.t(:clone), clone_object_url(resource), options)
110
+ options[:data] = { action: 'clone' }
111
+ options[:class] = "btn btn-primary btn-sm"
112
+ link_to_with_icon('clone', Spree.t(:clone), clone_object_url(resource), options)
66
113
  end
67
114
 
68
115
  def link_to_new(resource)
69
- options[:data] = {:action => 'new'}
116
+ options[:data] = { action: 'new' }
117
+ options[:class] = "btn btn-success btn-sm"
70
118
  link_to_with_icon('plus', Spree.t(:new), edit_object_url(resource))
71
119
  end
72
120
 
73
121
  def link_to_edit(resource, options={})
74
122
  url = options[:url] || edit_object_url(resource)
75
- options[:data] = {:action => 'edit'}
123
+ options[:data] = { action: 'edit' }
124
+ options[:class] = "btn btn-primary btn-sm"
76
125
  link_to_with_icon('edit', Spree.t(:edit), url, options)
77
126
  end
78
127
 
79
128
  def link_to_edit_url(url, options={})
80
- options[:data] = {:action => 'edit'}
129
+ options[:data] = { action: 'edit' }
130
+ options[:class] = "btn btn-primary btn-sm"
81
131
  link_to_with_icon('edit', Spree.t(:edit), url, options)
82
132
  end
83
133
 
84
134
  def link_to_delete(resource, options={})
85
135
  url = options[:url] || object_url(resource)
86
136
  name = options[:name] || Spree.t(:delete)
87
- options[:class] = "delete-resource"
88
- options[:data] = { :confirm => Spree.t(:are_you_sure), :action => 'remove' }
89
- link_to_with_icon 'trash', name, url, options
137
+ options[:class] = "btn btn-danger btn-sm delete-resource"
138
+ options[:data] = { confirm: Spree.t(:are_you_sure), action: 'remove' }
139
+ link_to_with_icon 'delete', name, url, options
90
140
  end
91
141
 
92
142
  def link_to_with_icon(icon_name, text, url, options = {})
93
- options[:class] = (options[:class].to_s + " fa fa-#{icon_name} icon_link with-tip").strip
143
+ options[:class] = (options[:class].to_s + " icon-link with-tip action-#{icon_name}").strip
94
144
  options[:class] += ' no-text' if options[:no_text]
95
145
  options[:title] = text if options[:no_text]
96
146
  text = options[:no_text] ? '' : raw("<span class='text'>#{text}</span>")
97
147
  options.delete(:no_text)
98
- link_to(text, url, options)
148
+ if icon_name
149
+ icon = content_tag(:span, '', class: "icon icon-#{icon_name}")
150
+ text.insert(0, icon + ' ')
151
+ end
152
+ link_to(text.html_safe, url, options)
99
153
  end
100
154
 
101
155
  def icon(icon_name)
102
- icon_name ? content_tag(:i, '', :class => icon_name) : ''
156
+ icon_name ? content_tag(:i, '', class: icon_name) : ''
103
157
  end
104
158
 
105
159
  def button(text, icon_name = nil, button_type = 'submit', options={})
106
- button_tag(text, options.merge(:type => button_type, :class => "fa fa-#{icon_name} button"))
160
+ if icon_name
161
+ icon = content_tag(:span, '', class: "icon icon-#{icon_name}")
162
+ text.insert(0, icon + ' ')
163
+ end
164
+ button_tag(text.html_safe, options.merge(type: button_type, class: "btn btn-primary #{options[:class]}"))
107
165
  end
108
166
 
109
167
  def button_link_to(text, url, html_options = {})
110
168
  if (html_options[:method] &&
111
169
  html_options[:method].to_s.downcase != 'get' &&
112
170
  !html_options[:remote])
113
- form_tag(url, :method => html_options.delete(:method)) do
171
+ form_tag(url, method: html_options.delete(:method)) do
114
172
  button(text, html_options.delete(:icon), nil, html_options)
115
173
  end
116
174
  else
@@ -121,19 +179,15 @@ module Spree
121
179
 
122
180
  html_options.delete('data-update') unless html_options['data-update']
123
181
 
124
- html_options[:class] = 'button'
182
+ html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : "btn btn-default"
125
183
 
126
184
  if html_options[:icon]
127
- html_options[:class] += " fa fa-#{html_options[:icon]}"
185
+ icon = content_tag(:span, '', class: "icon icon-#{html_options[:icon]}")
186
+ text.insert(0, icon + ' ')
128
187
  end
129
- link_to(text_for_button_link(text, html_options), url, html_options)
130
- end
131
- end
132
188
 
133
- def text_for_button_link(text, html_options)
134
- s = ''
135
- s << text
136
- raw(s)
189
+ link_to(text.html_safe, url, html_options)
190
+ end
137
191
  end
138
192
 
139
193
  def configurations_menu_item(link_text, url, description = '')
@@ -148,11 +202,25 @@ module Spree
148
202
  is_active = url.ends_with?(controller.controller_name) ||
149
203
  url.ends_with?("#{controller.controller_name}/edit") ||
150
204
  url.ends_with?("#{controller.controller_name.singularize}/edit")
151
- options.merge!(:class => is_active ? 'active' : nil)
205
+ options.merge!(class: is_active ? 'active' : nil)
152
206
  content_tag(:li, options) do
153
207
  link_to(link_text, url)
154
208
  end
155
209
  end
210
+
211
+ def main_part_classes
212
+ if cookies['sidebar-minimized'] == 'true'
213
+ return 'col-sm-12 col-md-12 sidebar-collapsed'
214
+ else
215
+ return 'col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2'
216
+ end
217
+ end
218
+
219
+ def wrapper_classes
220
+ if cookies['sidebar-minimized'] == 'true'
221
+ return 'sidebar-minimized'
222
+ end
223
+ end
156
224
  end
157
225
  end
158
226
  end
@@ -6,13 +6,13 @@ module Spree
6
6
  links = []
7
7
  @order_events.sort.each do |event|
8
8
  if @order.send("can_#{event}?")
9
- links << button_link_to(Spree.t(event), [event, :admin, @order],
9
+ links << button_link_to(Spree.t(event).capitalize, [event, :admin, @order],
10
10
  :method => :put,
11
11
  :icon => "#{event}",
12
12
  :data => { :confirm => Spree.t(:order_sure_want_to, :event => Spree.t(event)) })
13
13
  end
14
14
  end
15
- links.join('&nbsp;').html_safe
15
+ links.join(' ').html_safe
16
16
  end
17
17
 
18
18
  def line_item_shipment_price(line_item, quantity)
@@ -0,0 +1,11 @@
1
+ <%# Link to the "First" page
2
+ - available local variables
3
+ url: url to the first page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="first">
10
+ <%= link_to_unless current_page.first?, t('views.pagination.first').html_safe, url, :remote => remote %>
11
+ </li>
@@ -0,0 +1,8 @@
1
+ <%# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <li class="gap"><a>..</a></li>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Last" page
2
+ - available local variables
3
+ url: url to the last page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="last">
10
+ <%= link_to_unless current_page.last?, t('views.pagination.last').html_safe, url, :remote => remote %>
11
+ </li>
@@ -0,0 +1,15 @@
1
+ <%# Link to the "Next" page
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="next <%= "disabled" if current_page.last? %>">
10
+ <% if current_page.last? %>
11
+ <a href="javascript:;">&raquo;</a>
12
+ <% else %>
13
+ <%= link_to_unless current_page.last?, "&raquo;".html_safe, url, :rel => 'next', :remote => remote %>
14
+ <% end %>
15
+ </li>
@@ -0,0 +1,12 @@
1
+ <%# Link showing page number
2
+ - available local variables
3
+ page: a page object for "this" page
4
+ url: url to this page
5
+ current_page: a page object for the currently displayed page
6
+ total_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <li class="<%= 'active' if page.current? %>">
11
+ <%= link_to page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} %>
12
+ </li>
@@ -0,0 +1,21 @@
1
+ <%# The container tag
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside
8
+ -%>
9
+ <%= paginator.render do -%>
10
+ <ul class="pagination pagination-sm">
11
+ <%= prev_page_tag %>
12
+ <% each_page do |page| -%>
13
+ <% if page.left_outer? || page.right_outer? || page.inside_window? -%>
14
+ <%= page_tag page %>
15
+ <% elsif !page.was_truncated? -%>
16
+ <%= gap_tag %>
17
+ <% end -%>
18
+ <% end -%>
19
+ <%= next_page_tag %>
20
+ </ul>
21
+ <% end -%>
@@ -0,0 +1,15 @@
1
+ <%# Link to the "Previous" page
2
+ - available local variables
3
+ url: url to the previous page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <li class="previous <%= "disabled" if current_page.first? %>">
10
+ <% if current_page.first? %>
11
+ <a href="javascript:;">&laquo;</a>
12
+ <% else %>
13
+ <%= link_to_unless current_page.first?, "&laquo;".html_safe, url, :rel => 'prev', :remote => remote %>
14
+ <% end %>
15
+ </li>
@@ -2,15 +2,16 @@
2
2
  @edit_url = edit_admin_order_adjustment_path(@order, adjustment)
3
3
  @delete_url = admin_order_adjustment_path(@order, adjustment)
4
4
  %>
5
- <tr id="<%= spree_dom_id(adjustment) %>" data-hook="adjustment_row" class="<%= cycle('odd', 'even')%>">
6
- <td class="align-center"><%= display_adjustable(adjustment.adjustable) %></td>
7
- <td class="align-center"><%= adjustment.label %></td>
8
- <td class="align-center"><%= adjustment.display_amount.to_html %></td>
9
- <td class="align-center"><%= adjustment_state(adjustment) %></td>
10
- <td class='actions'>
5
+
6
+ <tr id="<%= spree_dom_id(adjustment) %>" class="<%= adjustment.eligible? ? 'eligible' : 'ineligible' %>" data-hook="adjustment_row">
7
+ <td><%= display_adjustable(adjustment.adjustable) %></td>
8
+ <td><%= adjustment.label %></td>
9
+ <td class="text-center"><%= adjustment.display_amount.to_html %></td>
10
+ <td class="text-center"><span class="label label-<%= adjustment.state %>"><%= adjustment.state %></td>
11
+ <td class="actions actions-2 text-center">
11
12
  <% if adjustment.open? %>
12
- <%= link_to_edit adjustment, :no_text => true %>
13
- <%= link_to_delete adjustment, :no_text => true %>
13
+ <%= link_to_edit adjustment, no_text: true %>
14
+ <%= link_to_delete adjustment, no_text: true %>
14
15
  <% end %>
15
16
  </td>
16
- </tr>
17
+ </tr>
@@ -1,25 +1,29 @@
1
- <table class="index adjustments" data-hook="adjustments">
1
+ <div class="panel-heading">
2
+ <h3 class="panel-title"><%= Spree.t(:order_adjustments) %></h3>
3
+ </div>
4
+
5
+ <table class="table table-bordered adjustments" data-hook="adjustments">
2
6
  <thead data-hook="adjustmment_head">
3
7
  <tr>
4
8
  <th><%= Spree.t(:adjustable) %></th>
5
9
  <th><%= Spree.t(:description) %></th>
6
- <th><%= Spree.t(:amount) %></th>
7
- <th><%= Spree.t(:state) %></th>
10
+ <th class="text-center"><%= Spree.t(:amount) %></th>
11
+ <th class="text-center"><%= Spree.t(:state) %></th>
8
12
  <th class="actions"></th>
9
13
  </tr>
10
14
  </thead>
11
15
  <tbody>
12
- <%= render :partial => "adjustment", :collection => @adjustments %>
13
- <tr data-hook="adjustment_buttons">
14
- <td class="align-center" colspan='4'>
15
- <div>
16
- <%= button_to Spree.t(:open_all_adjustments), open_adjustments_admin_order_path(@order), method: :get %>
17
- </div>
18
- <div>
19
- <%= button_to Spree.t(:close_all_adjustments), close_adjustments_admin_order_path(@order), method: :get %>
20
- </div>
21
- </td>
22
- <td class='actions'>&nbsp;</td>
23
- </tr>
16
+ <%= render partial: "adjustment", collection: @adjustments %>
24
17
  </tbody>
25
18
  </table>
19
+
20
+ <div class="panel-footer">
21
+ <div class="row text-center">
22
+ <div class="col-md-6">
23
+ <%= button_to Spree.t(:open_all_adjustments), open_adjustments_admin_order_path(@order), method: :get, class: "btn btn-success" %>
24
+ </div>
25
+ <div class="col-md-6">
26
+ <%= button_to Spree.t(:close_all_adjustments), close_adjustments_admin_order_path(@order), method: :get, class: "btn btn-danger" %>
27
+ </div>
28
+ </div>
29
+ </div>
@@ -1,16 +1,12 @@
1
- <div data-hook="admin_adjustment_form_fields" class="row">
2
- <div class="alpha three columns">
3
- <%= f.field_container :amount do %>
4
- <%= f.label :amount, raw(Spree.t(:amount) + content_tag(:span, " *", :class => "required")) %>
5
- <%= text_field :adjustment, :amount, :class => 'fullwidth' %>
6
- <%= f.error_message_on :amount %>
7
- <% end %>
8
- </div>
9
- <div class="omega nine columns">
10
- <%= f.field_container :label do %>
11
- <%= f.label :label, raw(Spree.t(:description) + content_tag(:span, " *", :class => "required")) %>
12
- <%= text_field :adjustment, :label, :class => 'fullwidth' %>
13
- <%= f.error_message_on :label %>
14
- <% end %>
15
- </div>
1
+ <div data-hook="admin_adjustment_form_fields">
2
+ <%= f.field_container :amount, class: ['form-group'] do %>
3
+ <%= f.label :amount, raw(Spree.t(:amount) + content_tag(:span, " *", :class => "required")) %>
4
+ <%= text_field :adjustment, :amount, :class => 'form-control' %>
5
+ <%= f.error_message_on :amount %>
6
+ <% end %>
7
+ <%= f.field_container :label, class: ['form-group'] do %>
8
+ <%= f.label :label, raw(Spree.t(:description) + content_tag(:span, " *", :class => "required")) %>
9
+ <%= text_field :adjustment, :label, :class => 'form-control' %>
10
+ <%= f.error_message_on :label %>
11
+ <% end %>
16
12
  </div>
@@ -1,22 +1,19 @@
1
- <%= render :partial => 'spree/admin/shared/order_tabs', :locals => { :current => 'Adjustments' } %>
1
+ <%= render :partial => 'spree/admin/shared/order_tabs', :locals => { :current => Spree.t(:adjustments) } %>
2
2
 
3
3
  <% content_for :page_title do %>
4
- <i class="fa fa-arrow-right"></i> <%= Spree.t(:edit) %> <%= Spree.t(:adjustment) %>
4
+ / <%= Spree.t(:edit) %> <%= Spree.t(:adjustment) %>
5
5
  <% end %>
6
6
 
7
- <% content_for :page_actions do %>
8
- <li><%= button_link_to Spree.t(:back_to_adjustments_list), spree.admin_order_adjustments_url(@order), :icon => 'arrow-left' %></li>
9
- <% end %>
7
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @adjustment } %>
10
8
 
11
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @adjustment } %>
12
- <%= form_for @adjustment, :url => admin_order_adjustment_path(@order, @adjustment), :method => :put do |f| %>
13
- <fieldset class="no-border-top">
14
- <%= render :partial => 'form', :locals => { :f => f } %>
9
+ <%= form_for @adjustment, url: admin_order_adjustment_path(@order, @adjustment), method: :put do |f| %>
10
+ <fieldset>
11
+ <%= render partial: 'form', locals: { f: f } %>
15
12
 
16
- <div class="filter-actions actions" data-hook="buttons">
17
- <%= button Spree.t(:continue), 'arrow-right' %>
13
+ <div class="form-actions" data-hook="buttons">
14
+ <%= button Spree.t(:continue), 'save' %>
18
15
  <span class="or"><%= Spree.t(:or) %></span>
19
- <%= link_to_with_icon 'remove', Spree.t('actions.cancel'), admin_order_adjustments_url(@order), :class => 'button' %>
16
+ <%= button_link_to Spree.t('actions.cancel'), admin_order_adjustments_url(@order), icon: 'delete' %>
20
17
  </div>
21
18
  </fieldset>
22
19
  <% end %>