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,187 +1,182 @@
1
1
  <div data-hook="admin_product_form_fields">
2
2
 
3
- <div class="left eight columns alpha" data-hook="admin_product_form_left">
4
- <div data-hook="admin_product_form_name">
5
- <%= f.field_container :name do %>
6
- <%= f.label :name, raw(Spree.t(:name) + content_tag(:span, ' *', :class => 'required')) %>
7
- <%= f.text_field :name, :class => 'fullwidth title', :required => true %>
8
- <%= f.error_message_on :name %>
9
- <% end %>
10
- </div>
11
-
12
- <div data-hook="admin_product_form_slug">
13
- <%= f.field_container :slug do %>
14
- <%= f.label :slug, raw(Spree.t(:slug) + content_tag(:span, ' *', :class => "required")) %>
15
- <%= f.text_field :slug, :class => 'fullwidth title', :required => true %>
16
- <%= f.error_message_on :slug %>
17
- <% end %>
18
- </div>
19
-
20
- <div data-hook="admin_product_form_description">
21
- <%= f.field_container :description do %>
22
- <%= f.label :description, Spree.t(:description) %>
23
- <%= f.text_area :description, {:rows => "#{unless @product.has_variants? then '22' else '15' end}", :class => 'fullwidth'} %>
24
- <%= f.error_message_on :description %>
25
- <% end %>
26
- </div>
27
- </div>
3
+ <div class="row">
4
+
5
+ <div class="col-md-8" data-hook="admin_product_form_left">
6
+ <div data-hook="admin_product_form_name">
7
+ <%= f.field_container :name, class: ['form-group'] do %>
8
+ <%= f.label :name, raw(Spree.t(:name) + content_tag(:span, ' *', class: 'required')) %>
9
+ <%= f.text_field :name, class: 'form-control title' %>
10
+ <%= f.error_message_on :name %>
11
+ <% end %>
12
+ </div>
28
13
 
29
- <div class="right four columns omega" data-hook="admin_product_form_right">
30
- <div data-hook="admin_product_form_price">
31
- <%= f.field_container :price do %>
32
- <%= f.label :price, raw(Spree.t(:master_price) + content_tag(:span, ' *', :class => "required")) %>
33
- <%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :required => true %>
34
- <%= f.error_message_on :price %>
35
- <% end %>
36
- </div>
14
+ <div data-hook="admin_product_form_slug">
15
+ <%= f.field_container :slug, class: ['form-group'] do %>
16
+ <%= f.label :slug, raw(Spree.t(:slug) + content_tag(:span, ' *', class: "required")) %>
17
+ <%= f.text_field :slug, class: 'form-control title' %>
18
+ <%= f.error_message_on :slug %>
19
+ <% end %>
20
+ </div>
37
21
 
38
- <div data-hook="admin_product_form_cost_price" class="alpha two columns">
39
- <%= f.field_container :cost_price do %>
40
- <%= f.label :cost_price, Spree.t(:cost_price) %>
41
- <%= f.text_field :cost_price, :value => number_to_currency(@product.cost_price, :unit => '') %>
42
- <%= f.error_message_on :cost_price %>
43
- <% end %>
22
+ <div data-hook="admin_product_form_description">
23
+ <%= f.field_container :description, class: ['form-group'] do %>
24
+ <%= f.label :description, Spree.t(:description) %>
25
+ <%= f.text_area :description, { rows: "#{unless @product.has_variants? then '20' else '13' end}", class: 'form-control' } %>
26
+ <%= f.error_message_on :description %>
27
+ <% end %>
28
+ </div>
44
29
  </div>
45
30
 
