solidus_backend 2.5.2 → 2.6.0.rc1

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

Potentially problematic release.


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

Files changed (274) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +5 -3
  3. data/app/assets/javascripts/spree/backend.js +1 -0
  4. data/app/assets/javascripts/spree/backend/admin.js +1 -0
  5. data/app/assets/javascripts/spree/backend/highlight_negative_numbers.js +14 -0
  6. data/app/assets/javascripts/spree/backend/locale_selection.js +18 -0
  7. data/app/assets/javascripts/spree/backend/templates/products/sortable.hbs +1 -1
  8. data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +11 -2
  9. data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +3 -1
  10. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +6 -2
  11. data/app/assets/stylesheets/spree/backend/globals/_functions.scss +1 -2
  12. data/app/assets/stylesheets/spree/backend/shared/_typography.scss +3 -0
  13. data/app/controllers/spree/admin/adjustment_reasons_controller.rb +2 -0
  14. data/app/controllers/spree/admin/adjustments_controller.rb +2 -0
  15. data/app/controllers/spree/admin/base_controller.rb +2 -0
  16. data/app/controllers/spree/admin/cancellations_controller.rb +2 -0
  17. data/app/controllers/spree/admin/customer_returns_controller.rb +2 -0
  18. data/app/controllers/spree/admin/dashboards_controller.rb +2 -0
  19. data/app/controllers/spree/admin/general_settings_controller.rb +2 -0
  20. data/app/controllers/spree/admin/images_controller.rb +2 -0
  21. data/app/controllers/spree/admin/locale_controller.rb +24 -0
  22. data/app/controllers/spree/admin/log_entries_controller.rb +2 -0
  23. data/app/controllers/spree/admin/option_types_controller.rb +2 -0
  24. data/app/controllers/spree/admin/option_values_controller.rb +2 -0
  25. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -0
  26. data/app/controllers/spree/admin/orders_controller.rb +4 -2
  27. data/app/controllers/spree/admin/payment_methods_controller.rb +2 -0
  28. data/app/controllers/spree/admin/payments_controller.rb +2 -0
  29. data/app/controllers/spree/admin/prices_controller.rb +2 -0
  30. data/app/controllers/spree/admin/product_properties_controller.rb +2 -0
  31. data/app/controllers/spree/admin/products_controller.rb +2 -0
  32. data/app/controllers/spree/admin/promotion_actions_controller.rb +2 -0
  33. data/app/controllers/spree/admin/promotion_categories_controller.rb +2 -0
  34. data/app/controllers/spree/admin/promotion_code_batches_controller.rb +2 -0
  35. data/app/controllers/spree/admin/promotion_codes_controller.rb +2 -0
  36. data/app/controllers/spree/admin/promotion_rules_controller.rb +6 -0
  37. data/app/controllers/spree/admin/promotions_controller.rb +2 -0
  38. data/app/controllers/spree/admin/properties_controller.rb +2 -0
  39. data/app/controllers/spree/admin/refund_reasons_controller.rb +2 -0
  40. data/app/controllers/spree/admin/refunds_controller.rb +2 -0
  41. data/app/controllers/spree/admin/reimbursement_types_controller.rb +2 -0
  42. data/app/controllers/spree/admin/reimbursements_controller.rb +2 -0
  43. data/app/controllers/spree/admin/reports_controller.rb +2 -0
  44. data/app/controllers/spree/admin/resource_controller.rb +2 -0
  45. data/app/controllers/spree/admin/return_authorizations_controller.rb +2 -0
  46. data/app/controllers/spree/admin/return_items_controller.rb +2 -0
  47. data/app/controllers/spree/admin/return_reasons_controller.rb +2 -0
  48. data/app/controllers/spree/admin/root_controller.rb +2 -0
  49. data/app/controllers/spree/admin/search_controller.rb +2 -0
  50. data/app/controllers/spree/admin/shipping_categories_controller.rb +2 -0
  51. data/app/controllers/spree/admin/shipping_methods_controller.rb +2 -0
  52. data/app/controllers/spree/admin/stock_items_controller.rb +2 -0
  53. data/app/controllers/spree/admin/stock_locations_controller.rb +2 -1
  54. data/app/controllers/spree/admin/stock_movements_controller.rb +2 -0
  55. data/app/controllers/spree/admin/store_credits_controller.rb +2 -0
  56. data/app/controllers/spree/admin/stores_controller.rb +2 -0
  57. data/app/controllers/spree/admin/style_guide_controller.rb +2 -0
  58. data/app/controllers/spree/admin/tax_categories_controller.rb +2 -0
  59. data/app/controllers/spree/admin/tax_rates_controller.rb +2 -0
  60. data/app/controllers/spree/admin/taxonomies_controller.rb +2 -0
  61. data/app/controllers/spree/admin/taxons_controller.rb +2 -0
  62. data/app/controllers/spree/admin/users_controller.rb +4 -1
  63. data/app/controllers/spree/admin/variant_property_rule_values_controller.rb +2 -0
  64. data/app/controllers/spree/admin/variants_controller.rb +2 -0
  65. data/app/controllers/spree/admin/variants_including_master_controller.rb +2 -0
  66. data/app/controllers/spree/admin/zones_controller.rb +2 -0
  67. data/app/helpers/spree/admin/adjustments_helper.rb +2 -0
  68. data/app/helpers/spree/admin/base_helper.rb +6 -3
  69. data/app/helpers/spree/admin/customer_returns_helper.rb +2 -0
  70. data/app/helpers/spree/admin/navigation_helper.rb +11 -7
  71. data/app/helpers/spree/admin/orders_helper.rb +5 -3
  72. data/app/helpers/spree/admin/payments_helper.rb +4 -3
  73. data/app/helpers/spree/admin/products_helper.rb +2 -0
  74. data/app/helpers/spree/admin/reimbursement_type_helper.rb +2 -0
  75. data/app/helpers/spree/admin/stock_locations_helper.rb +2 -0
  76. data/app/helpers/spree/admin/stock_movements_helper.rb +2 -0
  77. data/app/helpers/spree/admin/store_credit_events_helper.rb +2 -0
  78. data/app/helpers/spree/promotion_rules_helper.rb +2 -0
  79. data/app/models/spree/backend_configuration.rb +2 -0
  80. data/app/views/spree/admin/adjustment_reasons/index.html.erb +1 -1
  81. data/app/views/spree/admin/adjustments/edit.html.erb +1 -1
  82. data/app/views/spree/admin/adjustments/index.html.erb +2 -2
  83. data/app/views/spree/admin/adjustments/new.html.erb +2 -2
  84. data/app/views/spree/admin/customer_returns/index.html.erb +1 -1
  85. data/app/views/spree/admin/customer_returns/new.html.erb +2 -2
  86. data/app/views/spree/admin/images/_image_row.html.erb +1 -1
  87. data/app/views/spree/admin/images/_new.html.erb +1 -1
  88. data/app/views/spree/admin/images/edit.html.erb +2 -2
  89. data/app/views/spree/admin/log_entries/index.html.erb +2 -2
  90. data/app/views/spree/admin/option_types/index.html.erb +1 -1
  91. data/app/views/spree/admin/orders/_carton_manifest.html.erb +1 -1
  92. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +1 -1
  93. data/app/views/spree/admin/orders/cart.html.erb +2 -2
  94. data/app/views/spree/admin/orders/confirm/_payments.html.erb +1 -1
  95. data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -1
  96. data/app/views/spree/admin/orders/customer_details/show.html.erb +1 -1
  97. data/app/views/spree/admin/orders/edit.html.erb +1 -1
  98. data/app/views/spree/admin/orders/index.html.erb +2 -2
  99. data/app/views/spree/admin/payment_methods/edit.html.erb +1 -1
  100. data/app/views/spree/admin/payment_methods/index.html.erb +1 -1
  101. data/app/views/spree/admin/payment_methods/new.html.erb +1 -1
  102. data/app/views/spree/admin/payments/_list.html.erb +2 -2
  103. data/app/views/spree/admin/payments/credit.html.erb +1 -1
  104. data/app/views/spree/admin/payments/index.html.erb +1 -1
  105. data/app/views/spree/admin/payments/new.html.erb +1 -1
  106. data/app/views/spree/admin/payments/show.html.erb +2 -2
  107. data/app/views/spree/admin/prices/_form.html.erb +1 -1
  108. data/app/views/spree/admin/prices/index.html.erb +2 -2
  109. data/app/views/spree/admin/product_properties/index.html.erb +1 -1
  110. data/app/views/spree/admin/products/_form.html.erb +4 -1
  111. data/app/views/spree/admin/products/edit.html.erb +1 -1
  112. data/app/views/spree/admin/products/index.html.erb +2 -2
  113. data/app/views/spree/admin/promotion_categories/_form.html.erb +1 -1
  114. data/app/views/spree/admin/promotion_categories/index.html.erb +37 -29
  115. data/app/views/spree/admin/promotion_code_batches/download.csv.ruby +2 -0
  116. data/app/views/spree/admin/promotion_code_batches/index.html.erb +1 -1
  117. data/app/views/spree/admin/promotion_code_batches/new.html.erb +6 -1
  118. data/app/views/spree/admin/promotion_codes/index.csv.ruby +2 -0
  119. data/app/views/spree/admin/promotion_codes/index.html.erb +1 -1
  120. data/app/views/spree/admin/promotions/_actions.html.erb +2 -2
  121. data/app/views/spree/admin/promotions/_activations_new.html.erb +4 -0
  122. data/app/views/spree/admin/promotions/_rules.html.erb +2 -2
  123. data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +5 -2
  124. data/app/views/spree/admin/promotions/edit.html.erb +2 -2
  125. data/app/views/spree/admin/promotions/index.html.erb +2 -2
  126. data/app/views/spree/admin/promotions/rules/_store.html.erb +6 -0
  127. data/app/views/spree/admin/properties/index.html.erb +2 -2
  128. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -1
  129. data/app/views/spree/admin/refunds/edit.html.erb +2 -2
  130. data/app/views/spree/admin/refunds/new.html.erb +2 -2
  131. data/app/views/spree/admin/reimbursements/edit.html.erb +2 -2
  132. data/app/views/spree/admin/reimbursements/index.html.erb +1 -1
  133. data/app/views/spree/admin/reimbursements/show.html.erb +1 -1
  134. data/app/views/spree/admin/return_authorizations/edit.html.erb +3 -3
  135. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
  136. data/app/views/spree/admin/return_authorizations/new.html.erb +2 -2
  137. data/app/views/spree/admin/search/products.json.jbuilder +2 -0
  138. data/app/views/spree/admin/search/users.json.jbuilder +2 -0
  139. data/app/views/spree/admin/shared/_datepicker.html.erb +8 -0
  140. data/app/views/spree/admin/shared/_edit_resource_links.html.erb +2 -2
  141. data/app/views/spree/admin/shared/_locale_selection.html.erb +15 -0
  142. data/app/views/spree/admin/shared/_navigation.html.erb +1 -0
  143. data/app/views/spree/admin/shared/_new_resource_links.html.erb +1 -1
  144. data/app/views/spree/admin/shared/_no_objects_found.html.erb +1 -1
  145. data/app/views/spree/admin/shared/_order_summary.html.erb +1 -1
  146. data/app/views/spree/admin/shared/_refunds.html.erb +1 -1
  147. data/app/views/spree/admin/shared/_report_order_criteria.html.erb +1 -1
  148. data/app/views/spree/admin/shared/_variant_search.html.erb +1 -1
  149. data/app/views/spree/admin/shared/named_types/_index.html.erb +1 -1
  150. data/app/views/spree/admin/shipping_categories/index.html.erb +1 -1
  151. data/app/views/spree/admin/shipping_methods/_form.html.erb +8 -0
  152. data/app/views/spree/admin/shipping_methods/index.html.erb +1 -1
  153. data/app/views/spree/admin/stock_locations/_form.html.erb +1 -1
  154. data/app/views/spree/admin/stock_locations/edit.html.erb +7 -0
  155. data/app/views/spree/admin/stock_locations/index.html.erb +1 -1
  156. data/app/views/spree/admin/stock_movements/index.html.erb +15 -15
  157. data/app/views/spree/admin/store_credits/edit_validity.html.erb +2 -2
  158. data/app/views/spree/admin/store_credits/show.html.erb +2 -0
  159. data/app/views/spree/admin/stores/_form.html.erb +77 -60
  160. data/app/views/spree/admin/stores/edit.html.erb +1 -1
  161. data/app/views/spree/admin/stores/index.html.erb +3 -3
  162. data/app/views/spree/admin/tax_categories/index.html.erb +1 -1
  163. data/app/views/spree/admin/tax_rates/index.html.erb +1 -1
  164. data/app/views/spree/admin/taxonomies/{edit.erb → edit.html.erb} +3 -3
  165. data/app/views/spree/admin/taxonomies/index.html.erb +1 -1
  166. data/app/views/spree/admin/taxonomies/new.html.erb +1 -1
  167. data/app/views/spree/admin/taxons/edit.html.erb +3 -3
  168. data/app/views/spree/admin/taxons/search.json.jbuilder +2 -0
  169. data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
  170. data/app/views/spree/admin/users/edit.html.erb +3 -3
  171. data/app/views/spree/admin/users/index.html.erb +2 -2
  172. data/app/views/spree/admin/zones/index.html.erb +1 -1
  173. data/config/initializers/assets.rb +2 -0
  174. data/config/initializers/form_builder.rb +2 -0
  175. data/config/routes.rb +4 -0
  176. data/lib/solidus_backend.rb +2 -0
  177. data/lib/spree/backend.rb +2 -0
  178. data/lib/spree/backend/action_callbacks.rb +2 -0
  179. data/lib/spree/backend/callbacks.rb +2 -0
  180. data/lib/spree/backend/engine.rb +2 -0
  181. data/lib/spree_backend.rb +2 -0
  182. data/script/rails +4 -2
  183. data/solidus_backend.gemspec +6 -5
  184. data/spec/controllers/spree/admin/base_controller_spec.rb +2 -0
  185. data/spec/controllers/spree/admin/cancellations_controller_spec.rb +2 -0
  186. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +2 -0
  187. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +2 -0
  188. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +2 -1
  189. data/spec/controllers/spree/admin/orders_controller_spec.rb +2 -9
  190. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +2 -0
  191. data/spec/controllers/spree/admin/payments_controller_spec.rb +2 -0
  192. data/spec/controllers/spree/admin/prices_controller_spec.rb +2 -0
  193. data/spec/controllers/spree/admin/product_properties_controller_spec.rb +2 -0
  194. data/spec/controllers/spree/admin/products_controller_spec.rb +2 -0
  195. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +2 -0
  196. data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +2 -0
  197. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +27 -12
  198. data/spec/controllers/spree/admin/promotions_controller_spec.rb +2 -0
  199. data/spec/controllers/spree/admin/refunds_controller_spec.rb +2 -0
  200. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +2 -0
  201. data/spec/controllers/spree/admin/reports_controller_spec.rb +2 -0
  202. data/spec/controllers/spree/admin/resource_controller_spec.rb +2 -0
  203. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +2 -0
  204. data/spec/controllers/spree/admin/return_items_controller_spec.rb +2 -0
  205. data/spec/controllers/spree/admin/root_controller_spec.rb +2 -0
  206. data/spec/controllers/spree/admin/search_controller_spec.rb +2 -0
  207. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +2 -0
  208. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +2 -0
  209. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +2 -0
  210. data/spec/controllers/spree/admin/store_credits_controller_spec.rb +2 -0
  211. data/spec/controllers/spree/admin/users_controller_spec.rb +2 -1
  212. data/spec/controllers/spree/admin/variants_controller_spec.rb +2 -0
  213. data/spec/features/admin/configuration/payment_methods_spec.rb +2 -0
  214. data/spec/features/admin/configuration/shipping_methods_spec.rb +2 -0
  215. data/spec/features/admin/configuration/stock_locations_spec.rb +2 -0
  216. data/spec/features/admin/configuration/store_spec.rb +2 -0
  217. data/spec/features/admin/configuration/tax_categories_spec.rb +2 -0
  218. data/spec/features/admin/configuration/tax_rates_spec.rb +2 -0
  219. data/spec/features/admin/configuration/taxonomies_spec.rb +2 -0
  220. data/spec/features/admin/configuration/zones_spec.rb +2 -0
  221. data/spec/features/admin/homepage_spec.rb +2 -0
  222. data/spec/features/admin/javascript_format_money_spec.rb +2 -0
  223. data/spec/features/admin/locale_spec.rb +3 -0
  224. data/spec/features/admin/orders/adjustments_promotions_spec.rb +2 -0
  225. data/spec/features/admin/orders/adjustments_spec.rb +2 -0
  226. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +2 -0
  227. data/spec/features/admin/orders/cancelling_inventory_spec.rb +2 -0
  228. data/spec/features/admin/orders/customer_details_spec.rb +3 -1
  229. data/spec/features/admin/orders/line_items_spec.rb +2 -0
  230. data/spec/features/admin/orders/listing_spec.rb +2 -0
  231. data/spec/features/admin/orders/log_entries_spec.rb +2 -0
  232. data/spec/features/admin/orders/new_order_spec.rb +3 -1
  233. data/spec/features/admin/orders/order_details_spec.rb +3 -2
  234. data/spec/features/admin/orders/payments_spec.rb +5 -6
  235. data/spec/features/admin/orders/return_authorizations_spec.rb +2 -0
  236. data/spec/features/admin/orders/return_payment_state_spec.rb +2 -0
  237. data/spec/features/admin/orders/risk_analysis_spec.rb +2 -0
  238. data/spec/features/admin/orders/shipments_spec.rb +2 -0
  239. data/spec/features/admin/payments/store_credits_spec.rb +2 -0
  240. data/spec/features/admin/products/edit/images_spec.rb +2 -0
  241. data/spec/features/admin/products/edit/products_spec.rb +2 -1
  242. data/spec/features/admin/products/edit/taxons_spec.rb +3 -1
  243. data/spec/features/admin/products/edit/variants_spec.rb +2 -0
  244. data/spec/features/admin/products/option_types_spec.rb +2 -0
  245. data/spec/features/admin/products/pricing_spec.rb +2 -0
  246. data/spec/features/admin/products/products_spec.rb +2 -1
  247. data/spec/features/admin/products/properties_spec.rb +2 -0
  248. data/spec/features/admin/products/stock_management_spec.rb +2 -0
  249. data/spec/features/admin/products/variant_spec.rb +2 -1
  250. data/spec/features/admin/promotion_adjustments_spec.rb +2 -0
  251. data/spec/features/admin/promotions/option_value_rule_spec.rb +2 -0
  252. data/spec/features/admin/promotions/product_rule_spec.rb +2 -0
  253. data/spec/features/admin/promotions/promotion_categories_spec.rb +83 -0
  254. data/spec/features/admin/promotions/tiered_calculator_spec.rb +3 -1
  255. data/spec/features/admin/promotions/user_rule_spec.rb +2 -0
  256. data/spec/features/admin/reimbursements_spec.rb +2 -0
  257. data/spec/features/admin/reports_spec.rb +2 -0
  258. data/spec/features/admin/store_credits_spec.rb +2 -0
  259. data/spec/features/admin/stores_spec.rb +2 -0
  260. data/spec/features/admin/style_guide_spec.rb +2 -0
  261. data/spec/features/admin/taxons_spec.rb +2 -0
  262. data/spec/features/admin/users_spec.rb +2 -0
  263. data/spec/helpers/admin/base_helper_spec.rb +2 -0
  264. data/spec/helpers/admin/navigation_helper_spec.rb +2 -1
  265. data/spec/helpers/admin/stock_movements_helper_spec.rb +2 -0
  266. data/spec/helpers/admin/store_credit_events_helper_spec.rb +2 -0
  267. data/spec/helpers/promotion_rules_helper_spec.rb +2 -0
  268. data/spec/spec_helper.rb +3 -1
  269. data/spec/support/appear_before_matcher.rb +2 -0
  270. data/spec/support/feature/base_feature_helper.rb +2 -0
  271. data/spec/support/feature/order_feature_helper.rb +2 -0
  272. data/spec/teaspoon_env.rb +3 -1
  273. data/spec/views/spree/admin/shared/navigation_footer_spec.rb +2 -1
  274. metadata +43 -35
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  CSV.generate do |csv|
2
4
  csv << ['Code']
