solidus_backend 4.3.6 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend/namespaces.js +0 -1
  3. data/app/assets/javascripts/spree/backend/templates/index.js +0 -3
  4. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +11 -8
  5. data/app/assets/javascripts/spree/backend/views/cart/empty_cart_button.js +1 -1
  6. data/app/assets/javascripts/spree/backend/views/index.js +0 -2
  7. data/app/assets/javascripts/spree/backend/views/order/details_adjustments.js +1 -2
  8. data/app/assets/javascripts/spree/backend.js +0 -2
  9. data/app/assets/stylesheets/spree/backend/sections/_adjustments.scss +0 -3
  10. data/app/assets/stylesheets/spree/backend/sections/index.scss +0 -1
  11. data/app/controllers/spree/admin/cancellations_controller.rb +1 -1
  12. data/app/controllers/spree/admin/dashboards_controller.rb +4 -0
  13. data/app/controllers/spree/admin/option_types_controller.rb +1 -1
  14. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
  15. data/app/controllers/spree/admin/resource_controller.rb +1 -1
  16. data/app/helpers/spree/admin/base_helper.rb +2 -2
  17. data/app/helpers/spree/admin/navigation_helper.rb +1 -1
  18. data/app/views/spree/admin/adjustments/_adjustment.html.erb +0 -1
  19. data/app/views/spree/admin/dashboards/home.html.erb +1 -0
  20. data/app/views/spree/admin/orders/_adjustments.html.erb +1 -1
  21. data/app/views/spree/admin/orders/_order_details.html.erb +3 -3
  22. data/app/views/spree/admin/orders/confirm.html.erb +3 -3
  23. data/app/views/spree/admin/orders/index.html.erb +4 -82
  24. data/app/views/spree/admin/products/index.html.erb +2 -2
  25. data/app/views/spree/admin/shared/_locale_selection_solidus_admin.html.erb +1 -1
  26. data/app/views/spree/admin/shared/search_fields/_checkbox.html.erb +8 -0
  27. data/app/views/spree/admin/shared/search_fields/_date_range_picker.html.erb +16 -0
  28. data/app/views/spree/admin/shared/search_fields/_select.html.erb +6 -0
  29. data/app/views/spree/admin/shared/search_fields/_text_field.html.erb +6 -0
  30. data/app/views/spree/admin/shared/search_fields/_variant_autocomplete.html.erb +6 -0
  31. data/app/views/spree/admin/users/index.html.erb +1 -1
  32. data/app/views/spree/admin/users/items.html.erb +3 -3
  33. data/app/views/spree/admin/users/orders.html.erb +3 -3
  34. data/app/views/spree/admin/variants/_form.html.erb +1 -1
  35. data/app/views/spree/admin/zones/index.html.erb +1 -1
  36. data/config/routes.rb +0 -11
  37. data/lib/spree/backend_configuration.rb +83 -18
  38. data/solidus_backend.gemspec +1 -1
  39. metadata +13 -72
  40. data/app/assets/javascripts/spree/backend/promotions/activation.js +0 -26
  41. data/app/assets/javascripts/spree/backend/promotions.js +0 -35
  42. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs +0 -23
  43. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs +0 -23
  44. data/app/assets/javascripts/spree/backend/templates/promotions/rules/option_values.hbs +0 -12
  45. data/app/assets/javascripts/spree/backend/views/calculators/tiered.js +0 -54
  46. data/app/assets/javascripts/spree/backend/views/promotions/option_values_rule.js +0 -79
  47. data/app/assets/stylesheets/spree/backend/sections/_promotions.scss +0 -138
  48. data/app/controllers/spree/admin/promotion_actions_controller.rb +0 -51
  49. data/app/controllers/spree/admin/promotion_categories_controller.rb +0 -8
  50. data/app/controllers/spree/admin/promotion_code_batches_controller.rb +0 -30
  51. data/app/controllers/spree/admin/promotion_codes_controller.rb +0 -48
  52. data/app/controllers/spree/admin/promotion_rules_controller.rb +0 -60
  53. data/app/controllers/spree/admin/promotions_controller.rb +0 -67
  54. data/app/helpers/spree/admin/promotions_helper.rb +0 -15
  55. data/app/helpers/spree/promotion_rules_helper.rb +0 -12
  56. data/app/views/spree/admin/promotion_actions/create.js.erb +0 -10
  57. data/app/views/spree/admin/promotion_actions/destroy.js.erb +0 -1
  58. data/app/views/spree/admin/promotion_categories/_form.html.erb +0 -14
  59. data/app/views/spree/admin/promotion_categories/edit.html.erb +0 -10
  60. data/app/views/spree/admin/promotion_categories/index.html.erb +0 -47
  61. data/app/views/spree/admin/promotion_categories/new.html.erb +0 -10
  62. data/app/views/spree/admin/promotion_code_batches/_form_fields.html.erb +0 -22
  63. data/app/views/spree/admin/promotion_code_batches/download.csv.ruby +0 -8
  64. data/app/views/spree/admin/promotion_code_batches/index.html.erb +0 -65
  65. data/app/views/spree/admin/promotion_code_batches/new.html.erb +0 -8
  66. data/app/views/spree/admin/promotion_codes/index.csv.ruby +0 -8
  67. data/app/views/spree/admin/promotion_codes/index.html.erb +0 -32
  68. data/app/views/spree/admin/promotion_codes/new.html.erb +0 -31
  69. data/app/views/spree/admin/promotion_rules/create.js.erb +0 -8
  70. data/app/views/spree/admin/promotion_rules/destroy.js.erb +0 -3
  71. data/app/views/spree/admin/promotions/_actions.html.erb +0 -37
  72. data/app/views/spree/admin/promotions/_activations_edit.html.erb +0 -22
  73. data/app/views/spree/admin/promotions/_activations_new.html.erb +0 -43
  74. data/app/views/spree/admin/promotions/_form.html.erb +0 -67
  75. data/app/views/spree/admin/promotions/_promotion_action.html.erb +0 -13
  76. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +0 -12
  77. data/app/views/spree/admin/promotions/_rules.html.erb +0 -42
  78. data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +0 -2
  79. data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +0 -6
  80. data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +0 -10
  81. data/app/views/spree/admin/promotions/actions/_free_shipping.html.erb +0 -0
  82. data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +0 -29
  83. data/app/views/spree/admin/promotions/calculators/_default_fields.html.erb +0 -6
  84. data/app/views/spree/admin/promotions/calculators/distributed_amount/_fields.html.erb +0 -56
  85. data/app/views/spree/admin/promotions/calculators/flat_rate/_fields.html.erb +0 -6
  86. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +0 -30
  87. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +0 -30
  88. data/app/views/spree/admin/promotions/edit.html.erb +0 -35
  89. data/app/views/spree/admin/promotions/index.html.erb +0 -124
  90. data/app/views/spree/admin/promotions/new.html.erb +0 -9
  91. data/app/views/spree/admin/promotions/rules/_first_order.html.erb +0 -0
  92. data/app/views/spree/admin/promotions/rules/_first_repeat_purchase_since.html.erb +0 -13
  93. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +0 -14
  94. data/app/views/spree/admin/promotions/rules/_minimum_quantity.html.erb +0 -5
  95. data/app/views/spree/admin/promotions/rules/_nth_order.html.erb +0 -12
  96. data/app/views/spree/admin/promotions/rules/_one_use_per_user.html.erb +0 -0
  97. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +0 -13
  98. data/app/views/spree/admin/promotions/rules/_product.html.erb +0 -15
  99. data/app/views/spree/admin/promotions/rules/_store.html.erb +0 -6
  100. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +0 -9
  101. data/app/views/spree/admin/promotions/rules/_user.html.erb +0 -4
  102. data/app/views/spree/admin/promotions/rules/_user_logged_in.html.erb +0 -0
  103. data/app/views/spree/admin/promotions/rules/_user_role.html.erb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b53b525d0587f8a9b8d538a96818ab10ff25de69fb585a6075b82e3e5e8e77d7