46
- <div data-hook="admin_product_form_cost_currency" class="omega two columns">
47
- <%= f.field_container :cost_currency do %>
48
- <%= f.label :cost_currency, Spree.t(:cost_currency) %>
49
- <%= f.text_field :cost_currency %>
50
- <%= f.error_message_on :cost_currency %>
31
+ <div class="col-md-4" data-hook="admin_product_form_right">
32
+ <div data-hook="admin_product_form_price">
33
+ <%= f.field_container :price, class: ['form-group'] do %>
34
+ <%= f.label :price, raw(Spree.t(:master_price) + content_tag(:span, ' *', class: "required")) %>
35
+ <%= f.text_field :price, value: number_to_currency(@product.price, unit: ''), class: 'form-control' %>
36
+ <%= f.error_message_on :price %>
51
37
  <% end %>
52
- </div>
53
-
54
- <div class="clear"></div>
38
+ </div>
55
39
 
56
- <div data-hook="admin_product_form_available_on">
57
- <%= f.field_container :available_on do %>
58
- <%= f.label :available_on, Spree.t(:available_on) %>
59
- <%= f.error_message_on :available_on %>
60
- <%= f.text_field :available_on, :value => datepicker_field_value(@product.available_on), :class => 'datepicker' %>
61
- <% end %>
62
- </div>
40
+ <div data-hook="admin_product_form_cost_price" class="alpha two columns">
41
+ <%= f.field_container :cost_price, class: ['form-group'] do %>
42
+ <%= f.label :cost_price, Spree.t(:cost_price) %>
43
+ <%= f.text_field :cost_price, value: number_to_currency(@product.cost_price, unit: ''), class: 'form-control' %>
44
+ <%= f.error_message_on :cost_price %>
45
+ <% end %>
46
+ </div>
47
+ <div data-hook="admin_product_form_cost_currency" class="omega two columns">
48
+ <%= f.field_container :cost_currency, class: ['form-group'] do %>
49
+ <%= f.label :cost_currency, Spree.t(:cost_currency) %>
50
+ <%= f.text_field :cost_currency, class: 'form-control' %>
51
+ <%= f.error_message_on :cost_currency %>
52
+ <% end %>
53
+ </div>
63
54
 
64
- <div data-hook="admin_product_form_promotionable">
65
- <%= f.field_container :promotionable do %>
66
- <%= f.label :promotionable do %>
67
- <%= f.check_box :promotionable %> <%= Spree.t(:promotionable) %>
55
+ <div data-hook="admin_product_form_available_on">
56
+ <%= f.field_container :available_on, class: ['form-group'] do %>
57
+ <%= f.label :available_on, Spree.t(:available_on) %>
58
+ <%= f.error_message_on :available_on %>
59
+ <%= f.text_field :available_on, value: datepicker_field_value(@product.available_on), class: 'datepicker form-control' %>
68
60
  <% end %>
69
- <% end %>
70
- </div>
61
+ </div>
71
62
 
72
- <% if @product.has_variants? %>
73
- <div data-hook="admin_product_form_multiple_variants">
74
- <%= f.label :skus, Spree.t(:skus) %>
75
- <span class="info">
76
- <%= Spree.t(:info_product_has_multiple_skus, count: @product.variants.count) %>
77
- <ul class="text_list">
78
- <% @product.variants.first(5).each do |variant| %>
79
- <li><%= variant.sku %></li>
63
+ <% if @product.has_variants? %>
64
+ <div data-hook="admin_product_form_multiple_variants" class="well">
65
+ <%= f.label :skus, Spree.t(:sku).pluralize %>
66
+ <div class="info marginb">
67
+ <%= Spree.t(:info_product_has_multiple_skus, count: @product.variants.count) %>
68
+ <ul class="text_list">
69
+ <% @product.variants.first(5).each do |variant| %>
70
+ <li><%= variant.sku %></li>
71
+ <% end %>
72
+ </ul>
73
+ <% if @product.variants.count > 5 %>
74
+ <em>
75
+ <%= Spree.t(:info_number_of_skus_not_shown, count: @product.variants.count - 5) %>
76
+ </em>
80
77
  <% end %>