3
5
  @promotion_codes.order(:id).pluck(:value).each do |value|
@@ -4,7 +4,7 @@
4
4
 
5
5
  <% content_for :page_actions do %>
6
6
  <li>
7
- <%= button_link_to t('spree.download_promotion_code_list'), admin_promotion_promotion_codes_path(promotion_id: @promotion.id, format: :csv) %>
7
+ <%= link_to t('spree.download_promotion_code_list'), admin_promotion_promotion_codes_path(promotion_id: @promotion.id, format: :csv), class: 'btn btn-primary' %>
8
8
  </li>
9
9
  <% end %>
10
10
 
@@ -10,7 +10,7 @@
10
10
  <%= select_tag 'action_type', options, include_blank: t(:choose_promotion_action, scope: 'spree'), class: 'custom-select fullwidth' %>
11
11
  </div>
12
12
  <div class="filter-actions actions">
13
- <%= button t('spree.actions.add') %>
13
+ <%= button_tag t('spree.actions.add'), class: 'btn btn-primary' %>
14
14
  </div>
15
15
  <% end %>
16
16
  </fieldset>
@@ -28,7 +28,7 @@
28
28
  </div>
29
29
  <% if can?(:update, @promotion) %>
30
30
  <div class="filter-actions actions promotion-update">
