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
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<%= f.radio_button :multi_codes, false, data: { action: 'change->reveal#toggle' }, class: 'custom-control-input' %>
|
|
10
10
|
<%= f.label :multi_codes_false, class: 'custom-control-label' do %>
|
|
11
11
|
One code for all customers
|
|
12
|
-
<span class="form-text font-weight-normal mr-1">
|
|
12
|
+
<span class="form-text font-weight-normal mr-1 mt-2">
|
|
13
13
|
You can limit the number of times this code can be used.
|
|
14
14
|
</span>
|
|
15
15
|
<% end %>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<%= f.radio_button :multi_codes, true, data: { action: 'change->reveal#toggle' }, class: 'custom-control-input' %>
|
|
23
23
|
<%= f.label :multi_codes_true, class: 'custom-control-label' do %>
|
|
24
24
|
Generate unique codes
|
|
25
|
-
<span class="form-text font-weight-normal mr-1">
|
|
25
|
+
<span class="form-text font-weight-normal mr-1 mt-2">
|
|
26
26
|
These codes are generated automatically and can be downloaded as a CSV file. Codes are unique and can only be used once.
|
|
27
27
|
</span>
|
|
28
28
|
<% end %>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<div data-reveal-target="item" class="ml-3 mt-2 row <% unless @promotion.multi_codes? %>hidden<% end %>">
|
|
31
31
|
<div class="col-6">
|
|
32
32
|
<%= f.text_field :code_prefix, class: 'form-control text-uppercase', placeholder: 'Coupon Prefix (optional)' %>
|
|
33
|
-
<span class="form-text">
|
|
33
|
+
<span class="form-text mt-2">
|
|
34
34
|
eg. <strong>ABC</strong>
|
|
35
35
|
</span>
|
|
36
36
|
</div>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
<% minimum_number_of_codes = @promotion.persisted? && @promotion.coupon_codes.count.positive? ? @promotion.coupon_codes.count : 1 %>
|
|
39
39
|
<% maximum_number_of_codes = ENV.fetch('PROMOTION_MAX_NUMBER_OF_CODES', 5000) %>
|
|
40
40
|
<%= f.number_field :number_of_codes, class: 'form-control', placeholder: 'Number of codes', min: minimum_number_of_codes, max: maximum_number_of_codes, step: 1 %>
|
|
41
|
-
<span class="form-text">
|
|
41
|
+
<span class="form-text mt-2">
|
|
42
42
|
How many codes you want to generate.
|
|
43
43
|
<% if @promotion.persisted? %>
|
|
44
44
|
To add more codes just increase this number
|
|
@@ -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(:status) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:mutable) %></th>
|
|
5
5
|
<th scope="col"></th>
|
|
@@ -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(:type) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:status) %></th>
|
|
5
5
|
<th scope="col"><%= Spree.t(:mutable) %></th>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<table class="table">
|
|
14
14
|
<thead>
|
|
15
15
|
<tr>
|
|
16
|
-
<th scope="col"><%= sort_link
|
|
16
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
17
17
|
<th scope="col"><%= Spree.t(:permissions) %></th>
|
|
18
18
|
<th scope="col"></th>
|
|
19
19
|
</tr>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<% dropdown_direction ||= 'left' %>
|
|
9
9
|
|
|
10
|
-
<%= dropdown data: { controller: 'dropdown calendar-range', action: 'click->calendar-range#open' }, class: 'h-100' do %>
|
|
10
|
+
<%= dropdown direction: dropdown_direction, data: { controller: 'dropdown calendar-range', action: 'click->calendar-range#open' }, class: 'h-100' do %>
|
|
11
11
|
<%= dropdown_toggle class: css_classes do %>
|
|
12
12
|
<%= icon('calendar', class: 'mr-2') %>
|
|
13
13
|
<div data-calendar-range-target="label">
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<% end %>
|
|
19
19
|
</div>
|
|
20
20
|
<% end %>
|
|
21
|
-
<%= dropdown_menu
|
|
21
|
+
<%= dropdown_menu class: "pt-2 px-2 pb-1" do %>
|
|
22
22
|
<div data-calendar-range-target="picker" class="d-none"></div>
|
|
23
23
|
<% end %>
|
|
24
24
|
|
|
@@ -27,7 +27,10 @@
|
|
|
27
27
|
<%= icon 'dots-vertical', class: 'mr-0' %>
|
|
28
28
|
<% end %>
|
|
29
29
|
<%= dropdown_menu id: 'page_actions_dropdown_menu' do %>
|
|
30
|
-
|
|
30
|
+
<% if content_for?(:page_actions_dropdown) %>
|
|
31
|
+
<%= yield :page_actions_dropdown %>
|
|
32
|
+
<div class="dropdown-divider"></div>
|
|
33
|
+
<% end %>
|
|
31
34
|
<% if record && record.persisted? %>
|
|
32
35
|
<%= link_to_edit_metafields(record) %>
|
|
33
36
|
<%= link_to_edit_translations(record) %>
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<% sortable = local_assigns[:sortable] %>
|
|
2
|
+
<% frame_name = local_assigns[:frame_name] || controller_name %>
|
|
2
3
|
|
|
3
|
-
<%= turbo_frame_tag
|
|
4
|
+
<%= turbo_frame_tag frame_name, autoscroll: true, data: { autoscroll_block: :start, autoscroll_behavior: :smooth, turbo_action: 'advance' } do %>
|
|
4
5
|
<%= render 'spree/admin/shared/export_modal', export_type: export_type if local_assigns[:export_type] %>
|
|
5
6
|
<div class="card-lg">
|
|
6
7
|
<% if lookup_context.template_exists?('filters', lookup_context.prefixes, true) %>
|
|
7
8
|
<%= render 'filters' %>
|
|
8
9
|
<% end %>
|
|
9
10
|
|
|
10
|
-
<% if
|
|
11
|
+
<% if @collection.any? %>
|
|
11
12
|
<div class="<% if lookup_context.template_exists?('filters', lookup_context.prefixes, true) %>with-filters<% end %>" id="listing_<%= controller_name %>">
|
|
12
13
|
<table class="table">
|
|
13
14
|
<thead>
|
|
@@ -21,12 +22,12 @@
|
|
|
21
22
|
data-sortable-response-kind-value="turbo-stream"
|
|
22
23
|
<% end %>
|
|
23
24
|
>
|
|
24
|
-
<%= render partial: 'table_row', collection:
|
|
25
|
+
<%= render partial: 'table_row', collection: @collection, as: controller_name.singularize %>
|
|
25
26
|
</tbody>
|
|
26
27
|
</table>
|
|
27
28
|
</div>
|
|
28
29
|
|
|
29
|
-
<%= render 'spree/admin/shared/index_table_options', collection:
|
|
30
|
+
<%= render 'spree/admin/shared/index_table_options', collection: @collection %>
|
|
30
31
|
<% else %>
|
|
31
32
|
<%= render 'spree/admin/shared/no_resource_found', new_object_url: (new_object_url if can?(:create, model_class)) %>
|
|
32
33
|
<% end %>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div class="d-none d-lg-block text-center text-muted">
|
|
13
13
|
<%= page_entries_info(collection, entry_name: entry_name) %>
|
|
14
14
|
</div>
|
|
15
|
-
<div class="text-right
|
|
15
|
+
<div class="text-right">
|
|
16
16
|
<%= paginate collection, theme: 'admin-twitter-bootstrap-4' %>
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<%= dropdown_toggle class: 'btn-light btn-sm px-1' do %>
|
|
3
3
|
<%= icon 'plus', class: 'mr-0' %>
|
|
4
4
|
<% end %>
|
|
5
|
-
<%= dropdown_menu
|
|
5
|
+
<%= dropdown_menu do %>
|
|
6
6
|
<%= link_to_with_icon 'shopping-bag-plus', Spree.t(:new_order), spree.new_admin_order_path, class: "dropdown-item" if can?(:manage, Spree::Order) %>
|
|
7
7
|
|
|
8
8
|
<%= link_to spree.new_admin_product_path, class: 'dropdown-item' do %>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<% if try_spree_current_user.present? %>
|
|
2
2
|
<%= dropdown id: dom_id(try_spree_current_user, 'account-dropdown') do %>
|
|
3
|
-
<%= dropdown_toggle class: 'd-flex align-items-center justify-content-between text-left w-100 pr-0' do %>
|
|
3
|
+
<%= dropdown_toggle class: 'd-flex align-items-center justify-content-between text-left w-100 pr-0 shadow-none' do %>
|
|
4
4
|
<%= render_avatar(try_spree_current_user, width: 32, height: 32) %>
|
|
5
5
|
<% end %>
|
|
6
6
|
<%= dropdown_menu class: 'dropdown-menu-right', style: 'min-width: 250px;' do %>
|
|
@@ -29,8 +29,9 @@
|
|
|
29
29
|
<h6 class="dropdown-header mt-2">
|
|
30
30
|
<%= Spree.t(:support) %>
|
|
31
31
|
</h6>
|
|
32
|
-
<%=
|
|
33
|
-
<%=
|
|
32
|
+
<%= link_to_with_icon 'book', Spree.t('admin.documentation'), 'https://spreecommerce.org/docs', class: 'dropdown-item', target: '_blank' %>
|
|
33
|
+
<%= link_to_with_icon 'brand-slack', Spree.t('admin.slack'), 'https://slack.spreecommerce.org/', class: 'dropdown-item', target: '_blank' %>
|
|
34
|
+
<%= link_to_with_icon 'message', Spree.t(:contact_us), 'https://spreecommerce.org/contact/', class: 'dropdown-item', target: '_blank' %>
|
|
34
35
|
<% end %>
|
|
35
36
|
|
|
36
37
|
<div class="dropdown-divider"></div>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<%= store_admin_icon(current_store, height: 32, width: 32) %>
|
|
5
5
|
<%= truncate(current_store.name, length: 10) %>
|
|
6
6
|
<% end %>
|
|
7
|
-
<%= dropdown_menu class: 'ml-2'
|
|
7
|
+
<%= dropdown_menu class: 'ml-2' do %>
|
|
8
8
|
<%= link_to current_store.formatted_url_or_custom_domain, class: 'dropdown-item', target: '_blank' do %>
|
|
9
9
|
<%= icon 'eye' %>
|
|
10
10
|
<%= Spree.t(:view_store) %>
|
|
@@ -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(:zone) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:estimated_delivery_time) %></th>
|
|
5
5
|
<th scope="col"><%= Spree.t(:amount) %></th>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%= sort_link
|
|
3
|
-
<th scope="col"><%= sort_link
|
|
2
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
3
|
+
<th scope="col"><%= sort_link @search, :country, Spree.t(:country) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:active) %>?</th>
|
|
5
5
|
<% if can?(:mark_as_default, Spree::StockLocation) %>
|
|
6
6
|
<th scope="col"><%= Spree.t(:default) %>?</th>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% if @
|
|
1
|
+
<% if @collection.any? %>
|
|
2
2
|
<div class="table-responsive">
|
|
3
3
|
<table class="table">
|
|
4
4
|
<thead>
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
<th scope="col"><%= Spree.t(:issued_on) %></th>
|
|
12
12
|
</thead>
|
|
13
13
|
<tbody>
|
|
14
|
-
<%= render partial: 'spree/admin/store_credits/store_credit', collection: @
|
|
14
|
+
<%= render partial: 'spree/admin/store_credits/store_credit', collection: @collection, as: :store_credit, cached: spree_base_cache_scope %>
|
|
15
15
|
</tbody>
|
|
16
16
|
</table>
|
|
17
17
|
</div>
|
|
18
|
-
<%= render partial: 'spree/admin/shared/index_table_options', locals: { collection: @
|
|
18
|
+
<%= render partial: 'spree/admin/shared/index_table_options', locals: { collection: @collection } %>
|
|
19
19
|
<% else %>
|
|
20
20
|
<%= render 'spree/admin/shared/no_resource_found', model_class: Spree::StoreCredit, new_object_url: spree.new_admin_user_store_credit_path(@user) %>
|
|
21
21
|
<% end %>
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
<div class="card-body">
|
|
11
11
|
<%= f.spree_select :checkout_zone_id, options_for_select(@zones, @store.checkout_zone_id), { label: Spree.t(:shipping_zone), autocomplete: true } %>
|
|
12
|
-
<
|
|
12
|
+
<span class="form-text mb-3">
|
|
13
13
|
<%= Spree.t(:shipping_zone_help) %>
|
|
14
14
|
<%= link_to Spree.t('admin.manage_zones'), spree.admin_zones_path, class: 'text-blue' %>
|
|
15
|
-
</
|
|
15
|
+
</span>
|
|
16
16
|
|
|
17
17
|
<%= f.spree_select :default_country_iso, Spree::Country.pluck(:name, :iso), { include_blank: false, label: Spree.t(:default_country), autocomplete: true, help: Spree.t(:default_country_help) } %>
|
|
18
18
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
>
|
|
12
12
|
<%= turbo_frame_tag spree_dom_id(link), class: 'd-flex align-items-center w-100 py-2 pl-3 pr-2' do %>
|
|
13
13
|
<%= link_to link.label, spree.edit_admin_page_link_path(link), class: 'd-block text-dark flex-fill' %>
|
|
14
|
-
<button class="btn btn-sm pr-0 handle hover-gray
|
|
14
|
+
<button class="btn btn-sm pr-0 handle shadow-none hover-gray-200 px-1">
|
|
15
15
|
<%= icon 'grip-vertical', class: 'mr-0' %>
|
|
16
16
|
</button>
|
|
17
17
|
<% end %>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<p class="text-muted">
|
|
15
15
|
Customers will need to accept these terms of service during signup.
|
|
16
16
|
</p>
|
|
17
|
-
<%= f.spree_rich_text_area :customer_terms_of_service,
|
|
17
|
+
<%= f.spree_rich_text_area :customer_terms_of_service, label: Spree.t(:terms_of_service) %>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
<p class="text-muted">
|
|
27
27
|
Customers will need to accept these privacy policy during signup.
|
|
28
28
|
</p>
|
|
29
|
-
<%= f.spree_rich_text_area :customer_privacy_policy,
|
|
29
|
+
<%= f.spree_rich_text_area :customer_privacy_policy, label: Spree.t(:privacy_policy) %>
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
32
32
|
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
<p class="text-muted">
|
|
39
39
|
Please provide your customers with a clear and transparent returns policy.
|
|
40
40
|
</p>
|
|
41
|
-
<%= f.spree_rich_text_area :customer_returns_policy,
|
|
41
|
+
<%= f.spree_rich_text_area :customer_returns_policy, label: Spree.t(:returns_policy) %>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<p class="text-muted">
|
|
51
51
|
Please provide your customers with a clear and transparent shipping policy.
|
|
52
52
|
</p>
|
|
53
|
-
<%= f.spree_rich_text_area :customer_shipping_policy,
|
|
53
|
+
<%= f.spree_rich_text_area :customer_shipping_policy, label: Spree.t(:shipping_policy) %>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
56
56
|
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<p class="text-muted">
|
|
64
64
|
Vendors you invite will need to accept these terms of service during their onboarding process.
|
|
65
65
|
</p>
|
|
66
|
-
<%= f.spree_rich_text_area :partners_terms_of_service,
|
|
66
|
+
<%= f.spree_rich_text_area :partners_terms_of_service, label: Spree.t(:terms_of_service) %>
|
|
67
67
|
</div>
|
|
68
68
|
</div>
|
|
69
69
|
<% end %>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%= sort_link
|
|
3
|
-
<th scope="col"><%= sort_link
|
|
2
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
3
|
+
<th scope="col"><%= sort_link @search, :tax_code, Spree.t(:tax_code) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:description) %></th>
|
|
5
5
|
<th scope="col"><%= Spree.t(:default) %></th>
|
|
6
6
|
<th scope="col"></th>
|
|
@@ -1,8 +1,8 @@
|
|
|
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(:tax_category) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:zone) %></th>
|
|
5
|
-
<th scope="col"><%= sort_link
|
|
5
|
+
<th scope="col"><%= sort_link @search, :amount, Spree.t(:amount) %></th>
|
|
6
6
|
<th scope="col"><%= Spree.t(:included_in_price) %></th>
|
|
7
7
|
<th scope="col"><%= Spree.t(:show_rate_in_label) %></th>
|
|
8
8
|
<th scope="col"></th>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<tr data-hook="listing_taxonomies_header">
|
|
2
2
|
<th class="no-border handel-head"></th>
|
|
3
|
-
<th scope="col"><%= sort_link
|
|
3
|
+
<th scope="col"><%= sort_link @search, :name, Spree.t(:name) %></th>
|
|
4
4
|
<th scope="col"><%= Spree.t(:taxons) %></th>
|
|
5
5
|
<th scope="col"></th>
|
|
6
6
|
</tr>
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
<div class="d-flex flex-column flex-lg-row gap-2">
|
|
3
3
|
<%= render 'spree/admin/shared/filters_search_bar', param: :multi_search, placeholder: Spree.t('admin.users.filters.search_placeholder') %>
|
|
4
4
|
|
|
5
|
+
<%= render "spree/admin/shared/calendar_range_picker",
|
|
6
|
+
date_from_input_name: "q[created_at_gt]",
|
|
7
|
+
date_to_input_name: "q[created_at_lt]",
|
|
8
|
+
date_from_value: params.dig(:q, :created_at_gt),
|
|
9
|
+
date_to_value: params.dig(:q, :created_at_lt) %>
|
|
10
|
+
|
|
5
11
|
<%= render 'spree/admin/shared/filters_button' %>
|
|
6
12
|
</div>
|
|
7
13
|
<div data-dropdown-target="menu" id="table-filter" class="hidden">
|
|
@@ -16,7 +22,7 @@
|
|
|
16
22
|
<div class="form-group">
|
|
17
23
|
<%= f.label :addresses_country_name_eq, Spree.t(:location) %>
|
|
18
24
|
<%= tom_select_tag "q[addresses_country_name_eq]",
|
|
19
|
-
active_option: params
|
|
25
|
+
active_option: params.dig(:q, :addresses_country_name_eq),
|
|
20
26
|
options: Spree::Country.all.to_tom_select_json,
|
|
21
27
|
value_field: :name,
|
|
22
28
|
select_class: "w-100",
|
|
@@ -27,7 +33,7 @@
|
|
|
27
33
|
<div class="form-group">
|
|
28
34
|
<%= f.label :tags_name_in, Spree.t(:tags) %>
|
|
29
35
|
<%= tom_select_tag "q[tags_name_in]",
|
|
30
|
-
active_option: params
|
|
36
|
+
active_option: params.dig(:q, :tags_name_in),
|
|
31
37
|
options: user_tags_json_array,
|
|
32
38
|
multiple: true,
|
|
33
39
|
value_field: :name,
|
|
@@ -39,7 +45,7 @@
|
|
|
39
45
|
<div class="form-group">
|
|
40
46
|
<%= f.label :accepts_email_marketing_eq, Spree.t(:accepts_email_marketing) %>
|
|
41
47
|
<%= f.select :accepts_email_marketing_eq,
|
|
42
|
-
options_for_select([["Yes", true], ["No", false]], params
|
|
48
|
+
options_for_select([["Yes", true], ["No", false]], params.dig(:q, :accepts_email_marketing_eq)),
|
|
43
49
|
{ include_blank: true },
|
|
44
50
|
{ class: "custom-select", data: { filters_target: :input } } %>
|
|
45
51
|
</div>
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
</div>
|
|
64
64
|
<% end %>
|
|
65
65
|
</div>
|
|
66
|
-
<%= render "spree/admin/shared/index_table_options", collection: @collection
|
|
66
|
+
<%= render "spree/admin/shared/index_table_options", collection: @collection %>
|
|
67
67
|
<% else %>
|
|
68
68
|
<%= render "spree/admin/shared/no_resource_found" %>
|
|
69
69
|
<% end %>
|
data/config/importmap.rb
CHANGED
|
@@ -27,7 +27,6 @@ pin 'hotkeys-js', preload: ['application-spree-admin'] # @3.13.9
|
|
|
27
27
|
pin 'stimulus-use', preload: ['application-spree-admin'] # @0.51.3
|
|
28
28
|
pin 'stimulus-checkbox-select-all', preload: ['application-spree-admin'] # @5.3.0
|
|
29
29
|
pin 'stimulus-clipboard', preload: ['application-spree-admin'] # @4.0.1
|
|
30
|
-
pin "@stimulus-components/dropdown", to: "@stimulus-components--dropdown.js", preload: ['application-spree-admin'] # @3.0.0
|
|
31
30
|
pin "@stimulus-components/dialog", to: "@stimulus-components--dialog.js", preload: ['application-spree-admin'] # @1.0.1
|
|
32
31
|
|
|
33
32
|
# We can't vendor some of the javascript libraries
|
data/config/locales/en.yml
CHANGED
|
@@ -67,6 +67,7 @@ en:
|
|
|
67
67
|
back_end: Only on admin panel
|
|
68
68
|
both: On both admin panel & storefront
|
|
69
69
|
front_end: Only on storefront
|
|
70
|
+
documentation: Documentation
|
|
70
71
|
edit_billing_address: Edit billing address
|
|
71
72
|
edit_contact_information: Edit contact information
|
|
72
73
|
edit_profile: Edit Profile
|
|
@@ -228,6 +229,7 @@ en:
|
|
|
228
229
|
shipment_transfer:
|
|
229
230
|
wrong_destination: Wrong destination
|
|
230
231
|
show_json: Show JSON
|
|
232
|
+
slack: Slack
|
|
231
233
|
stock_transfers:
|
|
232
234
|
add_products_tip: You need to select a destination location first
|
|
233
235
|
store_credit:
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
|
|
3
|
+
module Spree
|
|
4
|
+
module Admin
|
|
5
|
+
module Generators
|
|
6
|
+
class DeviseGenerator < Rails::Generators::Base
|
|
7
|
+
desc 'Installs Spree Admin Devise controllers'
|
|
8
|
+
|
|
9
|
+
def install
|
|
10
|
+
# add devise routes
|
|
11
|
+
insert_into_file 'config/routes.rb', after: "Rails.application.routes.draw do\n" do
|
|
12
|
+
<<-ROUTES.strip_heredoc.indent!(2)
|
|
13
|
+
Spree::Core::Engine.add_routes do
|
|
14
|
+
# Admin authentication
|
|
15
|
+
devise_for(
|
|
16
|
+
Spree.admin_user_class.model_name.singular_route_key,
|
|
17
|
+
class_name: Spree.admin_user_class.to_s,
|
|
18
|
+
controllers: {
|
|
19
|
+
sessions: 'spree/admin/user_sessions',
|
|
20
|
+
passwords: 'spree/admin/user_passwords'
|
|
21
|
+
},
|
|
22
|
+
skip: :registrations,
|
|
23
|
+
path: :admin_user,
|
|
24
|
+
router_name: :spree
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
ROUTES
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%%= search_form_for [:admin,
|
|
1
|
+
<%%= search_form_for [:admin, @search], class: "filter-wrap", data: { controller: "filters dropdown" } 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
|
<%%= render 'spree/admin/shared/filters_button' %>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<tr>
|
|
2
|
-
<th scope="col"><%%= sort_link
|
|
3
|
-
<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
4
|
<th scope="col"></th>
|
|
5
5
|
</tr>
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_admin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.2.0.
|
|
4
|
+
version: 5.2.0.rc3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vendo Connect Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-11-
|
|
11
|
+
date: 2025-11-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: spree_core
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 5.2.0.
|
|
19
|
+
version: 5.2.0.rc3
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 5.2.0.
|
|
26
|
+
version: 5.2.0.rc3
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: spree_api
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 5.2.0.
|
|
33
|
+
version: 5.2.0.rc3
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 5.2.0.
|
|
40
|
+
version: 5.2.0.rc3
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: active_link_to
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -448,6 +448,7 @@ files:
|
|
|
448
448
|
- app/javascript/spree/admin/controllers/codemirror_controller.js
|
|
449
449
|
- app/javascript/spree/admin/controllers/color_palette_controller.js
|
|
450
450
|
- app/javascript/spree/admin/controllers/color_picker_controller.js
|
|
451
|
+
- app/javascript/spree/admin/controllers/dropdown_controller.js
|
|
451
452
|
- app/javascript/spree/admin/controllers/filters_controller.js
|
|
452
453
|
- app/javascript/spree/admin/controllers/font_picker_controller.js
|
|
453
454
|
- app/javascript/spree/admin/controllers/highlight_controller.js
|
|
@@ -1192,6 +1193,7 @@ files:
|
|
|
1192
1193
|
- config/initializers/ransack.rb
|
|
1193
1194
|
- config/locales/en.yml
|
|
1194
1195
|
- config/routes.rb
|
|
1196
|
+
- lib/generators/spree/admin/devise/devise_generator.rb
|
|
1195
1197
|
- lib/generators/spree/admin/install/install_generator.rb
|
|
1196
1198
|
- lib/generators/spree/admin/install/templates/dev
|
|
1197
1199
|
- lib/generators/spree/admin/scaffold/scaffold_generator.rb
|
|
@@ -1240,7 +1242,6 @@ files:
|
|
|
1240
1242
|
- vendor/javascript/@rails--actiontext@7.2.201.js
|
|
1241
1243
|
- vendor/javascript/@simonwep--pickr.js
|
|
1242
1244
|
- vendor/javascript/@stimulus-components--dialog.js
|
|
1243
|
-
- vendor/javascript/@stimulus-components--dropdown.js
|
|
1244
1245
|
- vendor/javascript/@stimulus-components--rails-nested-form.js
|
|
1245
1246
|
- vendor/javascript/bootstrap--dist--js--bootstrap.bundle.min.js.js
|
|
1246
1247
|
- vendor/javascript/codemirror.js
|
|
@@ -1266,9 +1267,9 @@ licenses:
|
|
|
1266
1267
|
- AGPL-3.0-or-later
|
|
1267
1268
|
metadata:
|
|
1268
1269
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
1269
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v5.2.0.
|
|
1270
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v5.2.0.rc3
|
|
1270
1271
|
documentation_uri: https://docs.spreecommerce.org/
|
|
1271
|
-
source_code_uri: https://github.com/spree/spree/tree/v5.2.0.
|
|
1272
|
+
source_code_uri: https://github.com/spree/spree/tree/v5.2.0.rc3
|
|
1272
1273
|
post_install_message:
|
|
1273
1274
|
rdoc_options: []
|
|
1274
1275
|
require_paths:
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @stimulus-components/dropdown@3.0.0 downloaded from https://ga.jspm.io/npm:@stimulus-components/dropdown@3.0.0/dist/stimulus-dropdown.mjs
|
|
2
|
-
|
|
3
|
-
import{Controller as t}from"@hotwired/stimulus";import{useTransition as e}from"stimulus-use";const s=class _Dropdown extends t{connect(){e(this,{element:this.menuTarget})}toggle(){this.toggleTransition()}hide(t){!this.element.contains(t.target)&&!this.menuTarget.classList.contains("hidden")&&this.leave()}};s.targets=["menu"];let i=s;export{i as default};
|
|
4
|
-
|