81
- </ul>
82
- <% if @product.variants.count > 5 %>
83
- <%= Spree.t(:info_number_of_skus_not_shown, count: @product.variants.count - 5) %>
84
- <% end %>
85
- </span>
86
- <div class="info-actions">
87
- <% if can?(:admin, Spree::Variant) %>
88
- <%= link_to_with_icon 'th-large', Spree.t(:manage_variants), admin_product_variants_url(@product) %>
78
+ </div>
79
+ <div class="info-actions">
80
+ <% if can?(:admin, Spree::Variant) %>
81
+ <%= link_to_with_icon 'variants', 'Manage Variants', admin_product_variants_url(@product), class: "btn btn-default" %>
82
+ <% end %>
83
+ </div>
84
+ </div>
85
+ <% else %>
86
+ <div data-hook="admin_product_form_sku">
87
+ <%= f.field_container :sku, class: ['form-group'] do %>
88
+ <%= f.label :sku, Spree.t(:sku) %>
89
+ <%= f.text_field :sku, size: 16, class: 'form-control' %>
89
90
  <% end %>
90
91
  </div>
91
- </div>
92
- <% else %>
93
- <div data-hook="admin_product_form_sku">
94
- <%= f.field_container :sku do %>
95
- <%= f.label :sku, Spree.t(:sku) %>
96
- <%= f.text_field :sku, :size => 16 %>
92
+
93
+ <div id="shipping_specs" class="row">
94
+ <div class="col-md-6">
95
+ <div id="shipping_specs_weight_field" data-hook="admin_product_form_weight" class="form-group">
96
+ <%= f.label :weight, Spree.t(:weight) %>
97
+ <%= f.text_field :weight, size: 4, class: 'form-control' %>
98
+ </div>
99
+ </div>
100
+
101
+ <div class="col-md-6">
102
+ <div id="shipping_specs_height_field" data-hook="admin_product_form_height" class="form-group">
103
+ <%= f.label :height, Spree.t(:height) %>
104
+ <%= f.text_field :height, size: 4, class: 'form-control' %>
105
+ </div>
106
+ </div>
107
+
108
+ <div class="col-md-6">
109
+ <div id="shipping_specs_width_field" data-hook="admin_product_form_width" class="form-group">
110
+ <%= f.label :width, Spree.t(:width) %>
111
+ <%= f.text_field :width, size: 4, class: 'form-control' %>
112
+ </div>
113
+ </div>
114
+
115
+ <div class="col-md-6">
116
+ <div id="shipping_specs_depth_field" data-hook="admin_product_form_depth" class="form-group">
117
+ <%= f.label :depth, Spree.t(:depth) %>
118
+ <%= f.text_field :depth, size: 4, class: 'form-control' %>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ <% end %>
123
+
124
+ <div data-hook="admin_product_form_shipping_categories">
125
+ <%= f.field_container :shipping_categories, class: ['form-group'] do %>
126
+ <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %>
127
+ <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'select2' }) %>
128
+ <%= f.error_message_on :shipping_category %>
97
129
  <% end %>
98
130
  </div>
99
131
 
100
- <ul id="shipping_specs">
101
- <li id="shipping_specs_weight_field" data-hook="admin_product_form_weight" class="field alpha two columns">
102
- <%= f.label :weight, Spree.t(:weight) %>
103
- <%= f.text_field :weight, :size => 4 %>
104
- </li>
105
- <li id="shipping_specs_height_field" data-hook="admin_product_form_height" class="field omega two columns">
106
- <%= f.label :height, Spree.t(:height) %>
107
- <%= f.text_field :height, :size => 4 %>
108
- </li>
109
- <li id="shipping_specs_width_field" data-hook="admin_product_form_width" class="field alpha two columns">
110
- <%= f.label :width, Spree.t(:width) %>
111
- <%= f.text_field :width, :size => 4 %>
112
- </li>
113
- <li id="shipping_specs_depth_field" data-hook="admin_product_form_depth" class="field omega two columns">
114
- <%= f.label :depth, Spree.t(:depth) %>
115
- <%= f.text_field :depth, :size => 4 %>
116
- </li>
117
- </ul>
118
- <% end %>
119
-
120
- <div data-hook="admin_product_form_shipping_categories">
121
- <%= f.field_container :shipping_categories do %>
122
- <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %>
123
- <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
124
- <%= f.error_message_on :shipping_category %>
125
- <% end %>
132
+ <div data-hook="admin_product_form_tax_category">
133
+ <%= f.field_container :tax_category, class: ['form-group'] do %>
134
+ <%= f.label :tax_category_id, Spree.t(:tax_category) %>
135
+ <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { include_blank: Spree.t('match_choices.none') }, { class: 'select2' }) %>
136
+ <%= f.error_message_on :tax_category %>
137
+ <% end %>
138
+ </div>
126
139
  </div>