4
- data.tar.gz: 5f5b8be4642340cb6ce882063ff714106adeccea8c54337d901be60c9aba5b6a
3
+ metadata.gz: 80a90789fe2e7df10cab902ad495b6d25980448801fa8cc03a593069babb157c
4
+ data.tar.gz: cfaa6f5111283f821071b3c333ca41804567f44bbbc9476a4dd7419c99785104
5
5
  SHA512:
6
- metadata.gz: 67dfc5fd61c835f038e2f93ecee7f15e86e56ad1aa633a33b61d8b08f3012a950032aefb8f28aae3925718e790639f3935a5559d7b1d4ec806546a8efb12abe7
7
- data.tar.gz: e32e49d408baf8129bf7cae0c0fd48d470c36ae2e59a3760660e0cdff1ca5d3b7317d8e51c01abb73cc46fa8bf270545397c5db8fdb76d72456256cee61f40f1
6
+ metadata.gz: d4caa30a62fc16223f5aa9bfcf41c3fd2f8ed091a15d4a082f9a65e621a5823966fcce5ec4cf291af7d88518210d748a6ad3562bda5373e82589a063029404ed
7
+ data.tar.gz: c1782137a614b7f6e8713e100f0cea0c49173ad8946ce9e0605573cfaed6444ce7a7a13587e24f975065b0ccde4d89314aa8870b34b4f4196ca4fc40acea6cc3
@@ -9,7 +9,6 @@ _.extend(window.Spree, {
9
9
  Zones: {},
10
10
  Payment: {},
11
11
  Product: {},
12
- Promotions: {},
13
12
  Stock: {},
14
13
  Tables: {}
15
14
  }
@@ -8,9 +8,6 @@
8
8
  //= require spree/backend/templates/orders/shipping_method
9
9
  //= require spree/backend/templates/products/sortable
10
10
  //= require spree/backend/templates/products/upload_progress
11
- //= require spree/backend/templates/promotions/calculators/fields/tiered_flat_rate
12
- //= require spree/backend/templates/promotions/calculators/fields/tiered_percent
13
- //= require spree/backend/templates/promotions/rules/option_values
14
11
  //= require spree/backend/templates/stock_items/stock_location_stock_item
15
12
  //= require spree/backend/templates/taxons/_tree
16
13
  //= require spree/backend/templates/taxons/tree
@@ -10,17 +10,18 @@
10
10
  /**
11
11
  * Make the element a select2 dropdown used for finding Variants. By default, the search term will be
12
12
  * passed to the defined Spree::Config.variant_search_class by the controller with its defined scope.
13
- * @param {Object|undefined|null} options Options
13
+ * @param {Object|undefined|null} options Options to be passed to select2. If null, the default options will be used.
14
14
  * @param {Function|undefined} options.searchParameters Returns a hash object for params to merge on the select2 ajax request
15
15
  * Accepts an argument of the select2 search term. To use Ransack, define
16
16
  * variant_search_term as a falsy value, and q as the Ransack query. Note,
17
17
  * you need to ensure that the attributes are allowed to be Ransacked.
18
18
  */
19
- $.fn.variantAutocomplete = function(options) {
19
+ $.fn.variantAutocomplete = function(options = {}) {
20
20
  // Default options
21
- options = options || {}
22
-
23
- this.select2({
21
+ const searchParameters = options.searchParameters || null
22
+ delete options.searchParameters
23
+ const select2options = options
24
+ const defaultOptions = {
24
25
  placeholder: Spree.translations.variant_placeholder,
25
26
  minimumInputLength: 3,
26
27
  initSelection: function(element, callback) {
@@ -39,7 +40,7 @@
39
40
  }
40
41
  },
41
42
  data: function(term, page) {
42
- const extraParameters = options["searchParameters"] ? options["searchParameters"](term) : {}
43
+ const extraParameters = searchParameters ? searchParameters(term) : {}
43
44
 
44
45
  return {
45
46
  variant_search_term: term,
@@ -64,7 +65,9 @@
64
65
  } else {
65
66
  return Select2.util.escapeMarkup(variant.name);
66
67
  }
67
- }
68
- });
68
+ },
69
+ }
70
+
71
+ this.select2(Object.assign({}, defaultOptions, select2options));
69
72
  };