31
- <%= button t('spree.actions.update') %>
31
+ <%= button_tag t('spree.actions.update'), class: 'btn btn-primary' %>
32
32
  </div>
33
33
  <% end %>
34
34
  <% end %>
@@ -49,6 +49,10 @@
49
49
  <%= batch.label :number_of_codes, class: "required" %>
50
50
  <%= batch.number_field :number_of_codes, class: "fullwidth", min: 1, required: true %>
51
51
  </div>
52
+ <div class="field">
53
+ <%= batch.label :join_characters %>
54
+ <%= batch.text_field :join_characters, class: "fullwidth" %>
55
+ </div>
52
56
  <div class="field">
53
57
  <%= f.label :per_code_usage_limit %>
54
58
  <%= f.text_field :per_code_usage_limit, class: "fullwidth" %>
@@ -10,7 +10,7 @@
10
10
  <%= select_tag('promotion_rule[type]', options_for_promotion_rule_types(@promotion), include_blank: t(:choose_promotion_rule, scope: 'spree'), class: 'custom-select fullwidth') %>
11
11
  </div>
12
12
  <div class="filter-actions actions">
13
- <%= button t('spree.actions.add') %>
13
+ <%= button_tag t('spree.actions.add'), class: 'btn btn-primary' %>
14
14
  </div>