127
140
 
128
- <div data-hook="admin_product_form_tax_category">
129
- <%= f.field_container :tax_category do %>
130
- <%= f.label :tax_category_id, Spree.t(:tax_category) %>
131
- <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
132
- <%= f.error_message_on :tax_category %>
133
- <% end %>
134
- </div>
135
141
  </div>
136
142
 
137
- <div class="twelve columns alpha omega">
138
- <div data-hook="admin_product_form_taxons">
139
- <%= f.field_container :taxons do %>
140
- <%= f.label :taxon_ids, Spree.t(:taxons) %><br />
141
- <%= f.hidden_field :taxon_ids, :value => @product.taxon_ids.join(',') %>
142
- <% end %>
143
- </div>
143
+ <div data-hook="admin_product_form_taxons">
144
+ <%= f.field_container :taxons, class: ['form-group'] do %>
145
+ <%= f.label :taxon_ids, Spree.t(:taxons) %>
146
+ <%= f.hidden_field :taxon_ids, value: @product.taxon_ids.join(',') %>
147
+ <% end %>
148
+ </div>
144
149
 
145
- <div data-hook="admin_product_form_option_types">
146
- <%= f.field_container :option_types do %>
147
- <%= f.label :option_type_ids, Spree.t(:option_types) %>
148
- <%= f.hidden_field :option_type_ids, :value => @product.option_type_ids.join(',') %>
149
- <% end %>
150
- </div>
150
+ <div data-hook="admin_product_form_option_types">
151
+ <%= f.field_container :option_types, class: ['form-group'] do %>
152
+ <%= f.label :option_type_ids, Spree.t(:option_types) %>
153
+ <%= f.hidden_field :option_type_ids, value: @product.option_type_ids.join(',') %>
154
+ <% end %>
151
155
  </div>
152
156
 
153
- <div data-hook="admin_product_form_meta" class="alpha omega twelve columns">
154
- <div data-hook="admin_product_form_meta_title">
155
- <%= f.field_container :meta_title do %>
156
- <%= f.label :meta_title, Spree.t(:meta_title) %>
157
- <%= f.text_field :meta_title, :class => 'fullwidth' %>
158
- <% end %>
159
- </div>
160
157
 
161
- <div data-hook="admin_product_form_meta_keywords">
162
- <%= f.field_container :meta_keywords do %>
163
- <%= f.label :meta_keywords, Spree.t(:meta_keywords) %>
164
- <%= f.text_field :meta_keywords, :class => 'fullwidth' %>
165
- <% end %>
166
- </div>
158
+ <div data-hook="admin_product_form_meta">
167
159
 
168
- <div data-hook="admin_product_form_meta_description">
169
- <%= f.field_container :meta_description do %>
170
- <%= f.label :meta_description, Spree.t(:meta_description) %>
171
- <%= f.text_field :meta_description, :class => 'fullwidth' %>
172
- <% end %>
173
- </div>
160
+ <div data-hook="admin_product_form_meta_keywords">
161
+ <%= f.field_container :meta_keywords, class: ['form-group'] do %>
162
+ <%= f.label :meta_keywords, Spree.t(:meta_keywords) %>
163
+ <%= f.text_field :meta_keywords, class: 'form-control' %>
164
+ <% end %>
174
165
  </div>