70
73
  })();
@@ -24,6 +24,6 @@ Spree.Views.Cart.EmptyCartButton = Backbone.View.extend({
24
24
 
25
25
  render: function() {
26
26
  var isNew = function (item) { return item.isNew() };
27
- this.$el.prop("disabled", !this.collection.length || this.collection.some(isNew));
27
+ this.$el.prop("disabled", !this.collection.length || this.collection.some(isNew) || this.model.get("completed_at"));
28
28
  }
29
29
  });
@@ -1,4 +1,3 @@
1
- //= require 'spree/backend/views/calculators/tiered'
2
1
  //= require 'spree/backend/views/cart/add_line_item_button'
3
2
  //= require 'spree/backend/views/cart/empty_cart_button'
4
3
  //= require 'spree/backend/views/cart/line_item_row'
@@ -22,7 +21,6 @@
22
21
  //= require 'spree/backend/views/payment/payment_row'
23
22
  //= require 'spree/backend/views/payment/edit_credit_card'
24
23
  //= require 'spree/backend/views/product/search'
25
- //= require 'spree/backend/views/promotions/option_values_rule'
26
24
  //= require 'spree/backend/views/tables/editable_table'
27
25
  //= require 'spree/backend/views/tables/editable_table_row'
28
26
  //= require 'spree/backend/views/tables/return_items'