15
15
  <% end %>
16
16
  </fieldset>
@@ -43,7 +43,7 @@
43
43
 
44
44
  <% if can?(:update, @promotion) %>
45
45
  <div class="promotion-update filter-actions actions">
46
- <%= button t('spree.actions.update') %>
46
+ <%= button_tag t('spree.actions.update'), class: 'btn btn-primary' %>
47
47
  </div>
48
48
  <% end %>
49
49
  </fieldset>
@@ -4,5 +4,8 @@
4
4
  <%= number_field_tag field_name, promotion_action.preferred_group_size, class: "fullwidth", min: 1 %>
5
5
  </div>
6
6
 
7
- <%= render "spree/admin/promotions/actions/create_item_adjustments",
8
- promotion_action: promotion_action, param_prefix: param_prefix %>
7
+ <%= render "spree/admin/promotions/actions/promotion_calculators_with_custom_fields",
8
+ calculators: Rails.application.config.spree.calculators.promotion_actions_create_quantity_adjustments,
9
+ promotion_action: promotion_action,
10
+ param_prefix: param_prefix
11
+ %>
@@ -6,11 +6,11 @@
6
6
  <% content_for :page_actions do %>
7
7
  <li>
8
8
  <% if can?(:display, Spree::PromotionCode) %>