175
166
 
176
- <div class="clear"></div>
167
+ <div data-hook="admin_product_form_meta_description">
168
+ <%= f.field_container :meta_description, class: ['form-group'] do %>
169
+ <%= f.label :meta_description, Spree.t(:meta_description) %>
170
+ <%= f.text_field :meta_description, class: 'form-control' %>
171
+ <% end %>
172
+ </div>
177
173
 
178
174
  <div data-hook="admin_product_form_additional_fields"></div>
179
175
 
180
- <div class="clear"></div>
181
176
  </div>
182
177
 
183
178
  <% unless Rails.env.test? %>
184
179
  <script>
185
- $('.select2-container').css({width: '20em'})
180
+ $('.select2-container').css();
186
181
  </script>
187
182
  <% end %>
@@ -4,7 +4,7 @@
4
4
 
5
5
  <% f.fields_for :product_properties do |properties_form| %>
6
6
  <div data-hook="value">
7
- <%= properties_form.label :value, properties_form.object.property.presentation %><br />
8
- <%= properties_form.text_field :value %>
7
+ <%= properties_form.label :value, properties_form.object.property.presentation %>
8
+ <%= properties_form.text_field :value, :class => "form-control" %>
9
9
  </div>
10
10
  <% end %>
@@ -1,19 +1,14 @@
1
1
  <% content_for :page_actions do %>
2
- <li><%= button_link_to Spree.t(:back_to_products_list), session[:return_to] || admin_products_url, :icon => 'arrow-left' %></li>
3
2
  <% if can?(:create, Spree::Product) %>
4
- <li id="new_product_link">
5
- <%= button_link_to Spree.t(:new_product), new_object_url, { :icon => 'plus', :id => 'admin_new_product' } %>
6
- </li>
3
+ <%= button_link_to Spree.t(:new_product), new_object_url, { :class => "btn-success", :icon => 'add', :id => 'admin_new_product' } %>
7
4
  <% end %>
8
5
  <% end %>
9
6
 
10
- <%= render :partial => 'spree/admin/shared/product_sub_menu' %>
11
-
12
7
  <%= render :partial => 'spree/admin/shared/product_tabs', :locals => { :current => 'Product Details' } %>
13
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @product } %>
8
+ <%= render :partial => 'spree/admin/shared/error_messages', :locals => { :target => @product } %>
14
9
 
15
10
  <%= form_for [:admin, @product], :method => :put, :html => { :multipart => true } do |f| %>
16
- <fieldset class="no-border-top">
11
+ <fieldset>
17
12
  <%= render :partial => 'form', :locals => { :f => f } %>
18
13
  <%= render :partial => 'spree/admin/shared/edit_resource_links' %>
19
14
  </fieldset>
@@ -1,102 +1,81 @@
1
1
  <% content_for :page_title do %>
2
- <%= Spree.t(:listing_products) %>
2
+ <%= Spree::Product.model_name.human(count: :many) %>
3
3
  <% end %>
4
4
 
5
5
  <% content_for :page_actions do %>
6
- <li id="new_product_link">
7
- <%= button_link_to Spree.t(:new_product), new_object_url, { :remote => true, :icon => 'plus', :id => 'admin_new_product' } %>
8
- </li>
6
+ <%= button_link_to Spree.t(:new_product), new_object_url, { :class => "btn-success", :icon => 'add', :id => 'admin_new_product' } %>
9
7
  <% end if can?(:create, Spree::Product) %>
10
8
 
11
- <%= render :partial => 'spree/admin/shared/product_sub_menu' %>
12
-
13
- <% content_for :table_filter_title do %>
14
- <%= Spree.t(:search) %>
15
- <% end %>
16
-
17
9
  <% content_for :table_filter do %>