@@ -9,8 +9,7 @@ Spree.Views.Order.DetailsAdjustments = Backbone.View.extend({
9
9
  var collection = this.collection ? this.collection.chain() : _.chain([this.model]);
10
10
  collection
11
11
  .map(function(item) {
12
- return (item.get("adjustments") || [])
13
- .filter(function(adjustment) { return (adjustment.eligible === true); });
12
+ return (item.get("adjustments") || []);
14
13
  })
15
14
  .flatten(true)
16
15
  .each(function(adjustment){
@@ -50,8 +50,6 @@
50
50
  //= require spree/backend/products/index
51
51
  //= require spree/backend/product_picker
52
52
  //= require spree/backend/progress
53
- //= require spree/backend/promotions
54
- //= require spree/backend/promotions/activation
55
53
  //= require spree/backend/shipments
56
54
  //= require spree/backend/spree-select2
57
55
  //= require spree/backend/stock_management
@@ -1,3 +0,0 @@
1
- .adjustment-ineligible {
2
- text-decoration: line-through;
3
- }
@@ -2,7 +2,6 @@
2
2
  @import 'spree/backend/sections/orders';
3
3
  @import 'spree/backend/sections/products';
4
4
  @import 'spree/backend/sections/variants';
5
- @import 'spree/backend/sections/promotions';
6
5
  @import 'spree/backend/sections/bulk_transfer';
7
6
  @import 'spree/backend/sections/return_authorizations';
8
7
  @import 'spree/backend/sections/log_entries';
@@ -20,7 +20,7 @@ module Spree
20
20
  flash[:error] = t('spree.no_inventory_selected')
21
21
  redirect_to admin_order_cancellations_path(@order)
22
22
  else
23
- @order.cancellations.short_ship(inventory_units, created_by: created_by)
23
+ @order.cancellations.short_ship(inventory_units, created_by:)
24
24
 
25
25
  flash[:success] = t('spree.inventory_canceled')
26
26
  redirect_to edit_admin_order_url(@order)
@@ -3,6 +3,10 @@
3
3
  module Spree
4
4
  module Admin
5
5
  class DashboardsController < BaseController
6
+ before_action :deprecate
7
+ def deprecate
8
+ Spree.deprecator.warn "The #{self.class.name} is deprecated. If you still use dashboards, please copy all controllers and views from solidus_backend to your application."
9
+ end
6
10
  end
7
11
  end
8
12
  end
@@ -7,7 +7,7 @@ module Spree
7
7
 
8
8
  def update_values_positions
9
9
  params[:positions].each do |id, index|
10
- Spree::OptionValue.where(id: id).update_all(position: index)
10
+ Spree::OptionValue.where(id:).update_all(position: index)
11
11
  end
12
12
 
13
13
  respond_to do |format|
@@ -15,8 +15,8 @@ module Spree
15
15
  def edit
16
16
  country_id = default_country_id
17
17
 
18
- @order.build_bill_address(country_id: country_id) if @order.bill_address.nil?
19
- @order.build_ship_address(country_id: country_id) if @order.ship_address.nil?
18
+ @order.build_bill_address(country_id:) if @order.bill_address.nil?
19
+ @order.build_ship_address(country_id:) if @order.ship_address.nil?
20
20
 
21
21
  @order.bill_address.country_id = country_id if @order.bill_address.country.nil?
22
22
  @order.ship_address.country_id = country_id if @order.ship_address.country.nil?
@@ -88,7 +88,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
88
88
  #
89
89
  # TODO : create a global set_list_position on all concerned objects
90
90
  # maybe in the acts_as_list gem
91
- model_class.where(id: id).first&.set_list_position(index)
91
+ model_class.where(id:).first&.set_list_position(index)
92
92
  end
93
93
  end
94
94
 
@@ -25,7 +25,7 @@ module Spree
25
25
  end
26
26
 
27
27
  def admin_hint(title, text)
28
- content_tag(:span, class: 'hint-tooltip', title: title, data: { content: text }) do
28
+ content_tag(:span, class: 'hint-tooltip', title:, data: { content: text }) do
29
29
  content_tag(:i, '', class: 'fa fa-info-circle')
30
30
  end
31
31
  end
@@ -39,7 +39,7 @@ module Spree
39
39
  t('spree.date_picker.format', default: '%Y/%m/%d')
40
40
  end
41
41
 
42
- l(date, format: format)
42
+ l(date, format:)
43
43
  end
44
44
 
45
45
  def spree_dom_id(record)
@@ -114,7 +114,7 @@ module Spree
114
114
  name = options[:name] || t('spree.actions.delete')
115
115
  confirm = options[:confirm] || t('spree.are_you_sure')
116
116
  options[:class] = "#{options[:class]} delete-resource".strip
117
- options[:data] = { confirm: confirm, action: 'remove' }
117
+ options[:data] = { confirm:, action: 'remove' }
118
118
  link_to_with_icon 'trash', name, url, options
119
119
  end
120
120
 
@@ -4,7 +4,6 @@
4
4
  %>
5
5
  <tr id="<%= spree_dom_id(adjustment) %>"
6
6
  data-hook="adjustment_row"
7
- class="<%= "adjustment-ineligible" if !adjustment.eligible? %>"
8
7
  >
9
8
  <td><%= display_adjustable(adjustment.adjustable) %></td>
10
9
  <td><%= adjustment.label %></td>
@@ -1 +1,2 @@
1
1
  <%# Placeholder view for a home dashboard %>
2
+ <p><%= Spree.deprecator.warn "The Home view is deprecated, If you still use dashboards, please copy all controllers and views from solidus_backend to your application." %></p>
@@ -8,7 +8,7 @@
8
8
  </tr>
9
9
  </thead>
10
10
  <tbody data-hook="order_details_adjustments">
11
- <% adjustments.eligible.group_by(&:label).each do |label, adjustments| %>
11
+ <% adjustments.group_by(&:label).each do |label, adjustments| %>
12
12
  <tr class="total">
13
13
  <td><%= label %>:</td>
14
14
  <td class="total"><span><%= Spree::Money.new(adjustments.sum(&:amount), currency: adjustments.first.order.try(:currency)) %></span></td>
@@ -1,4 +1,4 @@
1
- <div class="js-order-line-item-adjustments <%= "hidden" if order.line_item_adjustments.eligible.none? %>">
1
+ <div class="js-order-line-item-adjustments <%= "hidden" if order.line_item_adjustments.none? %>">
2
2
  <%=
3
3
  render "spree/admin/orders/adjustments", {
4
4
  adjustments: order.line_item_adjustments,
@@ -7,7 +7,7 @@
7
7
  }
8
8
  %>
9
9
  </div>
10
- <div class="js-order-shipment-adjustments <%= "hidden" if order.shipment_adjustments.eligible.none? %>">
10
+ <div class="js-order-shipment-adjustments <%= "hidden" if order.shipment_adjustments.none? %>">
11
11
  <%=
12
12
  render "spree/admin/orders/adjustments", {
13
13
  adjustments: order.shipment_adjustments,
@@ -16,7 +16,7 @@
16
16
  }
17
17
  %>
18
18
  </div>
19
- <div class="js-order-adjustments <%= "hidden" if order.adjustments.eligible.none? %>">
19
+ <div class="js-order-adjustments <%= "hidden" if order.adjustments.none? %>">
20
20
  <%=
21
21
  render "spree/admin/orders/adjustments", {
22
22
  adjustments: order.adjustments,
@@ -18,7 +18,7 @@
18
18
  order: @order,
19
19
  title: t('spree.line_item_adjustments'),
20
20
  }
21
- ) if @order.line_item_adjustments.eligible.any?
21
+ ) if @order.line_item_adjustments.any?
22
22
  %>
23
23
 
24
24
  <%=
@@ -29,7 +29,7 @@
29
29
  order: @order,
30
30
  title: t('spree.shipment_adjustments'),
31
31
  }
32
- ) if @order.shipment_adjustments.eligible.any?
32
+ ) if @order.shipment_adjustments.any?
33
33
  %>
