spree_admin 5.2.0.rc1 → 5.2.0.rc3
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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/spree/admin/components/_alerts.scss +1 -1
- data/app/assets/stylesheets/spree/admin/components/_buttons.scss +5 -4
- data/app/assets/stylesheets/spree/admin/components/_dialogs.scss +0 -1
- data/app/assets/stylesheets/spree/admin/components/_dropdowns.scss +10 -8
- data/app/assets/stylesheets/spree/admin/components/_filters.scss +2 -0
- data/app/assets/stylesheets/spree/admin/components/_main.scss +7 -7
- data/app/assets/stylesheets/spree/admin/components/_tables.scss +2 -2
- data/app/assets/stylesheets/spree/admin/components/_variants_form.scss +1 -2
- data/app/assets/stylesheets/spree/admin/global/_variables.scss +14 -12
- data/app/assets/stylesheets/spree/admin/shared/_base.scss +2 -2
- data/app/assets/stylesheets/spree/admin/shared/_forms.scss +5 -6
- data/app/controllers/spree/admin/admin_users_controller.rb +0 -2
- data/app/controllers/spree/admin/base_controller.rb +1 -0
- data/app/controllers/spree/admin/checkouts_controller.rb +1 -4
- data/app/controllers/spree/admin/coupon_codes_controller.rb +0 -14
- data/app/controllers/spree/admin/customer_returns_controller.rb +0 -13
- data/app/controllers/spree/admin/digital_assets_controller.rb +2 -2
- data/app/controllers/spree/admin/exports_controller.rb +2 -9
- data/app/controllers/spree/admin/gift_cards_controller.rb +7 -14
- data/app/controllers/spree/admin/invitations_controller.rb +0 -2
- data/app/controllers/spree/admin/oauth_applications_controller.rb +0 -10
- data/app/controllers/spree/admin/option_types_controller.rb +0 -10
- data/app/controllers/spree/admin/orders_controller.rb +1 -1
- data/app/controllers/spree/admin/pages_controller.rb +1 -1
- data/app/controllers/spree/admin/payment_methods_controller.rb +0 -10
- data/app/controllers/spree/admin/policies_controller.rb +4 -0
- data/app/controllers/spree/admin/posts_controller.rb +2 -10
- data/app/controllers/spree/admin/properties_controller.rb +0 -12
- data/app/controllers/spree/admin/resource_controller.rb +27 -18
- data/app/controllers/spree/admin/return_authorizations_controller.rb +0 -10
- data/app/controllers/spree/admin/shipping_methods_controller.rb +4 -0
- data/app/controllers/spree/admin/stock_items_controller.rb +8 -11
- data/app/controllers/spree/admin/stock_locations_controller.rb +1 -1
- data/app/controllers/spree/admin/stock_transfers_controller.rb +0 -10
- data/app/controllers/spree/admin/store_credits_controller.rb +35 -35
- data/app/controllers/spree/admin/taxonomies_controller.rb +0 -10
- data/app/controllers/spree/admin/themes_controller.rb +6 -2
- data/app/controllers/spree/admin/users_controller.rb +7 -17
- data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +0 -10
- data/app/controllers/spree/admin/zones_controller.rb +0 -7
- data/app/helpers/spree/admin/dropdown_helper.rb +24 -10
- data/app/helpers/spree/admin/navigation_helper.rb +1 -1
- data/app/helpers/spree/admin/orders_filters_helper.rb +2 -0
- data/app/javascript/spree/admin/application.js +2 -2
- data/app/javascript/spree/admin/controllers/dropdown_controller.js +154 -0
- data/app/models/spree/admin/form_builder.rb +13 -12
- data/app/models/spree/admin/updater.rb +2 -2
- data/app/views/spree/admin/custom_domains/_custom_domains.html.erb +1 -1
- data/app/views/spree/admin/digital_assets/_table.html.erb +1 -1
- data/app/views/spree/admin/gift_cards/_filters.html.erb +2 -1
- data/app/views/spree/admin/integrations/index.html.erb +20 -8
- data/app/views/spree/admin/invitations/new.html.erb +2 -1
- data/app/views/spree/admin/metafield_definitions/_filters.html.erb +1 -1
- data/app/views/spree/admin/newsletter_subscribers/_filters.html.erb +1 -1
- data/app/views/spree/admin/newsletter_subscribers/_table_header.html.erb +2 -2
- data/app/views/spree/admin/oauth_applications/_table_header.html.erb +1 -1
- data/app/views/spree/admin/orders/_customer.html.erb +1 -1
- data/app/views/spree/admin/orders/_filters.html.erb +4 -5
- data/app/views/spree/admin/orders/_header.html.erb +0 -5
- data/app/views/spree/admin/orders/_list.html.erb +3 -3
- data/app/views/spree/admin/page_blocks/edit.html.erb +3 -3
- data/app/views/spree/admin/page_builder/_add_block.html.erb +1 -1
- data/app/views/spree/admin/page_builder/_header.html.erb +1 -1
- data/app/views/spree/admin/page_builder/_pages_dropdown.html.erb +2 -2
- data/app/views/spree/admin/page_builder/_sidebar_block.html.erb +1 -1
- data/app/views/spree/admin/page_builder/_sidebar_colors.html.erb +2 -2
- data/app/views/spree/admin/page_builder/_sidebar_fonts.html.erb +3 -3
- data/app/views/spree/admin/page_builder/_sidebar_section.html.erb +1 -1
- data/app/views/spree/admin/page_links/_list.html.erb +1 -1
- data/app/views/spree/admin/page_links/edit.html.erb +1 -1
- data/app/views/spree/admin/page_sections/edit.html.erb +3 -3
- data/app/views/spree/admin/page_sections/new.html.erb +1 -1
- data/app/views/spree/admin/pages/_table_header.html.erb +3 -3
- data/app/views/spree/admin/payment_methods/index.html.erb +5 -1
- data/app/views/spree/admin/policies/_filters.html.erb +1 -1
- data/app/views/spree/admin/posts/_form.html.erb +0 -2
- data/app/views/spree/admin/products/_bulk_operations.html.erb +2 -2
- data/app/views/spree/admin/products/edit.html.erb +0 -2
- data/app/views/spree/admin/products/form/_status.html.erb +0 -3
- data/app/views/spree/admin/products/form/_variants.html.erb +1 -1
- data/app/views/spree/admin/promotions/_table_header.html.erb +1 -1
- data/app/views/spree/admin/promotions/form/_kind.html.erb +4 -4
- data/app/views/spree/admin/refund_reasons/_table_header.html.erb +1 -1
- data/app/views/spree/admin/reimbursement_types/_form.html.erb +1 -0
- data/app/views/spree/admin/reimbursement_types/_table_header.html.erb +1 -1
- data/app/views/spree/admin/return_authorization_reasons/_table_header.html.erb +1 -1
- data/app/views/spree/admin/roles/index.html.erb +1 -1
- data/app/views/spree/admin/shared/_calendar_range_picker.html.erb +2 -2
- data/app/views/spree/admin/shared/_content_header.html.erb +4 -1
- data/app/views/spree/admin/shared/_index_table.html.erb +5 -4
- data/app/views/spree/admin/shared/_index_table_options.html.erb +1 -1
- data/app/views/spree/admin/shared/_new_item_dropdown.html.erb +1 -1
- data/app/views/spree/admin/shared/_user_dropdown.html.erb +4 -3
- data/app/views/spree/admin/shared/sidebar/_store_dropdown.html.erb +1 -1
- data/app/views/spree/admin/shipping_categories/_table_header.html.erb +1 -1
- data/app/views/spree/admin/shipping_methods/_table_header.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/_table_header.html.erb +2 -2
- data/app/views/spree/admin/store_credit_categories/index.html.erb +1 -1
- data/app/views/spree/admin/store_credits/_list.html.erb +3 -3
- data/app/views/spree/admin/stores/form/_checkout.html.erb +2 -2
- data/app/views/spree/admin/stores/form/_checkout_links.html.erb +1 -1
- data/app/views/spree/admin/stores/form/_policies.html.erb +5 -5
- data/app/views/spree/admin/tax_categories/_table_header.html.erb +2 -2
- data/app/views/spree/admin/tax_rates/_table_header.html.erb +2 -2
- data/app/views/spree/admin/taxonomies/_table_header.html.erb +1 -1
- data/app/views/spree/admin/users/_filters.html.erb +9 -3
- data/app/views/spree/admin/users/index.html.erb +1 -1
- data/config/importmap.rb +0 -1
- data/config/locales/en.yml +2 -0
- data/lib/generators/spree/admin/devise/devise_generator.rb +33 -0
- data/lib/generators/spree/admin/scaffold/templates/views/_filters.html.erb.tt +1 -1
- data/lib/generators/spree/admin/scaffold/templates/views/_table_header.html.erb.tt +2 -2
- metadata +10 -9
- data/vendor/javascript/@stimulus-components--dropdown.js +0 -4
|
@@ -30,7 +30,7 @@ module Spree
|
|
|
30
30
|
@template.content_tag(:div, class: 'form-group') do
|
|
31
31
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
32
32
|
@template.text_field(@object_name, method, objectify_options(options)) +
|
|
33
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
33
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
@@ -44,7 +44,7 @@ module Spree
|
|
|
44
44
|
@template.content_tag(:div, class: 'form-group') do
|
|
45
45
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
46
46
|
@template.number_field(@object_name, method, objectify_options(options)) +
|
|
47
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
47
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
|
|
@@ -58,7 +58,7 @@ module Spree
|
|
|
58
58
|
@template.content_tag(:div, class: 'form-group') do
|
|
59
59
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
60
60
|
@template.email_field(@object_name, method, objectify_options(options)) +
|
|
61
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
61
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
62
62
|
end
|
|
63
63
|
end
|
|
64
64
|
|
|
@@ -72,7 +72,7 @@ module Spree
|
|
|
72
72
|
@template.content_tag(:div, class: 'form-group') do
|
|
73
73
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
74
74
|
@template.date_field(@object_name, method, objectify_options(options)) +
|
|
75
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
75
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
@@ -86,7 +86,7 @@ module Spree
|
|
|
86
86
|
@template.content_tag(:div, class: 'form-group') do
|
|
87
87
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
88
88
|
@template.datetime_field(@object_name, method, objectify_options(options)) +
|
|
89
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
89
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
90
90
|
end
|
|
91
91
|
end
|
|
92
92
|
|
|
@@ -107,7 +107,7 @@ module Spree
|
|
|
107
107
|
|
|
108
108
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
109
109
|
@template.text_area(@object_name, method, objectify_options(options)) +
|
|
110
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
110
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
111
111
|
end
|
|
112
112
|
end
|
|
113
113
|
|
|
@@ -122,7 +122,7 @@ module Spree
|
|
|
122
122
|
@template.content_tag(:div, class: 'trix-container') do
|
|
123
123
|
@template.rich_text_area(@object_name, method, objectify_options(options))
|
|
124
124
|
end +
|
|
125
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
125
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
126
126
|
end
|
|
127
127
|
end
|
|
128
128
|
|
|
@@ -147,7 +147,7 @@ module Spree
|
|
|
147
147
|
@template.content_tag(:div, class: 'form-group') do
|
|
148
148
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
149
149
|
@template.select(@object_name, method, choices, objectify_options(options), html_options, &block) +
|
|
150
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
150
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
151
151
|
end
|
|
152
152
|
end
|
|
153
153
|
|
|
@@ -173,7 +173,7 @@ module Spree
|
|
|
173
173
|
@template.content_tag(:div, class: 'form-group') do
|
|
174
174
|
@template.label(@object_name, method, get_label(method, options)) +
|
|
175
175
|
@template.collection_select(@object_name, method, collection, value_method, text_method, objectify_options(options), html_options) +
|
|
176
|
-
@template.error_message_on(@object_name, method) + field_help(method, options)
|
|
176
|
+
@template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
177
177
|
end
|
|
178
178
|
end
|
|
179
179
|
|
|
@@ -187,7 +187,7 @@ module Spree
|
|
|
187
187
|
@template.content_tag(:div, class: 'custom-control custom-checkbox') do
|
|
188
188
|
@template.check_box(@object_name, method, objectify_options(options.merge(class: 'custom-control-input'))) +
|
|
189
189
|
@template.label(@object_name, method, get_label(method, options), class: 'custom-control-label')
|
|
190
|
-
end + @template.error_message_on(@object_name, method) + field_help(method, options)
|
|
190
|
+
end + @template.error_message_on(@object_name, method) + field_help(method, options.merge!(class: 'form-text mt-2 ml-4'))
|
|
191
191
|
end
|
|
192
192
|
end
|
|
193
193
|
|
|
@@ -204,7 +204,7 @@ module Spree
|
|
|
204
204
|
@template.content_tag(:div, class: 'custom-control custom-radio') do
|
|
205
205
|
@template.radio_button(@object_name, method, tag_value, objectify_options(options.merge(class: 'custom-control-input'))) +
|
|
206
206
|
@template.label(@object_name, method, get_label(method, options), class: 'custom-control-label', for: options[:id])
|
|
207
|
-
end + @template.error_message_on(@object_name, method) + field_help(method, options)
|
|
207
|
+
end + @template.error_message_on(@object_name, method) + field_help(method, options.merge(class: 'form-text mt-2'))
|
|
208
208
|
end
|
|
209
209
|
end
|
|
210
210
|
|
|
@@ -215,7 +215,8 @@ module Spree
|
|
|
215
215
|
# @option options [String] :help help text to display
|
|
216
216
|
# @return [String] HTML string containing the help text or empty string
|
|
217
217
|
def field_help(_method, options = {})
|
|
218
|
-
|
|
218
|
+
options[:class] ||= 'form-text mt-2'
|
|
219
|
+
@template.content_tag(:span, options[:help], class: options[:class])
|
|
219
220
|
end
|
|
220
221
|
|
|
221
222
|
private
|
|
@@ -37,8 +37,8 @@ module Spree
|
|
|
37
37
|
|
|
38
38
|
JSON.parse(response.body)
|
|
39
39
|
end
|
|
40
|
-
rescue
|
|
41
|
-
Rails.
|
|
40
|
+
rescue StandardError => e
|
|
41
|
+
Rails.error.report(e)
|
|
42
42
|
{}
|
|
43
43
|
end
|
|
44
44
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<table class="table">
|
|
4
4
|
<thead>
|
|
5
5
|
<tr>
|
|
6
|
-
<th scope="col"><%= sort_link
|
|
6
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
7
7
|
<th scope="col"><%= Spree.t(:active) %>?</th>
|
|
8
8
|
<th scope="col"><%= Spree.t(:default) %>?</th>
|
|
9
9
|
<th scope="col"></th>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<% if @product.has_variants? %>
|
|
5
5
|
<th scope="col"><%= Spree.t(:variant) %></th>
|
|
6
6
|
<% end %>
|
|
7
|
-
<th scope="col"><%= sort_link
|
|
7
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
8
8
|
<th scope="col"><%= Spree.t(:size) %></th>
|
|
9
9
|
<th scope="col"></th>
|
|
10
10
|
</tr>
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
class: "filter-wrap",
|
|
7
7
|
data: {
|
|
8
8
|
controller: "filters dropdown",
|
|
9
|
-
filters_url_value: request.url
|
|
9
|
+
filters_url_value: request.url,
|
|
10
|
+
dropdown_placement_value: "bottom-end"
|
|
10
11
|
} do |f| %>
|
|
11
12
|
<%= hidden_field_tag :frame_name, frame_name if frame_name.present? %>
|
|
12
13
|
|
|
@@ -14,16 +14,28 @@
|
|
|
14
14
|
<%= Spree.t('admin.integrations.page_subtitle') %>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
|
-
<% grouped_available_store_integrations.
|
|
18
|
-
<%
|
|
19
|
-
|
|
17
|
+
<% if grouped_available_store_integrations.any? %>
|
|
18
|
+
<% grouped_available_store_integrations.each do |group, integrations| %>
|
|
19
|
+
<% if group.present? %>
|
|
20
|
+
<div class="my-2 text-muted font-weight-light text-uppercase"><%= Spree.t(group) %></div>
|
|
21
|
+
<% end %>
|
|
22
|
+
|
|
23
|
+
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 mb-4">
|
|
24
|
+
<% integrations.each do |integration| %>
|
|
25
|
+
<%= render 'spree/admin/integrations/integration', integration_class: integration %>
|
|
26
|
+
<% end %>
|
|
27
|
+
</div>
|
|
20
28
|
<% end %>
|
|
21
29
|
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
<p class="text-muted text-center my-5">
|
|
31
|
+
Find more integrations in <%= external_link_to 'Integrations Directory', 'https://spreecommerce.org/docs/integrations/integrations', class: 'text-decoration-none font-weight-bold', target: '_blank' %>
|
|
32
|
+
</p>
|
|
33
|
+
<% else %>
|
|
34
|
+
<p class="text-muted text-center my-5">
|
|
35
|
+
No integrations installed yet. Find integrations in
|
|
36
|
+
|
|
37
|
+
<%= external_link_to 'Integrations Directory', 'https://spreecommerce.org/docs/integrations/integrations', class: 'text-decoration-none font-weight-bold', target: '_blank' %>
|
|
38
|
+
</p>
|
|
27
39
|
<% end %>
|
|
28
40
|
</div>
|
|
29
41
|
</div>
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
<%= f.spree_date_field :expires_at, required: true, data: { 'enable-button-target': 'input' } %>
|
|
13
13
|
</div>
|
|
14
14
|
<div class="dialog-footer">
|
|
15
|
-
<%=
|
|
15
|
+
<%= dialog_discard_button %>
|
|
16
|
+
<%= turbo_save_button_tag do %>
|
|
16
17
|
<%= icon 'send' %>
|
|
17
18
|
<%= Spree.t('actions.send_invitation') %>
|
|
18
19
|
<% end %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%= search_form_for [:admin,
|
|
1
|
+
<%= search_form_for [:admin, @search], class: "filter-wrap", data: {controller: "filters auto-submit"} do |f| %>
|
|
2
2
|
<div class="d-flex">
|
|
3
3
|
<%= render 'spree/admin/shared/filters_search_bar', param: :multi_search, label: Spree.t(:title) %>
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%= search_form_for [:admin,
|
|
1
|
+
<%= search_form_for [:admin, @search], class: "filter-wrap", data: { controller: "filters" } do |f| %>
|
|
2
2
|
<div class="d-flex flex-column flex-lg-row gap-2">
|
|
3
3
|
<%= render 'spree/admin/shared/filters_search_bar', param: :email_cont, label: Spree.t(:email) %>
|
|
4
4
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%= sort_link
|
|
2
|
+
<th scope="col"><%= sort_link @search, :email, Spree.t(:email) %></th>
|
|
3
3
|
<th scope="col"><%= Spree.t(:customer) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:verified) %>?</th>
|
|
5
5
|
<th scope="col"><%= Spree.t(:verified_at) %></th>
|
|
6
|
-
<th scope="col"><%= sort_link
|
|
6
|
+
<th scope="col"><%= sort_link @search, :created_at, Spree.t(:created_at) %></th>
|
|
7
7
|
<th scope="col"></th>
|
|
8
8
|
</tr>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%= sort_link
|
|
2
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
3
3
|
<th scope="col"><%= Spree.t('admin.oauth_applications.client_id') %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t('admin.oauth_applications.scopes') %></th>
|
|
5
5
|
<th scope="col"><%= Spree.t('admin.oauth_applications.last_used') %></th>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<% if can?(:update_customer, @order) || can?(:update_addresses, @order) %>
|
|
7
7
|
<%= dropdown id: 'customer-edit-dropdown', class: 'ml-auto' do %>
|
|
8
8
|
<%= dropdown_toggle class: 'btn-light btn-sm px-1', data: { test_id: 'dropdown-toggle' } do %>
|
|
9
|
-
<%= icon 'dots-vertical' %>
|
|
9
|
+
<%= icon 'dots-vertical', class: 'mr-0' %>
|
|
10
10
|
<% end %>
|
|
11
11
|
<%= dropdown_menu class: 'dropdown-menu-right' do %>
|
|
12
12
|
<% if can?(:update_customer, @order) && !@order.user.present? %>
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
class: "filter-wrap",
|
|
16
16
|
data: {
|
|
17
17
|
controller: "filters dropdown",
|
|
18
|
-
filters_url_value: request.url
|
|
18
|
+
filters_url_value: request.url,
|
|
19
|
+
dropdown_placement_value: "bottom-end"
|
|
19
20
|
} do |f| %>
|
|
20
21
|
<%= hidden_field_tag :frame_name, frame_name if frame_name.present? %>
|
|
21
22
|
|
|
@@ -27,15 +28,13 @@
|
|
|
27
28
|
date_from_input_name: "q[created_at_gt]",
|
|
28
29
|
date_to_input_name: "q[created_at_lt]",
|
|
29
30
|
date_from_value: params.dig(:q, :created_at_gt),
|
|
30
|
-
date_to_value: params.dig(:q, :created_at_lt)
|
|
31
|
-
dropdown_direction: "right" %>
|
|
31
|
+
date_to_value: params.dig(:q, :created_at_lt) %>
|
|
32
32
|
<% else %>
|
|
33
33
|
<%= render "spree/admin/shared/calendar_range_picker",
|
|
34
34
|
date_from_input_name: "q[completed_at_gt]",
|
|
35
35
|
date_to_input_name: "q[completed_at_lt]",
|
|
36
36
|
date_from_value: params.dig(:q, :completed_at_gt),
|
|
37
|
-
date_to_value: params.dig(:q, :completed_at_lt)
|
|
38
|
-
dropdown_direction: "right" %>
|
|
37
|
+
date_to_value: params.dig(:q, :completed_at_lt) %>
|
|
39
38
|
<% end %>
|
|
40
39
|
|
|
41
40
|
<%= render "spree/admin/orders/table_filter_dropdown" %>
|
|
@@ -41,8 +41,6 @@
|
|
|
41
41
|
can?(:create, Spree::CustomerReturn) && @order.return_authorizations.exists? %>
|
|
42
42
|
|
|
43
43
|
<% if can_create_ra || can_create_cr %>
|
|
44
|
-
<div class="dropdown-divider"></div>
|
|
45
|
-
|
|
46
44
|
<% if can_create_ra %>
|
|
47
45
|
<%= link_to_with_icon "plus", Spree.t(:new_return_authorization),
|
|
48
46
|
spree.new_admin_order_return_authorization_path(@order),
|
|
@@ -54,8 +52,6 @@
|
|
|
54
52
|
spree.new_admin_order_customer_return_path(@order),
|
|
55
53
|
class: "btn dropdown-item" %>
|
|
56
54
|
<% end %>
|
|
57
|
-
|
|
58
|
-
<div class="dropdown-divider"></div>
|
|
59
55
|
<% end %>
|
|
60
56
|
<% end %>
|
|
61
57
|
|
|
@@ -69,6 +65,5 @@
|
|
|
69
65
|
<%= icon "cancel" %>
|
|
70
66
|
<%= Spree.t(:cancel_order) %>
|
|
71
67
|
<% end %>
|
|
72
|
-
<div class="dropdown-divider"></div>
|
|
73
68
|
<% end %>
|
|
74
69
|
<% end %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% if @
|
|
1
|
+
<% if @collection.any? %>
|
|
2
2
|
<div class="table-responsive">
|
|
3
3
|
<table class="table" id="listing_orders">
|
|
4
4
|
<thead>
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
</tr>
|
|
19
19
|
</thead>
|
|
20
20
|
<tbody>
|
|
21
|
-
<%= render collection: @
|
|
21
|
+
<%= render collection: @collection, partial: 'spree/admin/orders/order', cached: !(defined?(current_vendor) && current_vendor) ? spree_base_cache_scope : false %>
|
|
22
22
|
</tbody>
|
|
23
23
|
</table>
|
|
24
24
|
</div>
|
|
25
25
|
<% else %>
|
|
26
26
|
<%= render 'spree/admin/shared/no_resource_found', new_object_url: nil, model_class: Spree::Order %>
|
|
27
27
|
<% end %>
|
|
28
|
-
<%= render 'spree/admin/shared/index_table_options', collection: @
|
|
28
|
+
<%= render 'spree/admin/shared/index_table_options', collection: @collection %>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<%= turbo_frame_tag :page_sidebar do %>
|
|
2
2
|
<% tab_selected ||= :content %>
|
|
3
3
|
<h6 class="sidebar-header">
|
|
4
|
-
<%= link_to spree.edit_admin_theme_path(@theme, page_id: @page&.id), data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray px-2' do %>
|
|
4
|
+
<%= link_to spree.edit_admin_theme_path(@theme, page_id: @page&.id), data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray shadow-none px-2' do %>
|
|
5
5
|
<%= icon 'chevron-left', class: 'mr-0' %>
|
|
6
6
|
<% end %>
|
|
7
7
|
<%= @page_block.display_name %>
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
<div data-controller="tabs">
|
|
12
12
|
<ul class="nav nav-pills nav-fill mb-3" id="pills-tab" role="tablist">
|
|
13
13
|
<li class="nav-item" role="presentation">
|
|
14
|
-
<button class="
|
|
14
|
+
<button class="nav-link w-100 <%= tab_selected == :content ? 'active' : '' %>" id="pills-home-tab" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-home" aria-selected="<%= tab_selected == :content %>">Content</button>
|
|
15
15
|
</li>
|
|
16
16
|
<li class="nav-item" role="presentation">
|
|
17
|
-
<button class="
|
|
17
|
+
<button class="nav-link w-100 <%= tab_selected == :design ? 'active' : '' %>" id="pills-profile-tab" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-profile" aria-selected="<%= tab_selected == :design %>">Design</button>
|
|
18
18
|
</li>
|
|
19
19
|
</ul>
|
|
20
20
|
<div data-tabs-target="panel" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab" class="animate__animated animate__fadeIn" <%= 'hidden' unless tab_selected == :content %>>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<%= icon("circle-plus") %>
|
|
7
7
|
Add block
|
|
8
8
|
<% end %>
|
|
9
|
-
<%= dropdown_menu
|
|
9
|
+
<%= dropdown_menu do %>
|
|
10
10
|
<% section.available_blocks_to_add.each do |block_class| %>
|
|
11
11
|
<a href="#" class="dropdown-item btn-sm"
|
|
12
12
|
data-action="click->block-form#addBlock"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<nav class="navbar navbar-expand-lg">
|
|
3
3
|
<div data-controller="tooltip">
|
|
4
4
|
<% back_url = @page.custom? ? spree.admin_pages_path : spree.admin_themes_path %>
|
|
5
|
-
<%= link_to back_url, class: 'btn hover-gray px-2' do %>
|
|
5
|
+
<%= link_to back_url, class: 'btn hover-gray shadow-none px-2' do %>
|
|
6
6
|
<%= icon('x', class: 'mr-0') %>
|
|
7
7
|
<% end %>
|
|
8
8
|
<%= tooltip(Spree.t('admin.back_to_dashboard')) %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%= dropdown id: 'pages_dropdown' do %>
|
|
1
|
+
<%= dropdown id: 'pages_dropdown', direction: 'left' do %>
|
|
2
2
|
<%= dropdown_toggle class: 'btn-light' do %>
|
|
3
3
|
<span class="d-flex align-items-center pr-5">
|
|
4
4
|
<%= icon @page.icon_name, class: 'mr-2' %>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
</span>
|
|
7
7
|
<%= icon 'selector', class: 'mr-0 ml-2 mb-0 text-muted' %>
|
|
8
8
|
<% end %>
|
|
9
|
-
<%= dropdown_menu
|
|
9
|
+
<%= dropdown_menu style: 'min-width: 250px' do %>
|
|
10
10
|
<% @theme.pages.standard.order(name: :asc).find_all(&:customizable?).each do |page| %>
|
|
11
11
|
<%= active_link_to spree.edit_admin_theme_path(@theme, theme_preview_id: @theme_preview.id, page_id: page.id), class: 'dropdown-item', active: @page == page, data: { turbo_prefetch: false } do %>
|
|
12
12
|
<%= icon page.icon_name, class: 'mr-2' %>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
<div class="d-flex align-items-center d-none">
|
|
22
22
|
<% if block.section.can_sort_blocks? %>
|
|
23
|
-
<button class="btn btn-sm pr-0 handle hover-gray-200 h-100 px-1 handle-block">
|
|
23
|
+
<button class="btn btn-sm pr-0 handle hover-gray-200 h-100 px-1 handle-block shadow-none">
|
|
24
24
|
<%= icon('grip-vertical', class: 'mr-0') %>
|
|
25
25
|
</button>
|
|
26
26
|
<% end %>
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
<div data-controller="tabs">
|
|
8
8
|
<ul class="nav nav-pills nav-fill m-3" id="pills-tab" role="tablist">
|
|
9
9
|
<li class="nav-item" role="presentation">
|
|
10
|
-
<button class="
|
|
10
|
+
<button class="nav-link w-100 active" id="pills-home-tab" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-home" aria-selected="true">Color scheme</button>
|
|
11
11
|
</li>
|
|
12
12
|
<li class="nav-item" role="presentation">
|
|
13
|
-
<button class="
|
|
13
|
+
<button class="nav-link w-100" id="pills-profile-tab" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Elements</button>
|
|
14
14
|
</li>
|
|
15
15
|
</ul>
|
|
16
16
|
<div id="pills-tabContent">
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
<div data-controller="tabs">
|
|
7
7
|
<ul class="nav nav-pills nav-fill m-3" id="pills-tab" role="tablist">
|
|
8
8
|
<li class="nav-item" role="presentation">
|
|
9
|
-
<button class="
|
|
9
|
+
<button class="nav-link w-100 active" id="pills-standard" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-standard" aria-selected="true">
|
|
10
10
|
Standard
|
|
11
11
|
</button>
|
|
12
12
|
</li>
|
|
13
13
|
<li class="nav-item" role="presentation">
|
|
14
|
-
<button class="
|
|
14
|
+
<button class="nav-link w-100" id="pills-custom" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-custom" aria-selected="false">
|
|
15
15
|
Custom
|
|
16
16
|
</button>
|
|
17
17
|
</li>
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
<div class="alert alert-warning">
|
|
61
61
|
Using custom fonts can slow down your store.
|
|
62
62
|
</div>
|
|
63
|
-
<%= f.spree_text_area :preferred_custom_font_code, style: 'min-height: 6em' %>
|
|
63
|
+
<%= f.spree_text_area :preferred_custom_font_code, style: 'min-height: 6em', label: Spree.t(:custom_font_code) %>
|
|
64
64
|
</div>
|
|
65
65
|
<%= f.submit Spree.t('actions.update'), class: 'btn btn-primary' %>
|
|
66
66
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
%>
|
|
17
17
|
</div>
|
|
18
18
|
<div class="d-flex align-items-center d-none">
|
|
19
|
-
<button class="btn btn-sm pr-0 handle hover-gray-200 h-100 mr-1 px-1 handle-section">
|
|
19
|
+
<button class="btn btn-sm pr-0 handle hover-gray-200 h-100 mr-1 px-1 handle-section shadow-none">
|
|
20
20
|
<%= icon('grip-vertical', class: 'mr-0') %>
|
|
21
21
|
</button>
|
|
22
22
|
</div>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
data-sortable-update-url="<%= spree.admin_page_link_path(link, sorting_only: true, format: :turbo_stream) %>"
|
|
13
13
|
>
|
|
14
14
|
<%= link_to link.label, spree.edit_admin_page_link_path(link), class: 'd-block py-2 px-3 text-dark flex-fill' %>
|
|
15
|
-
<button class="btn btn-sm pr-0 handle hover-gray-200 h-100 mr-1 px-1">
|
|
15
|
+
<button class="btn btn-sm pr-0 handle hover-gray-200 h-100 mr-1 px-1 shadow-none">
|
|
16
16
|
<%= icon 'grip-vertical', class: 'mr-0' %>
|
|
17
17
|
</button>
|
|
18
18
|
</li>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<% else %>
|
|
13
13
|
<%= turbo_frame_tag :page_sidebar do %>
|
|
14
14
|
<h6 class="sidebar-header">
|
|
15
|
-
<%= link_to collection_url, data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray px-2' do %>
|
|
15
|
+
<%= link_to collection_url, data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray shadow-none px-2' do %>
|
|
16
16
|
<%= icon 'chevron-left', class: 'mr-0' %>
|
|
17
17
|
<% end %>
|
|
18
18
|
<%= @page_link.label %>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<%= turbo_frame_tag :page_sidebar do %>
|
|
2
2
|
<% tab_selected ||= :content %>
|
|
3
3
|
<h6 class="sidebar-header">
|
|
4
|
-
<%= link_to collection_url, data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray px-2' do %>
|
|
4
|
+
<%= link_to collection_url, data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray shadow-none px-2' do %>
|
|
5
5
|
<%= icon 'chevron-left', class: 'mr-0 back' %>
|
|
6
6
|
<% end %>
|
|
7
7
|
<%= @page_section.display_name %>
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
<div data-controller="tabs">
|
|
12
12
|
<ul class="nav nav-pills nav-fill mb-3" id="pills-tab" role="tablist">
|
|
13
13
|
<li class="nav-item" role="presentation">
|
|
14
|
-
<button class="
|
|
14
|
+
<button class="nav-link w-100 <%= tab_selected == :content ? 'active' : '' %>" id="pills-home-tab" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-home" aria-selected="<%= tab_selected == :content %>">Content</button>
|
|
15
15
|
</li>
|
|
16
16
|
<li class="nav-item" role="presentation">
|
|
17
|
-
<button class="
|
|
17
|
+
<button class="nav-link w-100 <%= tab_selected == :design ? 'active' : '' %>" id="pills-profile-tab" data-tabs-target="tab" data-action="click->tabs#select" type="button" role="tab" aria-controls="pills-profile" aria-selected="<%= tab_selected == :design %>">Design</button>
|
|
18
18
|
</li>
|
|
19
19
|
</ul>
|
|
20
20
|
<div data-tabs-target="panel" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab" class="animate__animated animate__fadeIn" <%= 'hidden' unless tab_selected == :content %>>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<%= turbo_frame_tag :page_sidebar do %>
|
|
2
2
|
<h6 class="sidebar-header">
|
|
3
|
-
<%= link_to collection_url, data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray px-2' do %>
|
|
3
|
+
<%= link_to collection_url, data: { action: 'click->page-builder#clearActiveOverlays' }, class: 'btn hover-gray shadow-none px-2' do %>
|
|
4
4
|
<%= icon 'chevron-left', class: 'mr-0 back' %>
|
|
5
5
|
<% end %>
|
|
6
6
|
<%= Spree.t(:add_section) %>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%= sort_link
|
|
3
|
-
<th scope="col"><%= sort_link
|
|
4
|
-
<th scope="col"><%= sort_link
|
|
2
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
3
|
+
<th scope="col"><%= sort_link @search, :created_at, Spree.t(:created_at) %></th>
|
|
4
|
+
<th scope="col"><%= sort_link @search, :updated_at, Spree.t(:updated_at) %></th>
|
|
5
5
|
<th scope="col"></th>
|
|
6
6
|
</tr>
|
|
@@ -42,4 +42,8 @@
|
|
|
42
42
|
</tbody>
|
|
43
43
|
</table>
|
|
44
44
|
</div>
|
|
45
|
-
<% end %>
|
|
45
|
+
<% end %>
|
|
46
|
+
|
|
47
|
+
<p class="text-muted text-center my-5">
|
|
48
|
+
Find more payment methods in <%= external_link_to 'Integrations Directory', 'https://spreecommerce.org/docs/integrations/integrations', class: 'text-decoration-none font-weight-bold', target: '_blank' %>
|
|
49
|
+
</p>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%= search_form_for [:admin,
|
|
1
|
+
<%= search_form_for [:admin, @search], class: "filter-wrap", data: { controller: "filters" } do |f| %>
|
|
2
2
|
<div class="d-flex flex-column flex-lg-row gap-2">
|
|
3
3
|
<%= render 'spree/admin/shared/filters_search_bar', param: :name_i_cont, label: Spree.t(:name) %>
|
|
4
4
|
</div>
|
|
@@ -13,12 +13,10 @@
|
|
|
13
13
|
|
|
14
14
|
<%= f.spree_rich_text_area :content,
|
|
15
15
|
help_bubble: 'Add a summary of the post',
|
|
16
|
-
style: 'height: 300px',
|
|
17
16
|
data: { seo_form_target: 'sourceDescriptionInput' } %>
|
|
18
17
|
|
|
19
18
|
<%= f.spree_rich_text_area :excerpt,
|
|
20
19
|
help_bubble: 'Add a summary of the post',
|
|
21
|
-
style: 'height: 100px',
|
|
22
20
|
data: { seo_form_target: 'sourceExcerptInput' } %>
|
|
23
21
|
</div>
|
|
24
22
|
</div>
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
url: spree.bulk_status_update_admin_products_path(status: :draft)
|
|
19
19
|
) %>
|
|
20
20
|
|
|
21
|
-
<%= dropdown do %>
|
|
21
|
+
<%= dropdown direction: 'top' do %>
|
|
22
22
|
<%= dropdown_toggle do %>
|
|
23
23
|
<%= icon('dots-vertical', class: "mr-0") %>
|
|
24
24
|
<% end %>
|
|
25
|
-
<%= dropdown_menu
|
|
25
|
+
<%= dropdown_menu class: 'mb-2' do %>
|
|
26
26
|
<%= bulk_action_link(
|
|
27
27
|
Spree.t("admin.bulk_ops.products.title.set_status", status: :archived),
|
|
28
28
|
spree.bulk_modal_admin_products_path(kind: :set_status, status: :archived),
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
<%= render 'spree/admin/products/form/variants/variant_template', default_stock_location: default_stock_location_for_product(@product) %>
|
|
163
163
|
<div class="variants-table__body" data-variants-form-target="variantsContainer" data-test-id="product-variants-table">
|
|
164
164
|
</div>
|
|
165
|
-
<div class="variants-table__footer">
|
|
165
|
+
<div class="variants-table__footer font-size-sm">
|
|
166
166
|
<%= Spree.t('admin.variants_form.total_inventory_html', stock_location: current_store.default_stock_location.name, count: raw("<span data-variants-form-target='stockItemsCount'>#{@product.total_on_hand}</span>") )%>
|
|
167
167
|
</div>
|
|
168
168
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%= sort_link
|
|
2
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
3
3
|
<th scope="col"><%= Spree.t(:code) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:kind) %></th>
|
|
5
5
|
<th scope="col"><%= Spree.t(:usage_limit) %></th>
|