9
- <%= button_link_to t('spree.download_promotion_code_list'), admin_promotion_promotion_codes_path(promotion_id: @promotion.id, format: :csv) %>
9
+ <%= link_to t('spree.download_promotion_code_list'), admin_promotion_promotion_codes_path(promotion_id: @promotion.id, format: :csv), class: 'btn btn-primary' %>
10
10
  <% end %>
11
11
 
12
12
  <% if can?(:display, Spree::PromotionCodeBatch) %>
13
- <%= button_link_to plural_resource_name(Spree::PromotionCodeBatch), admin_promotion_promotion_code_batches_path(promotion_id: @promotion.id) %>
13
+ <%= link_to plural_resource_name(Spree::PromotionCodeBatch), admin_promotion_promotion_code_batches_path(promotion_id: @promotion.id), class: 'btn btn-primary' %>
14
14
  <% end %>
15
15
  </li>
16
16
  <% end %>
@@ -3,7 +3,7 @@
3
3
  <% content_for :page_actions do %>
4
4
  <% if can? :create, Spree::Promotion %>
5
5
  <li>
6
- <%= button_link_to t('spree.new_promotion'), spree.new_admin_promotion_path %>
6
+ <%= link_to t('spree.new_promotion'), spree.new_admin_promotion_path, class: 'btn btn-primary' %>
7
7
  </li>
8
8
  <% end %>
9
9
  <% end %>
@@ -49,7 +49,7 @@
49
49
 
50
50
  <div class="actions filter-actions">
51
51
  <div data-hook="admin_promotions_index_search_buttons">
52
- <%= button t('spree.filter_results') %>
52
+ <%= button_tag t('spree.filter_results'), class: 'btn btn-primary' %>
53
53
  </div>
54
54
  </div>
55
55
  <% end %>
@@ -0,0 +1,6 @@
1
+ <div class="field">
2
+ <label><%= t("spree.store_rule.choose_stores" ) %></label>
3
+ <%= select_tag "#{param_prefix}[store_ids][]",
4
+ options_from_collection_for_select(Spree::Store.all, :id, :name, promotion_rule.store_ids),
5
+ multiple: true, class: "select2 fullwidth" %>
6
+ </div>
@@ -5,7 +5,7 @@
5
5
  <% content_for :page_actions do %>