34
34
 
35
35
  <%=
@@ -40,7 +40,7 @@
40
40
  order: @order,
41
41
  title: t('spree.order_adjustments'),
42
42
  }
43
- ) if @order.adjustments.eligible.any?
43
+ ) if @order.adjustments.any?
44
44
  %>
45
45
 
46
46
  <% if @order.line_items.exists? %>
@@ -16,89 +16,11 @@
16
16
  <div data-hook="admin_orders_index_search">
17
17
  <%= search_form_for [:admin, @search] do |f| %>
18
18
  <div class="row">
19
- <div class="field-block col-12 col-md-6 col-lg-4 col-xl-3">
20
- <div class="date-range-filter field">
21
- <%= label_tag :q_created_at_gt, t('spree.date_range') %>
22
- <div class="date-range-fields input-group">
23
- <%= f.text_field :created_at_gt, class: 'datepicker form-control datepicker-from', value: params[:q][:created_at_gt], placeholder: t('spree.start') %>
24
-
25
- <div class="input-group-prepend input-group-append">
26
- <span class="input-group-text range-divider">
27
- <i class="fa fa-arrow-right"></i>
28
- </span>
29
- </div>
30
-
31
- <%= f.text_field :created_at_lt, class: 'datepicker form-control datepicker-to', value: params[:q][:created_at_lt], placeholder: t('spree.stop') %>
32
- </div>
33
- </div>
34
-
35
- <div class="field">
36
- <%= label_tag :q_state_eq, t('spree.status') %>
37
- <%= f.select :state_eq, Spree::Order.state_machines[:state].states.collect {|s| [t(s.name, scope: 'spree.order_state'), s.value]}, {include_blank: true}, class: 'custom-select fullwidth' %>
38
- </div>
39
-
40
- <div class="field">
41
- <%= label_tag nil, t('spree.promotion') %>
42
- <%= f.text_field :order_promotions_promotion_code_value_start, size: 25 %>
43
- </div>
44
-
45
- <div class="field">
46
- <%= label_tag nil, t('spree.shipment_number') %>
47
- <%= f.text_field :shipments_number_start %>
48
- </div>
49
-
50
- <div class="field">
51
- <%= label_tag :q_shipment_state, t('spree.shipment_state') %>
52
- <%= f.select :shipment_state_eq, %i[backorder canceled partial pending ready shipped].map { |state| [t("spree.shipment_states.#{state}"), state] }, { include_blank: true }, { class: "custom-select fullwidth" } %>
53
- </div>
54
- </div>
55
-
56
- <div class="col-12 col-md-6 col-lg-4 col-xl-6">
57
- <div class="row">
58
- <div class="col-12 col-xl-6">
59
- <div class="field">
60
- <%= label_tag :q_number_start, t('spree.order_number', number: '') %>
61
- <%= f.text_field :number_start %>
62
- </div>
63
-
64
- <div class="field">
65
- <%= label_tag :q_email_start, t('spree.email') %>
66
- <%= f.text_field :email_start %>
67
- </div>
68
- </div>
69
-
70
- <div class="col-12 col-xl-6">
71
- <div class="field">
72
- <%= label_tag :q_bill_address_name_cont, t('spree.name_contains') %>
73
- <%= f.text_field :bill_address_name_cont, size: 25 %>
74
- </div>
75
- </div>
76
-
77
- <div class="col-12 col-xl-6">
78
- <div class="field" data-hook="sku-select">
79
- <%= label_tag :q_line_items_variant_id_in, t('spree.variant') %>
80
- <%= f.text_field :line_items_variant_id_in, class: "variant_autocomplete fullwidth" %>
81
- </div>
82
- </div>
83
- </div>
84
- </div>
85
-
86
- <div class="col-12 col-md-6 col-lg-4 col-xl-3">
87
- <% if Spree::Store.count > 1 %>
88
- <div class="field">
89
- <%= label_tag :q_store_id_eq, t('spree.store') %>
90
- <%= f.select :store_id_eq, Spree::Store.all.map { |s| [s.name, s.id] }, { include_blank: true }, { class: "custom-select fullwidth" } %>
91
- </div>
19
+ <% Spree::Backend::Config.search_fields[controller_path].each do |field_config| %>
20
+ <% if !field_config.has_key?(:if) || field_config[:if].call %>
21
+ <%= render field_config.except(:if).deep_merge(locals: { f: f }) %>
92
22
  <% end %>