18
10
  <div data-hook="admin_products_sidebar">
19
11
 
20
12
  <%= search_form_for [:admin, @search] do |f| %>
21
-
22
- <%- locals = {:f => f} %>
23
-
24
- <div data-hook="admin_products_index_search">
25
- <div class="alpha nine columns">
26
- <div class="field">
27
- <%= f.label :name_cont, Spree.t(:name) %>
28
- <%= f.text_field :name_cont, :size => 15 %>
29
- </div>
30
- </div>
31
- <div class="four columns">
32
- <div class="field">
33
- <%= f.label :variants_including_master_sku_cont, Spree.t(:sku) %>
34
- <%= f.text_field :variants_including_master_sku_cont, :size => 15 %>
35
- </div>
13
+ <%- locals = {:f => f} %>
14
+ <div data-hook="admin_products_index_search" class="row">
15
+ <div class="col-md-6">
16
+ <div class="form-group">
17
+ <%= f.label :name_cont, Spree.t(:name) %>
18
+ <%= f.text_field :name_cont, :size => 15, class: "form-control js-quick-search-target" %>
36
19
  </div>
37
- <div class="three columns omega">
38
- <div class="field checkbox">
39
- <label>
40
- <%= f.check_box :deleted_at_null, {:checked => params[:q][:deleted_at_null] == '0'}, '0', '1' %>
41
- <%= Spree.t(:show_deleted) %>
42
- </label>
43
- </div>
20
+ </div>
21
+ <div class="col-md-6">
22
+ <div class="form-group">
23
+ <%= f.label :variants_including_master_sku_cont, Spree.t(:sku) %>
24
+ <%= f.text_field :variants_including_master_sku_cont, :size => 15, class: "form-control" %>
44
25
  </div>
45
26
  </div>
46
-
47
- <div class="clear"></div>
48
-
49
- <div class="form-buttons actions filter-actions" data-hook="admin_products_index_search_buttons">
50
- <%= button Spree.t(:search), 'search' %>
27
+ <div class="col-md-12">
28
+ <div class="field checkbox">
29
+ <label>
30
+ <%= f.check_box :deleted_at_null, {:checked => params[:q][:deleted_at_null] == '0'}, '0', '1' %>
31
+ <%= Spree.t(:show_deleted) %>
32
+ </label>
33
+ </div>
51
34
  </div>
35
+ </div>
36
+ <div data-hook="admin_products_index_search_buttons" class="form-actions">
37
+ <%= button Spree.t(:search), 'search' %>
38
+ </div>
52
39
  <% end %>
40
+
53
41
  </div>
54
42
  <% end %>
55
43
 
56
- <div id="new_product_wrapper" data-hook></div>
57
-
58
- <%= paginate @collection %>
44
+ <%= render partial: 'spree/admin/shared/index_table_options', locals: { collection: @collection } %>
59
45
 
60
46
  <% if @collection.any? %>
61
- <table class="index" id="listing_products">
62
- <colgroup>
63
- <col style="width: 15%;">
64
- <col style="width: 10%;">
65
- <col style="width: 48%;">
66
- <col style="width: 10%;">
67
- <col style="width: 17%;">
68
- </colgroup>
47
+ <table class="table" id="listing_products">
69
48
  <thead>
70
49
  <tr data-hook="admin_products_index_headers">
71
50
  <th><%= Spree.t(:sku) %></th>
72
- <th colspan="2"><%= sort_link @search,:name, Spree.t(:name), { :default_order => "desc" }, {:title => 'admin_products_listing_name_title'} %></th>
73
- <th><%= sort_link @search,:master_default_price_amount, Spree.t(:master_price), {}, {:title => 'admin_products_listing_price_title'} %></th>
51
+ <th colspan="2"><%= sort_link @search,:name, Spree.t(:name), { default_order: "desc" }, {title: 'admin_products_listing_name_title'} %></th>
52
+ <th class="text-center">
53
+ <%= sort_link @search, :master_default_price_amount, Spree.t(:master_price), {}, {title: 'admin_products_listing_price_title'} %>
54
+ </th>
74
55
  <th data-hook="admin_products_index_header_actions" class="actions"></th>