6
6
  <% if can?(:create, Spree::Property) %>
7
7
  <li id="new_property_link">
8
- <%= button_link_to t('spree.new_property'), new_admin_property_url, { remote: true, id: 'new_property_link' } %>
8
+ <%= link_to t('spree.new_property'), new_admin_property_url, remote: true, id: 'new_property_link', class: 'btn btn-primary' %>
9
9
  </li>
10
10
  <% end %>
11
11
  <% end %>
@@ -35,7 +35,7 @@
35
35
  <div class="clear"></div>
36
36
 
37
37
  <div class="form-buttons actions filter-actions" data-hook="admin_pproperties_index_search_buttons">
38
- <%= button t('spree.search') %>
38
+ <%= button_tag t('spree.search'), class: 'btn btn-primary' %>
39
39
  </div>
40
40
  <% end %>
41
41
  </div>
@@ -9,7 +9,7 @@
9
9
  <ul class="actions inline-menu">
10
10
  <% if can?(:create, Spree::RefundReason) %>
11
11
  <li>
12
- <%= button_link_to t('spree.new_refund_reason'), new_object_url, { id: 'admin_new_named_type' } %>
12
+ <%= link_to t('spree.new_refund_reason'), new_object_url, id: 'admin_new_named_type', class: 'btn btn-primary' %>
13
13
  </li>
14
14
  <% end %>
15
15
  </ul>
@@ -22,8 +22,8 @@
22
22
  </div>
23
23
 
24
24
  <div class="form-buttons filter-actions actions" data-hook="buttons">
25
- <%= button t('spree.actions.save') %>
26
- <%= button_link_to t('spree.actions.cancel'), admin_order_payments_url(@refund.payment.order) %>
25
+ <%= button_tag t('spree.actions.save'), class: 'btn btn-primary' %>
26
+ <%= link_to t('spree.actions.cancel'), admin_order_payments_url(@refund.payment.order), class: 'btn btn-primary' %>
27
27
  </div>
28
28
  </fieldset>
29
29
  <% end %>
@@ -35,8 +35,8 @@
35
35
  </div>
36
36
 
37
37
  <div class="form-buttons filter-actions actions" data-hook="buttons">
38
- <%= button Spree::Refund.model_name.human %>
39
- <%= button_link_to t('spree.actions.cancel'), admin_order_payments_url(@refund.payment.order) %>
38
+ <%= button_tag Spree::Refund.model_name.human, class: 'btn btn-primary' %>
39
+ <%= link_to t('spree.actions.cancel'), admin_order_payments_url(@refund.payment.order), class: 'btn btn-primary' %>
40
40
  </div>
41
41
  </fieldset>
42
42
  <% end %>
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
  <% content_for :page_actions do %>
7
- <li><%= button_link_to t('spree.back_to_customer_return'), url_for([:edit, :admin, @order, @reimbursement.customer_return]) %></li>
7
+ <li><%= link_to t('spree.back_to_customer_return'), url_for([:edit, :admin, @order, @reimbursement.customer_return]), class: 'btn btn-primary' %></li>
8
8
  <% end %>
9
9
 
10
10
  <%= render partial: 'spree/shared/error_messages', locals: { target: @reimbursement } %>
@@ -100,7 +100,7 @@
100
100
  <%= button_to [:perform, :admin, @order, @reimbursement], { class: 'button', method: 'post' } do %>
101
101
  <%= t('spree.reimburse') %>
102
102
  <% end %>
103
- <%= button_link_to t('spree.actions.cancel'), url_for([:admin, @order, @reimbursement.customer_return]) %>
103
+ <%= link_to t('spree.actions.cancel'), url_for([:admin, @order, @reimbursement.customer_return]), class: 'btn btn-primary' %>
104
104
  <% end %>
105
105
  </div>
106
106
  </fieldset>
@@ -3,7 +3,7 @@
3
3
  <% admin_breadcrumb(plural_resource_name(Spree::Reimbursement)) %>
4
4
 
5
5
  <% content_for :page_actions do %>
6
- <li><%= button_link_to t('spree.back_to_customer_return_list'), spree.admin_order_customer_returns_url(@order) %></li>
6
+ <li><%= link_to t('spree.back_to_customer_return_list'), spree.admin_order_customer_returns_url(@order), class: 'btn btn-primary' %></li>
7
7
  <% end %>
8
8
 
9
9
  <%= render partial: 'spree/shared/error_messages', locals: { target: @customer_return } %>
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
  <% content_for :page_actions do %>
7
- <li><%= button_link_to t('spree.back_to_customer_return'), url_for([:edit, :admin, @order, @reimbursement.customer_return]) %></li>
7
+ <li><%= link_to t('spree.back_to_customer_return'), url_for([:edit, :admin, @order, @reimbursement.customer_return]), class: 'btn btn-primary' %></li>
8
8
  <% end %>
9
9
 
10
10
  <%= render partial: 'spree/shared/error_messages', locals: { target: @reimbursement } %>
@@ -1,7 +1,7 @@
1
1
  <% content_for :page_actions do %>
2
2
  <% if @return_authorization.can_cancel? %>
3
3
  <li>
4
- <%= button_link_to t('spree.actions.cancel'), fire_admin_order_return_authorization_url(@order, @return_authorization, e: 'cancel'), method: :put, data: { confirm: t('spree.are_you_sure') } %>
4
+ <%= button_to t('spree.actions.cancel'), fire_admin_order_return_authorization_url(@order, @return_authorization, e: 'cancel'), method: :put, data: { confirm: t('spree.are_you_sure') } %>
5
5
  </li>