93
-
94
- <div class="field checkbox">
95
- <label>
96
- <%= f.check_box :completed_at_not_null, {checked: @show_only_completed}, '1', '0' %>
97
- <%= t('spree.show_only_complete_orders') %>
98
- </label>
99
- </div>
100
- </div>
101
-
23
+ <% end %>
102
24
  </div>
103
25
 
104
26
  <div class="clearfix"></div>
@@ -71,8 +71,8 @@
71
71
  <tr data-hook="admin_products_index_headers">
72
72
  <th><%= Spree::Variant.human_attribute_name(:sku) %></th>
73
73
  <th></th>
74
- <th><%= sort_link @search,:name, Spree::Product.human_attribute_name(:name), { default_order: "desc" }, {title: 'admin_products_listing_name_title'} %></th>
75
- <th class="align-right"><%= sort_link @search,:master_default_price_amount, Spree::Product.human_attribute_name(:price), {}, {title: 'admin_products_listing_price_title'} %></th>
74
+ <th><%= sort_link @search,:name, Spree::Product.human_attribute_name(:name), { default_order: "desc", title: 'admin_products_listing_name_title'} %></th>
75
+ <th class="align-right"><%= sort_link @search,:master_default_price_amount, Spree::Product.human_attribute_name(:price), {title: 'admin_products_listing_price_title'} %></th>
76
76
  <th data-hook="admin_products_index_header_actions" class="actions"></th>
