spree_admin 5.1.0.beta4 → 5.1.0.rc1
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/_badges.scss +4 -0
- data/app/assets/stylesheets/spree/admin/components/_buttons.scss +13 -2
- data/app/assets/stylesheets/spree/admin/components/_filters.scss +8 -1
- data/app/assets/stylesheets/spree/admin/components/_main.scss +13 -1
- data/app/assets/stylesheets/spree/admin/components/_media_form.scss +1 -1
- data/app/assets/stylesheets/spree/admin/components/_modals.scss +3 -1
- data/app/assets/stylesheets/spree/admin/components/_navbar.scss +1 -1
- data/app/assets/stylesheets/spree/admin/components/_tables.scss +6 -10
- data/app/assets/stylesheets/spree/admin/components/_variants_form.scss +1 -1
- data/app/assets/stylesheets/spree/admin/global/_variables.scss +12 -7
- data/app/assets/stylesheets/spree/admin/shared/_base.scss +5 -0
- data/app/controllers/spree/admin/gift_card_batches_controller.rb +23 -0
- data/app/controllers/spree/admin/gift_cards_controller.rb +94 -0
- data/app/controllers/spree/admin/orders_controller.rb +19 -2
- data/app/controllers/spree/admin/payments_controller.rb +3 -0
- data/app/controllers/spree/admin/products_controller.rb +3 -3
- data/app/controllers/spree/admin/reimbursements_controller.rb +5 -1
- data/app/controllers/spree/admin/resource_controller.rb +12 -1
- data/app/controllers/spree/admin/search_controller.rb +22 -0
- data/app/controllers/spree/admin/store_credits_controller.rb +8 -5
- data/app/helpers/spree/admin/base_helper.rb +55 -0
- data/app/helpers/spree/admin/navigation_helper.rb +2 -2
- data/app/helpers/spree/admin/payments_helper.rb +0 -5
- data/app/helpers/spree/admin/products_helper.rb +1 -1
- data/app/helpers/spree/admin/promotion_rules_helper.rb +13 -1
- data/app/helpers/spree/admin/shipment_helper.rb +2 -0
- data/app/javascript/spree/admin/application.js +2 -0
- data/app/javascript/spree/admin/controllers/active_storage_upload_controller.js +2 -11
- data/app/javascript/spree/admin/controllers/return_items_controller.js +6 -1
- data/app/javascript/spree/admin/controllers/sticky_controller.js +24 -0
- data/app/javascript/spree/admin/controllers/variants_form_controller.js +1 -1
- data/app/javascript/spree/admin/helpers/uppy_active_storage.js +15 -3
- data/app/views/active_storage/_upload_form.html.erb +3 -3
- data/app/views/spree/admin/coupon_codes/_coupon_code.html.erb +2 -6
- data/app/views/spree/admin/coupon_codes/index.csv.erb +1 -1
- data/app/views/spree/admin/custom_domains/edit.html.erb +2 -3
- data/app/views/spree/admin/custom_domains/new.html.erb +2 -3
- data/app/views/spree/admin/dashboard/_setup_progress.html.erb +2 -3
- data/app/views/spree/admin/dashboard/_store_preview.html.erb +3 -9
- data/app/views/spree/admin/gift_card_batches/_form.html.erb +30 -0
- data/app/views/spree/admin/gift_card_batches/new.html.erb +15 -0
- data/app/views/spree/admin/gift_cards/_filters.html.erb +43 -0
- data/app/views/spree/admin/gift_cards/_form.html.erb +30 -0
- data/app/views/spree/admin/gift_cards/_gift_card.html.erb +28 -0
- data/app/views/spree/admin/gift_cards/_list.html.erb +24 -0
- data/app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb +25 -0
- data/app/views/spree/admin/gift_cards/edit.html.erb +20 -0
- data/app/views/spree/admin/gift_cards/index.csv.erb +22 -0
- data/app/views/spree/admin/gift_cards/index.html.erb +41 -0
- data/app/views/spree/admin/gift_cards/new.html.erb +30 -0
- data/app/views/spree/admin/gift_cards/show.html.erb +199 -0
- data/app/views/spree/admin/integrations/new.html.erb +7 -4
- data/app/views/spree/admin/oauth_applications/edit.html.erb +2 -3
- data/app/views/spree/admin/oauth_applications/new.html.erb +2 -3
- data/app/views/spree/admin/orders/_customer.html.erb +5 -2
- data/app/views/spree/admin/orders/_payments.html.erb +1 -1
- data/app/views/spree/admin/orders/_return_authorizations.html.erb +3 -1
- data/app/views/spree/admin/orders/_shipment.html.erb +1 -1
- data/app/views/spree/admin/orders/_shipments.html.erb +1 -1
- data/app/views/spree/admin/orders/return_authorizations/_form.html.erb +13 -11
- data/app/views/spree/admin/page_sections/forms/_featured_posts.html.erb +0 -5
- data/app/views/spree/admin/pages/_form.html.erb +20 -26
- data/app/views/spree/admin/pages/new.html.erb +10 -4
- data/app/views/spree/admin/payments/_payment.html.erb +14 -9
- data/app/views/spree/admin/payments/new.html.erb +1 -1
- data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +1 -1
- data/app/views/spree/admin/post_categories/edit.html.erb +2 -3
- data/app/views/spree/admin/post_categories/new.html.erb +2 -3
- data/app/views/spree/admin/products/edit.html.erb +2 -2
- data/app/views/spree/admin/promotion_actions/_promotion_action.html.erb +1 -1
- data/app/views/spree/admin/promotion_actions/edit.html.erb +2 -2
- data/app/views/spree/admin/promotion_rules/_promotion_rule.html.erb +26 -9
- data/app/views/spree/admin/promotion_rules/edit.html.erb +2 -2
- data/app/views/spree/admin/promotion_rules/forms/_option_value.html.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +2 -2
- data/app/views/spree/admin/promotions/_rules.html.erb +2 -2
- data/app/views/spree/admin/promotions/_sidebar.html.erb +5 -13
- data/app/views/spree/admin/properties/edit.html.erb +9 -5
- data/app/views/spree/admin/properties/new.html.erb +9 -5
- data/app/views/spree/admin/refunds/new.html.erb +6 -1
- data/app/views/spree/admin/reimbursement_types/edit.html.erb +2 -3
- data/app/views/spree/admin/reimbursement_types/new.html.erb +2 -4
- data/app/views/spree/admin/shared/_content_header.html.erb +9 -4
- data/app/views/spree/admin/shared/_edit_resource_links.html.erb +3 -1
- data/app/views/spree/admin/shared/_header.html.erb +2 -2
- data/app/views/spree/admin/shared/_index_table_options.html.erb +1 -1
- data/app/views/spree/admin/shared/_preferences.html.erb +1 -0
- data/app/views/spree/admin/shared/_sidebar.html.erb +1 -1
- data/app/views/spree/admin/shared/_user.html.erb +2 -7
- data/app/views/spree/admin/shared/named_types/_edit.html.erb +2 -3
- data/app/views/spree/admin/shared/named_types/_new.html.erb +2 -3
- data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +1 -1
- data/app/views/spree/admin/shipping_categories/edit.html.erb +7 -4
- data/app/views/spree/admin/shipping_categories/new.html.erb +7 -6
- data/app/views/spree/admin/shipping_methods/form/_display.html.erb +23 -1
- data/app/views/spree/admin/stock_locations/_form.html.erb +35 -51
- data/app/views/spree/admin/stock_locations/edit.html.erb +8 -3
- data/app/views/spree/admin/stock_locations/new.html.erb +8 -5
- data/app/views/spree/admin/store_credit_events/_store_credit_event.html.erb +29 -0
- data/app/views/spree/admin/store_credits/_form.html.erb +13 -21
- data/app/views/spree/admin/store_credits/_list.html.erb +4 -24
- data/app/views/spree/admin/store_credits/_store_credit.html.erb +11 -0
- data/app/views/spree/admin/store_credits/edit.html.erb +16 -31
- data/app/views/spree/admin/store_credits/new.html.erb +14 -12
- data/app/views/spree/admin/store_credits/show.html.erb +145 -0
- data/app/views/spree/admin/stores/form/_basic.html.erb +26 -10
- data/app/views/spree/admin/tax_categories/_form.html.erb +1 -1
- data/app/views/spree/admin/tax_categories/edit.html.erb +7 -4
- data/app/views/spree/admin/tax_categories/new.html.erb +7 -4
- data/app/views/spree/admin/tax_rates/_form.html.erb +34 -32
- data/app/views/spree/admin/tax_rates/edit.html.erb +7 -4
- data/app/views/spree/admin/tax_rates/new.html.erb +7 -7
- data/app/views/spree/admin/taxonomies/edit.html.erb +2 -4
- data/app/views/spree/admin/taxonomies/new.html.erb +2 -2
- data/app/views/spree/admin/translations/edit.html.erb +2 -2
- data/app/views/spree/admin/translations/stores/_form.html.erb +2 -0
- data/app/views/spree/admin/users/_details.html.erb +1 -0
- data/app/views/spree/admin/users/index.html.erb +1 -1
- data/app/views/spree/admin/users/new.html.erb +9 -5
- data/app/views/spree/admin/users/show.html.erb +3 -3
- data/app/views/spree/admin/variants/form/_inventory.html.erb +1 -1
- data/app/views/spree/admin/zones/_form.html.erb +36 -40
- data/app/views/spree/admin/zones/edit.html.erb +7 -5
- data/app/views/spree/admin/zones/new.html.erb +7 -4
- data/config/locales/en.yml +12 -1
- data/config/routes.rb +8 -2
- metadata +27 -8
@@ -1,7 +1,7 @@
|
|
1
1
|
<% content_for :page_actions_dropdown do %>
|
2
2
|
<%= link_to_edit_translations(@product) %>
|
3
3
|
<%= link_to_with_icon(
|
4
|
-
"
|
4
|
+
"files",
|
5
5
|
Spree.t(:digital_assets),
|
6
6
|
spree.admin_product_digital_assets_path(@product),
|
7
7
|
class: "dropdown-item",
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
<% if can?(:clone, @product) %>
|
17
17
|
<%= link_to_with_icon(
|
18
|
-
"copy",
|
18
|
+
"copy-check",
|
19
19
|
Spree.t(:clone),
|
20
20
|
spree.clone_admin_product_path(@product),
|
21
21
|
class: "dropdown-item",
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
<% if can?(:update, promotion_action) || can?(:destroy, promotion_action) %>
|
7
7
|
<div class="dropdown">
|
8
|
-
<button class="btn btn-light btn-sm" type="button" data-toggle="dropdown" aria-expanded="false">
|
8
|
+
<button class="btn btn-light btn-sm px-1" type="button" data-toggle="dropdown" aria-expanded="false">
|
9
9
|
<%= icon('dots-vertical', class: 'mr-0') %>
|
10
10
|
</button>
|
11
11
|
<div class="dropdown-menu">
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<%= turbo_frame_tag @promotion_action do %>
|
2
2
|
<%= form_with model: @promotion_action, url: spree.admin_promotion_action_path(@promotion, @promotion_action), method: :put, scope: :promotion_action do |f| %>
|
3
|
-
<div class="card
|
3
|
+
<div class="card" id="<%= spree_dom_id(@promotion_action) %>">
|
4
4
|
<div class="card-header d-flex justify-content-between align-items-center">
|
5
5
|
<h5 class="card-title"><%= @promotion_action.human_name %></h5>
|
6
6
|
</div>
|
7
|
-
<div class="card-body
|
7
|
+
<div class="card-body">
|
8
8
|
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @promotion_action } %>
|
9
9
|
<%= render "spree/admin/promotion_actions/forms/#{@promotion_action.key}", f: f %>
|
10
10
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
<% if can?(:update, promotion_rule) || can?(:destroy, promotion_rule) %>
|
7
7
|
<div class="dropdown">
|
8
|
-
<button class="btn btn-light btn-sm" type="button" data-toggle="dropdown" aria-expanded="false">
|
8
|
+
<button class="btn btn-light btn-sm px-1" type="button" data-toggle="dropdown" aria-expanded="false">
|
9
9
|
<%= icon('dots-vertical', class: 'mr-0') %>
|
10
10
|
</button>
|
11
11
|
<div class="dropdown-menu">
|
@@ -22,30 +22,47 @@
|
|
22
22
|
<%= render 'spree/admin/shared/preferences', object: promotion_rule %>
|
23
23
|
<% end %>
|
24
24
|
|
25
|
+
<% if promotion_rule.respond_to?(:preferred_eligible_values) %>
|
26
|
+
<div class="mt-3">
|
27
|
+
<span><%= Spree.t(:option_values) %>:</span>
|
28
|
+
<div class="d-flex flex-wrap gap-2">
|
29
|
+
<% promotion_rule_option_values(promotion_rule.preferred_eligible_values).each do |value| %>
|
30
|
+
<strong><%= value %></strong>
|
31
|
+
<% end %>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<% end %>
|
35
|
+
|
25
36
|
<% if promotion_rule.respond_to?(:products) %>
|
26
37
|
<div class="mt-3">
|
27
38
|
<span><%= Spree.t(:products) %>:</span>
|
28
|
-
|
39
|
+
<div class="d-flex flex-wrap gap-2">
|
40
|
+
<% promotion_rule.products.pluck(:name).each do |product_name| %>
|
29
41
|
<strong><%= product_name %></strong>
|
30
|
-
|
42
|
+
<% end %>
|
43
|
+
</div>
|
31
44
|
</div>
|
32
45
|
<% end %>
|
33
46
|
|
34
47
|
<% if promotion_rule.respond_to?(:taxons) %>
|
35
48
|
<div class="mt-3">
|
36
49
|
<span><%= Spree.t(:taxons) %>:</span>
|
37
|
-
|
38
|
-
|
39
|
-
|
50
|
+
<div class="d-flex flex-wrap gap-2">
|
51
|
+
<% promotion_rule.taxons.pluck(:pretty_name).each do |taxon_name| %>
|
52
|
+
<strong><%= taxon_name %></strong>
|
53
|
+
<% end %>
|
54
|
+
</div>
|
40
55
|
</div>
|
41
56
|
<% end %>
|
42
57
|
|
43
58
|
<% if promotion_rule.respond_to?(:users) %>
|
44
59
|
<div class="mt-3">
|
45
60
|
<span><%= Spree.t(:users) %>:</span>
|
46
|
-
|
47
|
-
|
48
|
-
|
61
|
+
<div class="d-flex flex-wrap gap-2">
|
62
|
+
<% promotion_rule.users.pluck(:email).each do |user_email| %>
|
63
|
+
<strong><%= user_email %></strong>
|
64
|
+
<% end %>
|
65
|
+
</div>
|
49
66
|
</div>
|
50
67
|
<% end %>
|
51
68
|
</div>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<%= turbo_frame_tag @promotion_rule do %>
|
2
2
|
<%= form_with model: @promotion_rule, url: spree.admin_promotion_rule_path(@promotion, @promotion_rule), method: :put, scope: :promotion_rule do |f| %>
|
3
|
-
<div class="card
|
3
|
+
<div class="card" id="<%= spree_dom_id(@promotion_rule) %>">
|
4
4
|
<div class="card-header d-flex justify-content-between align-items-center">
|
5
5
|
<h5 class="card-title"><%= @promotion_rule.human_name %></h5>
|
6
6
|
</div>
|
7
|
-
<div class="card-body
|
7
|
+
<div class="card-body">
|
8
8
|
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @promotion_rule } %>
|
9
9
|
<%= render "spree/admin/promotion_rules/forms/#{@promotion_rule.key}", f: f %>
|
10
10
|
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="form-group">
|
2
2
|
<%= tom_select_tag "promotion_rule[preferred_eligible_values][]",
|
3
3
|
placeholder: Spree.t(:type_to_search),
|
4
|
-
url: spree.
|
4
|
+
url: spree.admin_search_option_values_path,
|
5
5
|
remote_search: true,
|
6
6
|
remote_search_active_option: active_options_for_option_value_promotion_rule(f.object),
|
7
7
|
multiple: true,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="card mb-4 bg-transparent">
|
2
|
-
<div class="card-header d-flex justify-content-between border-0">
|
2
|
+
<div class="card-header d-flex justify-content-between border-0 px-2">
|
3
3
|
<h5 class="card-title">
|
4
4
|
<%= icon('bolt', class: 'mr-2') %>
|
5
5
|
<%= Spree.t(:promotion_actions) %>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
</span>
|
11
11
|
<% end %>
|
12
12
|
</div>
|
13
|
-
<div class="card-body d-flex flex-column gap-2 px-
|
13
|
+
<div class="card-body d-flex flex-column gap-2 px-2 pt-0 pb-2">
|
14
14
|
<% if @promotion.promotion_actions.empty? %>
|
15
15
|
<div class="text-muted p-5 d-flex align-items-center w-100 justify-content-center">
|
16
16
|
<%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::PromotionAction)) %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="card mb-4 bg-transparent">
|
2
|
-
<div class="card-header d-flex justify-content-between">
|
2
|
+
<div class="card-header d-flex justify-content-between px-2">
|
3
3
|
<h5 class="card-title">
|
4
4
|
<%= icon('checklist', class: 'mr-2') %>
|
5
5
|
<%= Spree.t(:rules) %>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</div>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
|
-
<div class="card-body p-
|
27
|
+
<div class="card-body p-2 d-flex flex-column gap-2">
|
28
28
|
<% if @promotion.promotion_rules.empty? %>
|
29
29
|
<div class="text-muted p-5 d-flex align-items-center w-100 justify-content-center">
|
30
30
|
<%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::PromotionRule)) %>
|
@@ -2,7 +2,6 @@
|
|
2
2
|
<% coupon_codes_count = @promotion.coupon_codes.count %>
|
3
3
|
<% if coupon_codes_count.positive? %>
|
4
4
|
<% used_coupon_codes_count = @promotion.coupon_codes.used.count %>
|
5
|
-
<% remaining_coupon_codes_count = coupon_codes_count - used_coupon_codes_count %>
|
6
5
|
|
7
6
|
<div class="card mb-4">
|
8
7
|
<div class="card-header d-flex justify-content-between">
|
@@ -12,9 +11,7 @@
|
|
12
11
|
<%= link_to_with_icon 'eye', Spree.t(:view), spree.admin_promotion_coupon_codes_path(@promotion), class: 'btn btn-sm btn-light' %>
|
13
12
|
</div>
|
14
13
|
<div class="card-body">
|
15
|
-
|
16
|
-
<div class="progress-bar" role="progressbar" style="width: <%= (used_coupon_codes_count.to_f / coupon_codes_count * 100).round %>%" aria-valuenow="<%= used_coupon_codes_count %>" aria-valuemin="0" aria-valuemax="<%= coupon_codes_count %>"></div>
|
17
|
-
</div>
|
14
|
+
<%= progress_bar_component(used_coupon_codes_count, max: coupon_codes_count) %>
|
18
15
|
</div>
|
19
16
|
<div class="card-footer d-flex justify-content-between">
|
20
17
|
<span class="badge badge-light">
|
@@ -75,16 +72,11 @@
|
|
75
72
|
</li>
|
76
73
|
|
77
74
|
<% if @promotion.code.present? %>
|
78
|
-
<li class="list-group-item d-flex justify-content-between align-items-center py-2"
|
75
|
+
<li class="list-group-item d-flex justify-content-between align-items-center py-2">
|
79
76
|
<span class="text-muted"><%= Spree.t(:coupon_code) %></span>
|
80
77
|
<div class="d-flex align-items-center gap-1">
|
81
|
-
<
|
82
|
-
|
83
|
-
</span>
|
84
|
-
|
85
|
-
<button type="button" class="btn btn-light btn-sm with-tip p-1" data-action="clipboard#copy" title="<%= Spree.t(:copy) %>">
|
86
|
-
<%= icon 'copy', class: 'mr-0' %>
|
87
|
-
</button>
|
78
|
+
<code><%= @promotion.code.upcase %></code>
|
79
|
+
<%= clipboard_component(@promotion.code.upcase) %>
|
88
80
|
</div>
|
89
81
|
</li>
|
90
82
|
<% end %>
|
@@ -121,7 +113,7 @@
|
|
121
113
|
</li>
|
122
114
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
123
115
|
<span class="text-muted">
|
124
|
-
<%=
|
116
|
+
<%= Spree.t(:expires_at) %>
|
125
117
|
</span>
|
126
118
|
<% if @promotion.expires_at %>
|
127
119
|
<span><%= local_time(@promotion.expires_at) %></span>
|
@@ -5,11 +5,15 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
<%= form_for [:admin, @property] do |f| %>
|
8
|
-
<div class="
|
9
|
-
<div class="
|
10
|
-
|
11
|
-
|
8
|
+
<div class="row">
|
9
|
+
<div class="col-lg-6 offset-lg-3">
|
10
|
+
<div class="card mb-4">
|
11
|
+
<div class="card-body">
|
12
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @property } %>
|
13
|
+
<%= render 'form', f: f %>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<%= render 'spree/admin/shared/edit_resource_links', f: f %>
|
12
17
|
</div>
|
13
18
|
</div>
|
14
|
-
<%= render 'spree/admin/shared/edit_resource_links', f: f %>
|
15
19
|
<% end %>
|
@@ -4,11 +4,15 @@
|
|
4
4
|
<% end %>
|
5
5
|
|
6
6
|
<%= form_for [:admin, @property] do |f| %>
|
7
|
-
<div class="
|
8
|
-
<div class="
|
9
|
-
|
10
|
-
|
7
|
+
<div class="row">
|
8
|
+
<div class="col-lg-6 offset-lg-3">
|
9
|
+
<div class="card mb-4">
|
10
|
+
<div class="card-body">
|
11
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @property } %>
|
12
|
+
<%= render 'form', f: f %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<%= render 'spree/admin/shared/new_resource_links' %>
|
11
16
|
</div>
|
12
17
|
</div>
|
13
|
-
<%= render 'spree/admin/shared/new_resource_links' %>
|
14
18
|
<% end %>
|
@@ -1,4 +1,9 @@
|
|
1
|
-
|
1
|
+
<% content_for :page_title do %>
|
2
|
+
<%= page_header_back_button spree.edit_admin_order_path(@order) %>
|
3
|
+
<%= Spree.t(:new_refund) %>
|
4
|
+
<% end %>
|
5
|
+
|
6
|
+
<div class="row">
|
2
7
|
<div class="col-lg-6 offset-lg-3">
|
3
8
|
<%= render 'spree/admin/shared/error_messages', target: @refund %>
|
4
9
|
|
@@ -3,11 +3,10 @@
|
|
3
3
|
<%= @reimbursement_type.name %>
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @reimbursement_type } %>
|
7
|
-
|
8
6
|
<div class="row">
|
9
|
-
<div class="col-lg-6">
|
7
|
+
<div class="col-lg-6 offset-lg-3">
|
10
8
|
<%= form_with model: @reimbursement_type, :url => object_url, :method => :put, scope: :reimbursement_type do |reimbursement_form| %>
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @reimbursement_type } %>
|
11
10
|
<%= render partial: 'form', locals: { f: reimbursement_form } %>
|
12
11
|
<%= render 'spree/admin/shared/edit_resource_links', f: reimbursement_form %>
|
13
12
|
<% end %>
|
@@ -3,12 +3,10 @@
|
|
3
3
|
<%= Spree.t(:new_reimbursement_type) %>
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
|
7
|
-
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @reimbursement_type } %>
|
8
|
-
|
9
6
|
<div class="row">
|
10
|
-
<div class="col-lg-6">
|
7
|
+
<div class="col-lg-6 offset-lg-3">
|
11
8
|
<%= form_for [:admin, @reimbursement_type] do |reimbursement_form| %>
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @reimbursement_type } %>
|
12
10
|
<%= render partial: 'form', locals: { f: reimbursement_form } %>
|
13
11
|
<%= render 'spree/admin/shared/new_resource_links' %>
|
14
12
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% record = @customer_return || @order || @product || @vendor || @user || @taxon || @
|
1
|
+
<% record = @object || @customer_return || @order || @product || @vendor || @user || @taxon || @store_credit %>
|
2
2
|
<% record = nil if @user&.is_a?(Spree.admin_user_class) %>
|
3
3
|
|
4
4
|
<% show_record_subtitle = record && record.persisted? && record.has_attribute?(:updated_at) %>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<% end if show_record_subtitle && !content_for(:page_subtitle) %>
|
8
8
|
|
9
9
|
<% if content_for?(:page_title) %>
|
10
|
-
<header id="page-header" class="container">
|
10
|
+
<header id="page-header" class="container-fluid" data-controller="sticky">
|
11
11
|
<h3 class="page-header-title mb-0 d-flex align-items-center gap-3">
|
12
12
|
<%= yield :page_title %>
|
13
13
|
</h3>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
<div data-controller="clipboard">
|
46
46
|
<%= hidden_field_tag :record_number, record.number, data: { clipboard_target: 'source' } %>
|
47
47
|
<button data-action="clipboard#copy" class="text-left dropdown-item">
|
48
|
-
<%= icon '
|
48
|
+
<%= icon 'copy' %>
|
49
49
|
<%= 'Copy number' %>
|
50
50
|
</button>
|
51
51
|
</div>
|
@@ -53,10 +53,15 @@
|
|
53
53
|
<div data-controller="clipboard">
|
54
54
|
<%= hidden_field_tag :record_id, record.id, data: { clipboard_target: 'source' } %>
|
55
55
|
<button data-action="clipboard#copy" class="text-left dropdown-item">
|
56
|
-
<%= icon '
|
56
|
+
<%= icon 'copy' %>
|
57
57
|
<%= Spree.t(:copy_id) %>
|
58
58
|
</button>
|
59
59
|
</div>
|
60
|
+
|
61
|
+
<% if defined?(object_url) && %w[show edit].include?(action_name) && record.respond_to?(:can_be_deleted?) && record.can_be_deleted? && can?(:destroy, record) %>
|
62
|
+
<div class="dropdown-divider"></div>
|
63
|
+
<%= link_to_with_icon 'trash', Spree.t('actions.destroy'), object_url, class: 'dropdown-item btn-danger', data: { turbo_method: :delete, turbo_confirm: Spree.t(:are_you_sure) } %>
|
64
|
+
<% end %>
|
60
65
|
<% end %>
|
61
66
|
</div>
|
62
67
|
</div>
|
@@ -1,6 +1,8 @@
|
|
1
|
+
<% destroy_url = defined?(destroy_url) && destroy_url ? destroy_url : object_url(f.object) %>
|
2
|
+
|
1
3
|
<div class="form-actions">
|
2
4
|
<%= turbo_save_button_tag Spree.t('actions.update') %>
|
3
5
|
<% if f.object.can_be_deleted? && can?(:delete, f.object) %>
|
4
|
-
<%= link_to Spree.t('actions.destroy'),
|
6
|
+
<%= link_to Spree.t('actions.destroy'), destroy_url, data: { turbo_method: :delete, turbo_confirm: Spree.t(:are_you_sure_delete), turbo_frame: defined?(turbo_frame) ? turbo_frame : '_top' }, class: 'btn btn-danger ml-auto' %>
|
5
7
|
<% end %>
|
6
8
|
</div>
|
@@ -11,8 +11,8 @@
|
|
11
11
|
</div>
|
12
12
|
|
13
13
|
<% if settings_active? %>
|
14
|
-
<div class="store-dropdown
|
15
|
-
<%= active_link_to_with_icon('arrow-
|
14
|
+
<div class="store-dropdown px-2">
|
15
|
+
<%= active_link_to_with_icon('arrow-left', Spree.t('admin.back_to_dashboard'), spree.admin_dashboard_path, class: 'btn store-dropdown-button w-100 justify-content-start mx-1 py-2') %>
|
16
16
|
</div>
|
17
17
|
<% else %>
|
18
18
|
<% if defined?(current_vendor) && current_vendor.present? %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= link_to spree.admin_user_path(user), class: 'rounded
|
1
|
+
<%= link_to spree.admin_user_path(user), class: 'rounded p-2 d-flex justify-content-start align-items-center text-decoration-none hover-light', data: {turbo_frame: :_top, row_link_target: :link} do %>
|
2
2
|
<% if user.name.present? %>
|
3
3
|
<%= render_avatar(user, width: 48, height: 48, class: 'mr-3 avatar') %>
|
4
4
|
<% else %>
|
@@ -13,12 +13,7 @@
|
|
13
13
|
<span class="text-muted with-tip" title="<%= user.email %>">
|
14
14
|
<%= user.email %>
|
15
15
|
</span>
|
16
|
-
|
17
|
-
<%= hidden_field_tag :user_email, user.email, data: { clipboard_target: 'source' } %>
|
18
|
-
<button data-action="clipboard#copy" class="btn btn-sm text-muted with-tip mx-1" title="Copy email">
|
19
|
-
<%= icon 'files', class: 'mr-0' %>
|
20
|
-
</button>
|
21
|
-
</span>
|
16
|
+
<%= clipboard_component(user.email) %>
|
22
17
|
<% end %>
|
23
18
|
</div>
|
24
19
|
<% end %>
|
@@ -3,11 +3,10 @@
|
|
3
3
|
<%= @object.name %>
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @object } %>
|
7
|
-
|
8
6
|
<div class="row">
|
9
|
-
<div class="col-lg-6">
|
7
|
+
<div class="col-lg-6 offset-lg-3">
|
10
8
|
<%= form_for [:admin, @object] do |f| %>
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @object } %>
|
11
10
|
<%= render partial: 'spree/admin/shared/named_types/form', locals: { f: f } %>
|
12
11
|
<%= render 'spree/admin/shared/edit_resource_links', f: f %>
|
13
12
|
<% end %>
|
@@ -3,11 +3,10 @@
|
|
3
3
|
<%= page_title %>
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @object } %>
|
7
|
-
|
8
6
|
<div class="row">
|
9
|
-
<div class="col-lg-6">
|
7
|
+
<div class="col-lg-6 offset-lg-3">
|
10
8
|
<%= form_for [:admin, @object] do |f| %>
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @object } %>
|
11
10
|
<%= render partial: 'spree/admin/shared/named_types/form', locals: { f: f } %>
|
12
11
|
<%= render 'spree/admin/shared/new_resource_links' %>
|
13
12
|
<% end %>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<div class="d-flex align-items-center px-3 ml-3">
|
30
30
|
<%= link_to_edit(taxon, url: spree.edit_admin_taxonomy_taxon_path(taxonomy, taxon.id), data: { row_link_target: :link }) if can?(:edit, taxon) %>
|
31
31
|
|
32
|
-
<div class="dropdown
|
32
|
+
<div class="dropdown h-100">
|
33
33
|
<button class="btn btn-light btn-sm px-1 h-100" type="button" id="dropdownMenuButton-<%= taxon.id %>" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
34
34
|
<%= icon('dots-vertical', class: 'mr-0') %>
|
35
35
|
</button>
|
@@ -3,9 +3,12 @@
|
|
3
3
|
<%= @shipping_category.name %>
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @shipping_category } %>
|
7
|
-
|
8
6
|
<%= form_for [:admin, @shipping_category] do |f| %>
|
9
|
-
|
10
|
-
|
7
|
+
<div class="row">
|
8
|
+
<div class="col-lg-6 offset-lg-3">
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @shipping_category } %>
|
10
|
+
<%= render 'form', f: f %>
|
11
|
+
<%= render 'spree/admin/shared/edit_resource_links', f: f %>
|
12
|
+
</div>
|
13
|
+
</div>
|
11
14
|
<% end %>
|
@@ -3,11 +3,12 @@
|
|
3
3
|
<%= Spree.t(:new_shipping_category) %>
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @shipping_category } %>
|
7
|
-
|
8
6
|
<%= form_for [:admin, @shipping_category] do |f| %>
|
9
|
-
<
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
<div class="row">
|
8
|
+
<div class="col-lg-6 offset-lg-3">
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @shipping_category } %>
|
10
|
+
<%= render partial: 'form', locals: { f: f } %>
|
11
|
+
<%= render partial: 'spree/admin/shared/new_resource_links' %>
|
12
|
+
</div>
|
13
|
+
</div>
|
13
14
|
<% end %>
|
@@ -21,5 +21,27 @@
|
|
21
21
|
</div>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
|
+
|
25
|
+
<div class="row">
|
26
|
+
<div class="col-lg-6">
|
27
|
+
<div class="form-group">
|
28
|
+
<%= f.label :admin_name, Spree.t(:internal_name) %>
|
29
|
+
<%= f.text_field :admin_name, class: 'form-control' %>
|
30
|
+
<%= f.error_message_on :admin_name %>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<p class="form-text text-muted small mt-2">
|
34
|
+
This will be displayed to admins.
|
35
|
+
</p>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<div class="col-lg-6">
|
39
|
+
<div class="form-group">
|
40
|
+
<%= f.label :code, Spree.t(:code) %>
|
41
|
+
<%= f.text_field :code, class: 'form-control' %>
|
42
|
+
<%= f.error_message_on :code %>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
</div>
|
24
46
|
</div>
|
25
|
-
</div>
|
47
|
+
</div>
|
@@ -1,56 +1,40 @@
|
|
1
|
-
<div class="
|
2
|
-
<div class="
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
</div>
|
23
|
-
</div>
|
1
|
+
<div class="card mb-4">
|
2
|
+
<div class="card-header">
|
3
|
+
<h5 class="card-title">
|
4
|
+
<%= Spree.t(:general_settings) %>
|
5
|
+
</h5>
|
6
|
+
</div>
|
7
|
+
<div class="card-body" >
|
8
|
+
<div class="form-group">
|
9
|
+
<%= f.label :name, raw(Spree.t(:name) + required_span_tag) %>
|
10
|
+
<%= f.text_field :name, class: 'form-control', required: true, autofocus: f.object.new_record? %>
|
11
|
+
<%= f.error_message_on :name %>
|
12
|
+
</div>
|
13
|
+
<div class="form-group">
|
14
|
+
<%= f.label :admin_name, Spree.t(:internal_name) %>
|
15
|
+
<%= f.text_field :admin_name, class: 'form-control', label: false %>
|
16
|
+
</div>
|
17
|
+
<% unless f.object.default? %>
|
18
|
+
<div class="form-group">
|
19
|
+
<div class="custom-control custom-checkbox">
|
20
|
+
<%= f.check_box :active, class: 'custom-control-input' %>
|
21
|
+
<%= f.label :active, class: 'custom-control-label' %>
|
24
22
|
</div>
|
25
|
-
<% unless f.object.default? %>
|
26
|
-
<div class="row mt-3">
|
27
|
-
<div class="col-12">
|
28
|
-
<div class="form-group">
|
29
|
-
<div class="custom-control custom-checkbox">
|
30
|
-
<%= f.check_box :active, class: 'custom-control-input' %>
|
31
|
-
<%= f.label :active, class: 'custom-control-label' %>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
</div>
|
35
|
-
</div>
|
36
|
-
<% end %>
|
37
23
|
</div>
|
38
|
-
|
24
|
+
<% end %>
|
39
25
|
</div>
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
</div>
|
54
|
-
</div>
|
26
|
+
</div>
|
27
|
+
<div class="card mb-4">
|
28
|
+
<div class="card-header">
|
29
|
+
<h5 class="card-title">
|
30
|
+
<%= Spree.t(:address) %>
|
31
|
+
</h5>
|
32
|
+
</div>
|
33
|
+
<div class="card-body pb-0">
|
34
|
+
<%= render 'spree/addresses/form',
|
35
|
+
address_name: 'address',
|
36
|
+
address_form: f,
|
37
|
+
address_type: 'stock_location',
|
38
|
+
address: f.object %>
|
55
39
|
</div>
|
56
40
|
</div>
|
@@ -2,8 +2,13 @@
|
|
2
2
|
<%= page_header_back_button spree.admin_stock_locations_path %>
|
3
3
|
<%= @stock_location.name %>
|
4
4
|
<% end %>
|
5
|
-
|
5
|
+
|
6
6
|
<%= form_for [:admin, @stock_location] do |f| %>
|
7
|
-
|
8
|
-
|
7
|
+
<div class="row">
|
8
|
+
<div class="col-lg-6 offset-lg-3">
|
9
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @stock_location } %>
|
10
|
+
<%= render 'form', f: f %>
|
11
|
+
<%= render 'spree/admin/shared/edit_resource_links', f: f %>
|
12
|
+
</div>
|
13
|
+
</div>
|
9
14
|
<% end %>
|