6
6
  <% end %>
7
7
  <% end %>
@@ -27,8 +27,8 @@
27
27
  <%= render partial: 'form', locals: { f: f } %>
28
28
 
29
29
  <div class="form-buttons filter-actions actions" data-hook="buttons">
30
- <%= button t('spree.actions.update') %>
31
- <%= button_link_to t('spree.actions.cancel'), admin_order_return_authorizations_url(@order) %>
30
+ <%= button_tag t('spree.actions.update'), class: 'btn btn-primary' %>
31
+ <%= link_to t('spree.actions.cancel'), admin_order_return_authorizations_url(@order), class: 'btn btn-primary' %>
32
32
  </div>
33
33
  </fieldset>
34
34
  <% end %>
@@ -4,7 +4,7 @@
4
4
  <% if @order.shipments.any? &:shipped? %>
5
5
  <li>
6
6
  <% if can? :create, Spree::ReturnAuthorization %>
7
- <%= button_link_to t('spree.new_return_authorization'), new_admin_order_return_authorization_url(@order) %>
7
+ <%= link_to t('spree.new_return_authorization'), new_admin_order_return_authorization_url(@order), class: 'btn btn-primary' %>
8
8
  <% end %>
9
9
  </li>
10
10
  <% end %>
@@ -13,8 +13,8 @@
13
13
  <%= render partial: 'form', locals: { f: f } %>
14
14
 
15
15
  <div class="form-buttons filter-actions actions" data-hook="buttons">
16
- <%= button t('spree.actions.create') %>
17
- <%= button_link_to t('spree.actions.cancel'), admin_order_return_authorizations_url(@order) %>
16
+ <%= button_tag t('spree.actions.create'), class: 'btn btn-primary' %>
17
+ <%= link_to t('spree.actions.cancel'), admin_order_return_authorizations_url(@order), class: 'btn btn-primary' %>
18
18
  </div>
19
19
  </fieldset>
20
20
  <% end %>
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  json.products(@products) do |product|
2
4
  json.id product.id
3
5
  json.name product.name
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  json.array!(@users) do |user|
2
4
  json.id user.id
3
5
  json.email user.email
@@ -0,0 +1,8 @@
1
+ <div class="input-group">
2
+ <div class="input-group-prepend">
3
+ <span class="input-group-text">
4
+ <%= solidus_icon('fa fa-calendar') %>
5
+ </span>
6
+ </div>
7
+ <%= f.text_field date_attr, value: datepicker_field_value(f.object.public_send(date_attr)), class: 'form-control datepicker' %>
8
+ </div>
@@ -1,4 +1,4 @@
1
1
  <div class="form-buttons filter-actions actions" data-hook="buttons">
2
- <%= button t('spree.actions.update') %>
3
- <%= button_link_to t('spree.actions.cancel'), collection_url %>
2
+ <%= button_tag t('spree.actions.update'), class: 'btn btn-primary' %>
3
+ <%= link_to t('spree.actions.cancel'), collection_url, class: 'btn btn-primary' %>
4
4
  </div>
@@ -0,0 +1,15 @@
1
+ <% available_locales = Spree.i18n_available_locales %>
2
+ <% if available_locales.size > 1 %>
3
+ <div class="admin-locale-selection">
4
+ <select class="js-locale-selection custom-select fullwidth">
5
+ <%=
6
+ options_for_select(
7
+ available_locales.map do |locale|
8
+ [I18n.t('spree.i18n.this_file_language', locale: locale, default: locale.to_s, fallback: false), locale]
9
+ end.sort,
10
+ selected: I18n.locale,
11
+ )
12
+ %>
13
+ </select>
14
+ </div>
15
+ <% end %>
@@ -3,6 +3,7 @@
3
3
  <div class="admin-nav-sticky">
4
4
  <%= render partial: 'spree/admin/shared/menu' %>
5
5
  <div class="admin-nav-footer">
6
+ <%= render partial: 'spree/admin/shared/locale_selection' %>
6
7
  <%= render partial: 'spree/admin/shared/navigation_footer' %>
7
8
  </div>
8
9
  </div>
@@ -1,4 +1,4 @@
1
1
  <div class="form-buttons filter-actions actions" data-hook="buttons">
2
- <%= button t('spree.actions.create') %>
2
+ <%= button_tag t('spree.actions.create'), class: 'btn btn-primary' %>
3
3
  <%= link_to t('spree.actions.cancel'), collection_url, class: 'button' %>
4
4
  </div>
@@ -1,4 +1,4 @@
1
1
  <%= t('spree.no_resource', resource: plural_resource_name(resource)) %>
2
- <% if can? :create, resource %>
2
+ <% if can? :create, resource and local_assigns[:new_resource_url] %>
3
3
  <%= link_to t('spree.create_one'), new_resource_url %>
4
4
  <% end %>
@@ -61,7 +61,7 @@
61
61
 
62
62
  <% if @order.canceled? && @order.canceler && @order.canceled_at %>
63
63
  <dt><%= Spree::Order.human_attribute_name(:canceler) %></dt>
64
- <dd><%= @order.canceler.email %></td>
64
+ <dd><%= @order.canceler.email %></dd>
65
65
  <dt><%= Spree::Order.human_attribute_name(:canceled_at) %></dt>