77
77
  </tr>
78
78
  </thead>
@@ -4,7 +4,7 @@
4
4
 
5
5
  <% if available_locale_options_for_select.size > 1 %>
6
6
  <li>
7
- <%= form_tag(admin_set_locale_path(format: :html), method: :put, style: "width: 100%;") do %>
7
+ <%= form_tag(spree.admin_set_locale_path(format: :html), method: :put, style: "width: 100%;") do %>
8
8
  <label>
9
9
  <svg aria-hidden="true"><use xlink:href="<%= image_path('spree/backend/themes/solidus_admin/remixicon.symbol.svg') %>#ri-global-line"></use></svg>
10
10
  <select name="switch_to_locale" onchange="this.form.requestSubmit()">
@@ -0,0 +1,8 @@
1
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3">
2
+ <div class="field checkbox">
3
+ <label>
4
+ <%= f.check_box ransack, {checked: params[:q][ransack] == '1' }, '1', '0' %>
5
+ <%= label.respond_to?(:call) ? label.call : label %>
6
+ </label>
7
+ </div>
8
+ </div>
@@ -0,0 +1,16 @@
1
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3">
2
+ <div class="date-range-filter field">
3
+ <%= label_tag "q_#{attribute}", label.respond_to?(:call) ? label.call : label %>
4
+ <div class="date-range-fields input-group">
5
+ <%= f.text_field "#{attribute}_gt", class: 'datepicker form-control datepicker-from', value: params[:q][:created_at_gt], placeholder: t('spree.start') %>
6
+
7
+ <div class="input-group-prepend input-group-append">
8
+ <span class="input-group-text range-divider">
9
+ <i class="fa fa-arrow-right"></i>
10
+ </span>
11
+ </div>
12
+
13
+ <%= f.text_field "#{attribute}_lt", class: 'datepicker form-control datepicker-to', value: params[:q][:created_at_lt], placeholder: t('spree.stop') %>
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3">
2
+ <div class="field">
3
+ <%= label_tag "q_#{ransack}", label.respond_to?(:call) ? label.call : label %>
4
+ <%= f.select ransack, options_for_select(options.call, params[:q][ransack]), {include_blank: true}, class: 'custom-select fullwidth' %>
5
+ </div>
6
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3">
2
+ <div class="field">
3
+ <%= label_tag "q_#{ransack}", label.respond_to?(:call) ? label.call : label %>
4
+ <%= f.text_field ransack, class: 'form-control', value: params[:q][ransack] %>
5
+ </div>
6
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3">
2
+ <div class="field">
3
+ <%= label_tag "q_#{ransack}", label.respond_to?(:call) ? label.call : label %>
4
+ <%= f.text_field ransack, class: 'variant_autocomplete fullwidth', value: params[:q][ransack] %>
5
+ </div>
6
+ </div>
@@ -69,7 +69,7 @@
69
69
  </colgroup>
70
70
  <thead>
71
71
  <tr data-hook="admin_users_index_headers">
72
- <th><%= sort_link @search, :email, Spree.user_class.human_attribute_name(:email), {}, {title: 'users_email_title'} %></th>
72
+ <th><%= sort_link @search, :email, Spree.user_class.human_attribute_name(:email), {title: 'users_email_title'} %></th>
73
73
  <th><%= Spree.user_class.human_attribute_name(:spree_roles) %></th>
74
74
  <th class="align-center"><%= t('spree.num_orders') %></th>
75
75
  <th class="align-center"><%= Spree.user_class.human_attribute_name(:lifetime_value) %></th>
@@ -25,13 +25,13 @@
25
25
  </colgroup>
26
26
 