75
56
  </tr>
76
57
  </thead>
77
58
  <tbody>
78
59
  <% @collection.each do |product| %>
79
60
  <tr <%== "style='color: red;'" if product.deleted? %> id="<%= spree_dom_id product %>" data-hook="admin_products_index_rows" class="<%= cycle('odd', 'even') %>">
80
- <td class="align-center"><%= product.sku rescue '' %></td>
81
- <td class="align-center"><%= mini_image(product) %></td>
61
+ <td class="sku"><%= product.sku rescue '' %></td>
62
+ <td class="image"><%= mini_image product %></td>
82
63
  <td><%= link_to product.try(:name), edit_admin_product_path(product) %></td>
83
- <td class="align-center"><%= product.display_price.to_html rescue '' %></td>
84
- <td class="actions" data-hook="admin_products_index_row_actions">
85
- <%= link_to_edit product, :no_text => true, :class => 'edit' if can?(:edit, product) && !product.deleted? %>
86
- &nbsp;
87
- <%= link_to_clone product, :no_text => true, :class => 'clone' if can?(:clone, product) %>
88
- &nbsp;
89
- <%= link_to_delete product, :no_text => true if can?(:delete, product) && !product.deleted? %>
64
+ <td class="text-center"><%= product.display_price.to_html rescue '' %></td>
65
+ <td class="actions actions-3 text-right" data-hook="admin_products_index_row_actions">
66
+ <%= link_to_edit product, no_text: true, class: 'edit' if can?(:edit, product) && !product.deleted? %>
67
+ <%= link_to_clone product, no_text: true, class: 'clone' if can?(:clone, product) %>
68
+ <%= link_to_delete product, no_text: true if can?(:delete, product) && !product.deleted? %>
90
69
  </td>
91
70
  </tr>
92
71
  <% end %>
93
72
  </tbody>
94
73
  </table>
95
74
  <% else %>
96
- <div class="alpha twelve columns no-objects-found">
97
- <%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/product')) %>,
98
- <%= link_to Spree.t(:add_one), spree.new_admin_product_path %>!
75
+ <div class="alert alert-info no-objects-found">
76
+ <%= Spree.t(:no_resource_found, resource: Spree::Product.model_name.human(count: :many)) %>,
77
+ <%= link_to Spree.t(:add_one), new_object_url %>!
99
78
  </div>
100
79
  <% end %>
101
80
 
102
- <%= paginate @collection %>
81
+ <%= render partial: 'spree/admin/shared/index_table_options', locals: { collection: @collection } %>
@@ -1,66 +1,62 @@
1
- <%= render :partial => 'spree/admin/shared/product_sub_menu' %>
1
+ <%= render :partial => 'spree/admin/shared/error_messages', :locals => { :target => @product } %>
2
2
 
3
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @product } %>
4
-
5
- <%= form_for [:admin, @product], method: :post, url: admin_products_path, :html => { :multipart => true } do |f| %>
3
+ <% content_for :page_title do %>
4
+ <%= Spree.t(:new_product) %>
5
+ <% end %>
6
6
 
7
+ <%= form_for [:admin, @product], :html => { :multipart => true } do |f| %>
7
8
  <fieldset data-hook="new_product">
8
-
9
- <legend align="center"><%= Spree.t(:new_product) %></legend>
10
-
11
- <%= f.field_container :name do %>
12
- <%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br />
13
- <%= f.text_field :name, :class => 'fullwidth title', :required => true %>
9
+ <%= f.field_container :name, :class => ['form-group'] do %>
10
+ <%= f.label :name, Spree.t(:name) %> <span class="required">*</span>
11
+ <%= f.text_field :name, :class => 'form-control title' %>
14
12
  <%= f.error_message_on :name %>