66
66
  <dd><%= pretty_time(@order.canceled_at) %></dd>
67
67
  <% end %>
@@ -18,7 +18,7 @@
18
18
  <td><%= pretty_time(refund.created_at) %></td>
19
19
  <td><%= refund.payment.number %></td>
20
20
  <td class="amount"><%= refund.display_amount %></td>
21
- <td><%= payment_method_name(refund.payment) %></td>
21
+ <td><%= refund.payment.payment_method.name %></td>
22
22
  <td><%= refund.transaction_id %></td>
23
23
  <td><%= truncate(refund.reason.name, length: 100) %></td>
24
24
  <% if show_actions %>
@@ -14,6 +14,6 @@
14
14
  </div>
15
15
 
16
16
  <div class="actions filter-actions">
17
- <%= button t('spree.search') %>
17
+ <%= button_tag t('spree.search'), class: 'btn btn-primary' %>
18
18
  </div>
19
19
  <% end %>
@@ -19,7 +19,7 @@
19
19
 
20
20
  <div class="actions filter-actions">
21
21
  <div data-hook="admin_orders_index_search_buttons">
22
- <%= button t('spree.filter_results') %>
22
+ <%= button_tag t('spree.filter_results'), class: 'btn btn-primary' %>
23
23
  </div>
24
24
  </div>
25
25
  <% end %>
@@ -9,7 +9,7 @@
9
9
  <ul class="actions inline-menu">
10
10
  <% if can?(:create, Spree::ReturnReason) %>
11
11
  <li>
12
- <%= button_link_to new_button_text, new_object_url, { id: 'admin_new_named_type' } %>
12
+ <%= link_to new_button_text, new_object_url, id: 'admin_new_named_type', class: 'btn btn-primary' %>
13
13
  </li>
14
14
  <% end %>
15
15
  </ul>
@@ -8,7 +8,7 @@
8
8
  <% content_for :page_actions do %>
9
9
  <% if can?(:create, Spree::ShippingCategory) %>
10
10
  <li>
11
- <%= button_link_to t('spree.new_shipping_category'), new_object_url %>
11
+ <%= link_to t('spree.new_shipping_category'), new_object_url, class: 'btn btn-primary' %>
12
12
  </li>
13
13
  <% end %>
14
14
  <% end %>
@@ -39,6 +39,14 @@
39
39
  <% end %>
40
40
  </div>
41
41
 
42
+ <div class="col-5">
43
+ <%= f.field_container :store_ids do %>
44
+ <%= f.label :store_ids, plural_resource_name(Spree::Store) %>
45
+ <%= f.collection_select :store_ids, Spree::Store.all, :id, :name, {}, multiple: true, class: "select2 fullwidth" %>
46
+ <%= error_message_on :shipping_method, :store_ids %>
47
+ <% end %>
48
+ </div>
49
+
42
50
  <div data-hook="admin_shipping_method_form_tracking_url_field" class="col-10">
43
51
  <%= f.field_container :tracking_url do %>
44
52
  <%= f.label :tracking_url %><br />
@@ -8,7 +8,7 @@
8
8
  <% content_for :page_actions do %>
9
9
  <% if can?(:create, Spree::ShippingMethod) %>
10
10
  <li>
11
- <%= button_link_to t('spree.new_shipping_method'), new_object_url, id: 'admin_new_shipping_method_link' %>
11
+ <%= link_to t('spree.new_shipping_method'), new_object_url, id: 'admin_new_shipping_method_link', class: 'btn btn-primary' %>
12
12
  </li>
13
13
  <% end %>
14
14
  <% end %>
@@ -107,7 +107,7 @@
107
107
 
108
108
  <%= f.field_container :country_id do %>
109
109
  <%= f.label :country_id %>
110
- <span id="country"><%= f.collection_select :country_id, available_countries, :id, :name, { include_blank: true }, { class: 'custom-select js-country_id fullwidth' } %></span>
110
+ <span id="country"><%= f.collection_select :country_id, available_countries(restrict_to_zone: nil), :id, :name, { include_blank: true }, { class: 'custom-select js-country_id fullwidth' } %></span>
111
111
  <% end %>
112
112
 
113
113
  <%= f.field_container :state do %>
@@ -7,6 +7,13 @@
7
7
 
8
8
 
9
9
  <% content_for :page_actions do %>
10
+ <ul class="actions inline-menu">
11
+ <% if can?(:display, Spree::StockMovement) %>
12
+ <li>
13
+ <%= link_to plural_resource_name(Spree::StockMovement), admin_stock_location_stock_movements_path(@stock_location.id), class: 'btn btn-primary' %>
14
+ </li>
15
+ <% end %>
16
+ </ul>
10
17
  <% end %>
11
18
 
12
19
  <%= render partial: 'spree/shared/error_messages', locals: { target: @stock_location } %>
@@ -9,7 +9,7 @@
9
9
  <ul class="actions inline-menu">
10
10
  <% if can?(:create, Spree::StockLocation) %>
11
11
  <li>
12
- <%= button_link_to t('spree.new_stock_location'), new_object_url, { id: 'admin_new_stock_location' } %>
12
+ <%= link_to t('spree.new_stock_location'), new_object_url, id: 'admin_new_stock_location', class: 'btn btn-primary' %>
13
13
  </li>
14
14
  <% end %>
15
15
  </ul>