27
27
  <thead>
28
- <th><%= sort_link @search, :completed_at, Spree::Order.human_attribute_name(:completed_at), {}, {title: 'orders_completed_at_title'} %></th>
28
+ <th><%= sort_link @search, :completed_at, Spree::Order.human_attribute_name(:completed_at), {title: 'orders_completed_at_title'} %></th>
29
29
  <th colspan=2><%= Spree::LineItem.human_attribute_name(:description) %></th>
30
30
  <th><%= Spree::LineItem.human_attribute_name(:price) %></th>
31
31
  <th><%= Spree::LineItem.human_attribute_name(:quantity) %></th>
32
32
  <th><%= Spree::Order.human_attribute_name(:total) %></th>
33
- <th><%= sort_link @search, :state, Spree::Order.human_attribute_name(:state), {}, {title: 'orders_state_title'} %></th>
34
- <th><%= sort_link @search, :number, t('spree.admin.user.order_num'), {}, {title: 'orders_number_title'} %></th>
33
+ <th><%= sort_link @search, :state, Spree::Order.human_attribute_name(:state), {title: 'orders_state_title'} %></th>
34
+ <th><%= sort_link @search, :number, t('spree.admin.user.order_num'), {title: 'orders_number_title'} %></th>
35
35
  </thead>
36
36
 
37
37
  <tbody>
@@ -22,14 +22,14 @@
22
22
  </colgroup>
23
23
  <thead>
24
24
  <tr data-hook="admin_orders_index_headers">
25
- <th><%= sort_link @search, :completed_at, Spree::Order.human_attribute_name(:completed_at), {}, {title: 'orders_completed_at_title'} %></th>
26
- <th><%= sort_link @search, :number, Spree::Order.human_attribute_name(:number), {}, {title: 'orders_number_title'} %></th>
25
+ <th><%= sort_link @search, :completed_at, Spree::Order.human_attribute_name(:completed_at), {title: 'orders_completed_at_title'} %></th>
26
+ <th><%= sort_link @search, :number, Spree::Order.human_attribute_name(:number), {title: 'orders_number_title'} %></th>
27
27
  <th><%= sort_link @search, :state %></th>
28
28
  <th><%= sort_link @search, :payment_state %></th>
29
29
  <% if Spree::Order.checkout_step_names.include?(:delivery) %>
30
30
  <th><%= sort_link @search, :shipment_state %></th>
31
31
  <% end %>
32
- <th><%= sort_link @search, :total, Spree::Order.human_attribute_name(:total), {}, {title: 'orders_total_title'} %></th>
32
+ <th><%= sort_link @search, :total, Spree::Order.human_attribute_name(:total), {title: 'orders_total_title'} %></th>
33
33
  </tr>
34
34
  </thead>
35
35
  <tbody>
@@ -103,7 +103,7 @@
103
103
  @shipping_categories,
104
104
  :id,
105
105
  :name,
106
- { include_blank: t('.use_product_shipping_category') },
106
+ { include_blank: t('.use_product_shipping_category'), selected: @variant[:shipping_category_id] },
107
107
  { class: 'custom-select fullwidth' } %>
108
108
  </div>
109
109
  </div>
@@ -23,7 +23,7 @@
23
23
  <tr data-hook="zones_header">
24
24
  <th><%= sort_link @search,:name, Spree::Zone.human_attribute_name(:name), title: 'zones_order_by_name_title' %></th>
25
25
  <th>
26
- <%= sort_link @search,:description, Spree::Zone.human_attribute_name(:description), {}, {title: 'zones_order_by_description_title'} %>
26
+ <%= sort_link @search,:description, Spree::Zone.human_attribute_name(:description), {title: 'zones_order_by_description_title'} %>
27
27
  </th>
28
28
  <th class="actions"></th>
29
29
  </tr>
data/config/routes.rb CHANGED
@@ -14,17 +14,6 @@ Spree::Core::Engine.routes.draw do
14
14
  end
15
15
  end
16
16
 
17
- resources :promotions do
18
- resources :promotion_rules
19
- resources :promotion_actions
20
- resources :promotion_codes, only: [:index, :new, :create]
21
- resources :promotion_code_batches, only: [:index, :new, :create] do
22
- get '/download', to: "promotion_code_batches#download", defaults: { format: "csv" }
23
- end
24
- end
25
-
26
- resources :promotion_categories, except: [:show]
27
-
28
17
  resources :zones
29
18
 
30
19
  resources :tax_categories