15
13
  <% end %>
16
14
 
17
15
  <div data-hook="new_product_attrs" class="row">
18
16
  <% unless @product.has_variants? %>
19
- <div data-hook="new_product_sku" class="alpha four columns">
20
- <%= f.field_container :sku do %>
21
- <%= f.label :sku, Spree.t(:sku) %><br />
22
- <%= f.text_field :sku, :size => 16, :class => 'fullwidth' %>
17
+ <div data-hook="new_product_sku" class="col-md-4">
18
+ <%= f.field_container :sku, :class => ['form-group'] do %>
19
+ <%= f.label :sku, Spree.t(:sku) %>
20
+ <%= f.text_field :sku, :size => 16, :class => 'form-control' %>
23
21
  <%= f.error_message_on :sku %>
24
22
  <% end %>
25
23
  </div>
26
24
  <% end %>
27
25
 
28
- <div data-hook="new_product_prototype" class="four columns">
29
- <%= f.field_container :prototype do %>
30
- <%= f.label :prototype_id, Spree.t(:prototype) %><br />
31
- <%= f.collection_select :prototype_id, Spree::Prototype.all, :id, :name, {:include_blank => true}, {:class => 'select2 fullwidth'} %>
26
+ <div data-hook="new_product_prototype" class="col-md-4">
27
+ <%= f.field_container :prototype, :class => ['form-group'] do %>
28
+ <%= f.label :prototype_id, Spree.t(:prototype) %>
29
+ <%= f.collection_select :prototype_id, Spree::Prototype.all, :id, :name, {:include_blank => true}, {:class => 'select2'} %>
32
30
  <% end %>
33
31
  </div>
34
32
 
35
- <div data-hook="new_product_price" class="four columns">
36
- <%= f.field_container :price do %>
37
- <%= f.label :price, Spree.t(:master_price) %> <span class="required">*</span><br />
38
- <%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :class => 'fullwidth', :required => true %>
33
+ <div data-hook="new_product_price" class="col-md-4">
34
+ <%= f.field_container :price, :class => ['form-group'] do %>
35
+ <%= f.label :price, Spree.t(:master_price) %> <span class="required">*</span>
36
+ <%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :class => 'form-control' %>
39
37
  <%= f.error_message_on :price %>
40
38
  <% end %>
41
39
  </div>
42
40
 
43
- <div data-hook="new_product_available_on" class="omega four columns">
44
- <%= f.field_container :available_on do %>
41
+ <div data-hook="new_product_available_on" class="col-md-4">
42
+ <%= f.field_container :available_on, :class => ['form-group'] do %>
45
43
  <%= f.label :available_on, Spree.t(:available_on) %>
46
44
  <%= f.error_message_on :available_on %>
47
- <%= f.text_field :available_on, :class => 'datepicker fullwidth' %>
45
+ <%= f.text_field :available_on, :class => 'datepicker form-control' %>
48
46
  <% end %>
49
47
  </div>
50
48
 
51
- </div>
52
-
53
- <div class='row'>
54
- <div data-hook="new_product_shipping_category" class="alpha four columns">
55
- <%= f.field_container :shipping_category do %>
56
- <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %><span class="required">*</span><br />
57
- <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2 fullwidth', :required => true }) %>
49
+ <div data-hook="new_product_shipping_category" class="col-md-4">
50
+ <%= f.field_container :shipping_category, :class => ['form-group'] do %>
51
+ <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %><span class="required">*</span>
52
+ <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
58
53
  <%= f.error_message_on :shipping_category_id %>
59
54
  <% end %>
60
55
  </div>
56
+
61
57
  </div>
62
58
 
63
- <div class="clearfix" data-hook="product-from-prototype" id="product-from-prototype">
59
+ <div data-hook="product-from-prototype" id="product-from-prototype">
64
60
  <%= render :file => 'spree/admin/prototypes/show' if @prototype %>
65
61
  </div>
66
62