spree_admin 5.1.0.beta3 → 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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/spree/admin/components/_badges.scss +4 -0
  3. data/app/assets/stylesheets/spree/admin/components/_buttons.scss +13 -2
  4. data/app/assets/stylesheets/spree/admin/components/_filters.scss +8 -1
  5. data/app/assets/stylesheets/spree/admin/components/_main.scss +14 -2
  6. data/app/assets/stylesheets/spree/admin/components/_media_form.scss +1 -1
  7. data/app/assets/stylesheets/spree/admin/components/_modals.scss +3 -1
  8. data/app/assets/stylesheets/spree/admin/components/_navbar.scss +1 -1
  9. data/app/assets/stylesheets/spree/admin/components/_tables.scss +6 -10
  10. data/app/assets/stylesheets/spree/admin/components/_variants_form.scss +1 -1
  11. data/app/assets/stylesheets/spree/admin/global/_variables.scss +13 -8
  12. data/app/assets/stylesheets/spree/admin/shared/_base.scss +5 -0
  13. data/app/controllers/concerns/spree/admin/order_breadcrumb_concern.rb +12 -0
  14. data/app/controllers/spree/admin/gift_card_batches_controller.rb +23 -0
  15. data/app/controllers/spree/admin/gift_cards_controller.rb +94 -0
  16. data/app/controllers/spree/admin/orders_controller.rb +20 -5
  17. data/app/controllers/spree/admin/payments_controller.rb +3 -0
  18. data/app/controllers/spree/admin/products_controller.rb +3 -3
  19. data/app/controllers/spree/admin/refunds_controller.rb +4 -0
  20. data/app/controllers/spree/admin/reimbursements_controller.rb +5 -1
  21. data/app/controllers/spree/admin/resource_controller.rb +12 -1
  22. data/app/controllers/spree/admin/search_controller.rb +22 -0
  23. data/app/controllers/spree/admin/store_credits_controller.rb +8 -5
  24. data/app/helpers/spree/admin/base_helper.rb +55 -0
  25. data/app/helpers/spree/admin/navigation_helper.rb +2 -2
  26. data/app/helpers/spree/admin/payments_helper.rb +0 -5
  27. data/app/helpers/spree/admin/products_helper.rb +1 -1
  28. data/app/helpers/spree/admin/promotion_rules_helper.rb +13 -1
  29. data/app/helpers/spree/admin/shipment_helper.rb +2 -0
  30. data/app/javascript/spree/admin/application.js +2 -0
  31. data/app/javascript/spree/admin/controllers/active_storage_upload_controller.js +2 -11
  32. data/app/javascript/spree/admin/controllers/multi_tom_select_controller.js +3 -2
  33. data/app/javascript/spree/admin/controllers/return_items_controller.js +6 -1
  34. data/app/javascript/spree/admin/controllers/sticky_controller.js +24 -0
  35. data/app/javascript/spree/admin/controllers/variants_form_controller.js +23 -17
  36. data/app/javascript/spree/admin/helpers/uppy_active_storage.js +15 -3
  37. data/app/views/active_storage/_upload_form.html.erb +3 -3
  38. data/app/views/spree/admin/coupon_codes/_coupon_code.html.erb +2 -6
  39. data/app/views/spree/admin/coupon_codes/index.csv.erb +1 -1
  40. data/app/views/spree/admin/custom_domains/edit.html.erb +2 -3
  41. data/app/views/spree/admin/custom_domains/new.html.erb +2 -3
  42. data/app/views/spree/admin/dashboard/_setup_progress.html.erb +2 -3
  43. data/app/views/spree/admin/dashboard/_store_preview.html.erb +3 -9
  44. data/app/views/spree/admin/gift_card_batches/_form.html.erb +30 -0
  45. data/app/views/spree/admin/gift_card_batches/new.html.erb +15 -0
  46. data/app/views/spree/admin/gift_cards/_filters.html.erb +43 -0
  47. data/app/views/spree/admin/gift_cards/_form.html.erb +30 -0
  48. data/app/views/spree/admin/gift_cards/_gift_card.html.erb +28 -0
  49. data/app/views/spree/admin/gift_cards/_list.html.erb +24 -0
  50. data/app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb +25 -0
  51. data/app/views/spree/admin/gift_cards/edit.html.erb +20 -0
  52. data/app/views/spree/admin/gift_cards/index.csv.erb +22 -0
  53. data/app/views/spree/admin/gift_cards/index.html.erb +41 -0
  54. data/app/views/spree/admin/gift_cards/new.html.erb +30 -0
  55. data/app/views/spree/admin/gift_cards/show.html.erb +199 -0
  56. data/app/views/spree/admin/integrations/new.html.erb +7 -4
  57. data/app/views/spree/admin/oauth_applications/edit.html.erb +2 -3
  58. data/app/views/spree/admin/oauth_applications/new.html.erb +2 -3
  59. data/app/views/spree/admin/orders/_customer.html.erb +5 -2
  60. data/app/views/spree/admin/orders/_payments.html.erb +1 -1
  61. data/app/views/spree/admin/orders/_return_authorizations.html.erb +3 -1
  62. data/app/views/spree/admin/orders/_shipment.html.erb +1 -1
  63. data/app/views/spree/admin/orders/_shipments.html.erb +1 -1
  64. data/app/views/spree/admin/orders/return_authorizations/_form.html.erb +13 -11
  65. data/app/views/spree/admin/page_sections/forms/_featured_posts.html.erb +0 -5
  66. data/app/views/spree/admin/pages/_form.html.erb +20 -26
  67. data/app/views/spree/admin/pages/new.html.erb +10 -4
  68. data/app/views/spree/admin/payments/_payment.html.erb +14 -9
  69. data/app/views/spree/admin/payments/new.html.erb +1 -1
  70. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +1 -1
  71. data/app/views/spree/admin/post_categories/edit.html.erb +2 -3
  72. data/app/views/spree/admin/post_categories/new.html.erb +2 -3
  73. data/app/views/spree/admin/preferences/_password_field.html.erb +2 -2
  74. data/app/views/spree/admin/products/edit.html.erb +2 -2
  75. data/app/views/spree/admin/promotion_actions/_promotion_action.html.erb +1 -1
  76. data/app/views/spree/admin/promotion_actions/edit.html.erb +2 -2
  77. data/app/views/spree/admin/promotion_rules/_promotion_rule.html.erb +26 -9
  78. data/app/views/spree/admin/promotion_rules/edit.html.erb +2 -2
  79. data/app/views/spree/admin/promotion_rules/forms/_option_value.html.erb +1 -1
  80. data/app/views/spree/admin/promotions/_actions.html.erb +2 -2
  81. data/app/views/spree/admin/promotions/_rules.html.erb +2 -2
  82. data/app/views/spree/admin/promotions/_sidebar.html.erb +5 -13
  83. data/app/views/spree/admin/properties/edit.html.erb +9 -5
  84. data/app/views/spree/admin/properties/new.html.erb +9 -5
  85. data/app/views/spree/admin/refunds/new.html.erb +5 -2
  86. data/app/views/spree/admin/reimbursement_types/edit.html.erb +2 -3
  87. data/app/views/spree/admin/reimbursement_types/new.html.erb +2 -4
  88. data/app/views/spree/admin/shared/_content_header.html.erb +9 -4
  89. data/app/views/spree/admin/shared/_edit_resource_links.html.erb +3 -1
  90. data/app/views/spree/admin/shared/_header.html.erb +2 -2
  91. data/app/views/spree/admin/shared/_index_table_options.html.erb +1 -1
  92. data/app/views/spree/admin/shared/_preferences.html.erb +1 -0
  93. data/app/views/spree/admin/shared/_sidebar.html.erb +1 -1
  94. data/app/views/spree/admin/shared/_user.html.erb +2 -7
  95. data/app/views/spree/admin/shared/named_types/_edit.html.erb +2 -3
  96. data/app/views/spree/admin/shared/named_types/_new.html.erb +2 -3
  97. data/app/views/spree/admin/shared/sidebar/_orders_nav.html.erb +1 -1
  98. data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +1 -1
  99. data/app/views/spree/admin/shipping_categories/edit.html.erb +7 -4
  100. data/app/views/spree/admin/shipping_categories/new.html.erb +7 -6
  101. data/app/views/spree/admin/shipping_methods/form/_display.html.erb +23 -1
  102. data/app/views/spree/admin/stock_locations/_form.html.erb +35 -51
  103. data/app/views/spree/admin/stock_locations/edit.html.erb +8 -3
  104. data/app/views/spree/admin/stock_locations/new.html.erb +8 -5
  105. data/app/views/spree/admin/store_credit_events/_store_credit_event.html.erb +29 -0
  106. data/app/views/spree/admin/store_credits/_form.html.erb +13 -21
  107. data/app/views/spree/admin/store_credits/_list.html.erb +4 -24
  108. data/app/views/spree/admin/store_credits/_store_credit.html.erb +11 -0
  109. data/app/views/spree/admin/store_credits/edit.html.erb +16 -31
  110. data/app/views/spree/admin/store_credits/new.html.erb +14 -12
  111. data/app/views/spree/admin/store_credits/show.html.erb +145 -0
  112. data/app/views/spree/admin/stores/form/_basic.html.erb +26 -10
  113. data/app/views/spree/admin/tax_categories/_form.html.erb +1 -1
  114. data/app/views/spree/admin/tax_categories/edit.html.erb +7 -4
  115. data/app/views/spree/admin/tax_categories/new.html.erb +7 -4
  116. data/app/views/spree/admin/tax_rates/_form.html.erb +34 -32
  117. data/app/views/spree/admin/tax_rates/edit.html.erb +7 -4
  118. data/app/views/spree/admin/tax_rates/new.html.erb +7 -7
  119. data/app/views/spree/admin/taxonomies/edit.html.erb +2 -4
  120. data/app/views/spree/admin/taxonomies/new.html.erb +2 -2
  121. data/app/views/spree/admin/translations/edit.html.erb +2 -2
  122. data/app/views/spree/admin/translations/stores/_form.html.erb +2 -0
  123. data/app/views/spree/admin/users/_details.html.erb +1 -0
  124. data/app/views/spree/admin/users/index.html.erb +1 -1
  125. data/app/views/spree/admin/users/new.html.erb +9 -5
  126. data/app/views/spree/admin/users/show.html.erb +3 -3
  127. data/app/views/spree/admin/variants/form/_inventory.html.erb +1 -1
  128. data/app/views/spree/admin/zones/_form.html.erb +36 -40
  129. data/app/views/spree/admin/zones/edit.html.erb +7 -5
  130. data/app/views/spree/admin/zones/new.html.erb +7 -4
  131. data/config/locales/en.yml +12 -1
  132. data/config/routes.rb +8 -2
  133. metadata +28 -8
@@ -3,9 +3,12 @@
3
3
  <%= Spree.t(:new_tax_category) %>
4
4
  <% end %>
5
5
 
6
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @tax_category } %>
7
-
8
6
  <%= form_for [:admin, @tax_category] do |f| %>
9
- <%= render 'form', f: f %>
10
- <%= render 'spree/admin/shared/new_resource_links' %>
7
+ <div class="row">
8
+ <div class="col-lg-6 offset-lg-3">
9
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @tax_category } %>
10
+ <%= render 'form', f: f %>
11
+ <%= render 'spree/admin/shared/new_resource_links' %>
12
+ </div>
13
+ </div>
11
14
  <% end %>
@@ -6,40 +6,42 @@
6
6
  </div>
7
7
 
8
8
  <div class="card-body">
9
- <div class="row">
10
- <div class="col-12 col-lg-6">
11
- <div class="form-group">
12
- <%= f.label :name, Spree.t(:name) %>
13
- <%= f.text_field :name, class: 'form-control', required: true, autofocus: f.object.new_record? %>
14
- <%= f.error_message_on :name %>
15
- </div>
16
- <div class="form-group">
17
- <%= f.label :amount, Spree.t(:rate) %>
18
- <%= f.number_field :amount, class: 'form-control', min: 0, step: 0.0001, required: true %>
19
- <%= f.error_message_on :amount %>
20
- <small class="form-text text-muted">
21
- <%= Spree.t(:tax_rate_amount_explanation) %>
22
- </small>
23
- </div>
24
- <div class="custom-control custom-checkbox mb-3">
25
- <%= f.check_box :included_in_price, class: 'custom-control-input' %>
26
- <%= f.label :included_in_price, class: 'custom-control-label' %>
27
- </div>
9
+ <div class="form-group">
10
+ <%= f.label :name, Spree.t(:name) %>
11
+ <%= f.text_field :name, class: 'form-control', required: true, autofocus: f.object.new_record? %>
12
+ <%= f.error_message_on :name %>
13
+ </div>
14
+ <div class="form-group">
15
+ <%= f.label :amount, Spree.t(:rate) %>
16
+ <%= f.number_field :amount, class: 'form-control', min: 0, step: 0.0001, required: true %>
17
+ <%= f.error_message_on :amount %>
18
+ <small class="form-text text-muted">
19
+ <%= Spree.t(:tax_rate_amount_explanation) %>
20
+ </small>
21
+ </div>
22
+
23
+ <div class="form-group">
24
+ <%= f.label :zone_id, Spree.t(:zone) %>
25
+ <%= f.collection_select(:zone_id, @available_zones, :id, :name, {}, { class: 'custom-select' }) %>
26
+ </div>
27
+ <div class="form-group">
28
+ <%= f.label :tax_category_id, Spree.t(:tax_category) %>
29
+ <%= f.collection_select(:tax_category_id, @available_categories,:id, :name, {}, { class: 'custom-select' }) %>
30
+ </div>
31
+
32
+ <hr class="my-4" />
33
+
34
+ <div class="form-group">
35
+ <div class="custom-control custom-checkbox">
36
+ <%= f.check_box :included_in_price, class: 'custom-control-input' %>
37
+ <%= f.label :included_in_price, class: 'custom-control-label' %>
28
38
  </div>
39
+ </div>
29
40
 
30
- <div class="col-12 col-lg-6">
31
- <div class="form-group">
32
- <%= f.label :zone_id, Spree.t(:zone) %>
33
- <%= f.collection_select(:zone_id, @available_zones, :id, :name, {}, { class: 'custom-select' }) %>
34
- </div>
35
- <div class="form-group">
36
- <%= f.label :tax_category_id, Spree.t(:tax_category) %>
37
- <%= f.collection_select(:tax_category_id, @available_categories,:id, :name, {}, { class: 'custom-select' }) %>
38
- </div>
39
- <div class="custom-control custom-checkbox">
40
- <%= f.check_box :show_rate_in_label, class: 'custom-control-input' %>
41
- <%= f.label :show_rate_in_label, class: 'custom-control-label' %>
42
- </div>
41
+ <div class="form-group">
42
+ <div class="custom-control custom-checkbox">
43
+ <%= f.check_box :show_rate_in_label, class: 'custom-control-input' %>
44
+ <%= f.label :show_rate_in_label, class: 'custom-control-label' %>
43
45
  </div>
44
46
  </div>
45
47
  </div>
@@ -3,9 +3,12 @@
3
3
  <%= @tax_rate.name %>
4
4
  <% end %>
5
5
 
6
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @tax_rate } %>
7
-
8
6
  <%= form_for [:admin, @tax_rate] do |f| %>
9
- <%= render 'form', f: f %>
10
- <%= render 'spree/admin/shared/edit_resource_links', f: f %>
7
+ <div class="row">
8
+ <div class="col-lg-6 offset-lg-3">
9
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @tax_rate } %>
10
+ <%= render 'form', f: f %>
11
+ <%= render 'spree/admin/shared/edit_resource_links', f: f %>
12
+ </div>
13
+ </div>
11
14
  <% end %>
@@ -3,12 +3,12 @@
3
3
  <%= Spree.t(:new_tax_rate) %>
4
4
  <% end %>
5
5
 
6
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @tax_rate } %>
7
-
8
6
  <%= form_for [:admin, @tax_rate] do |f| %>
9
- <fieldset>
10
- <%= render 'form', f: f %>
11
-
12
- <%= render 'spree/admin/shared/new_resource_links' %>
13
- </fieldset>
7
+ <div class="row">
8
+ <div class="col-lg-6 offset-lg-3">
9
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @tax_rate } %>
10
+ <%= render 'form', f: f %>
11
+ <%= render 'spree/admin/shared/new_resource_links' %>
12
+ </div>
13
+ </div>
14
14
  <% end %>
@@ -7,14 +7,12 @@
7
7
  <%= link_to_edit_translations(@taxonomy) %>
8
8
  <% end %>
9
9
 
10
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxonomy } %>
11
-
12
10
  <div class="row">
13
- <div class="col-lg-6">
11
+ <div class="col-lg-6 offset-lg-3">
14
12
  <%= form_for [:admin, @taxonomy] do |f| %>
13
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxonomy } %>
15
14
  <div class="card mb-4">
16
15
  <div class="card-body">
17
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxonomy } %>
18
16
  <div class="form-group">
19
17
  <%= f.label :name, raw(Spree.t(:name) + required_span_tag) %>
20
18
  <%= f.text_field :name, class: 'form-control' %>
@@ -2,11 +2,11 @@
2
2
  <%= page_header_back_button spree.admin_taxonomies_path %>
3
3
  <%= Spree.t(:new_taxonomy) %>
4
4
  <% end %>
5
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxonomy } %>
6
5
 
7
6
  <div class="row">
8
- <div class="col-lg-6">
7
+ <div class="col-lg-6 offset-lg-3">
9
8
  <%= form_for [:admin, @taxonomy] do |f| %>
9
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxonomy } %>
10
10
  <div class="card mb-4">
11
11
  <div class="card-body">
12
12
  <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxonomy } %>
@@ -1,6 +1,6 @@
1
1
  <% content_for :page_title do %>
2
2
  <%= page_header_back_button @back_path %>
3
- <span class="mr-3"><%= Spree.t(:translations_for, resource_name: @resource_name) %></span>
3
+ <span class="mr-3"><%= Spree.t(:translations_for, resource_name: @resource.try(:name)) %></span>
4
4
  <% end %>
5
5
  <% if @locales.any?%>
6
6
  <% if @locales.many? %>
@@ -18,7 +18,7 @@
18
18
  <thead>
19
19
  <tr>
20
20
  <th scope="col" class="text-center"><%= Spree.t(:field) %></th>
21
- <th scope="col" class="text-center" style="width: 40%;"><%= Spree.t('i18n.this_file_language', locale: :en) %> (<%= Spree.t(:default) %>)</th>
21
+ <th scope="col" class="text-center" style="width: 40%;"><%= Spree.t('i18n.this_file_language', locale: @default_locale) %> (<%= Spree.t(:default) %>)</th>
22
22
  <th scope="col" class="text-center"><%= Spree.t('i18n.this_file_language', locale: @selected_translation_locale) %></th>
23
23
  </tr>
24
24
  </thead>
@@ -14,6 +14,8 @@
14
14
  <div class="trix-container mb-0">
15
15
  <%= rich_text_area_tag "translation[#{field}][#{translation_locale}]", resource.get_field_with_locale(translation_locale, field), { contenteditable: !readonly } %>
16
16
  </div>
17
+ <% when :address %>
18
+ <%= text_area_tag "translation[#{field}][#{translation_locale}]", resource.get_field_with_locale(translation_locale, field), class: 'form-control', readonly: readonly, data: { controller: 'textarea-autogrow'} %>
17
19
  <% else %>
18
20
  <%= text_field_tag "translation[#{field}][#{translation_locale}]", resource.get_field_with_locale(translation_locale, field), class: 'form-control', readonly: readonly %>
19
21
  <% end %>
@@ -12,6 +12,7 @@
12
12
  <%= Spree.t(:email) %>
13
13
  <span>
14
14
  <%= @user.email %>
15
+ <%= clipboard_component(@user.email) %>
15
16
  </span>
16
17
  </li>
17
18
  <li class="list-group-item d-flex justify-content-between align-items-center">
@@ -10,7 +10,7 @@
10
10
 
11
11
  <%= render 'extra_actions' %>
12
12
 
13
- <%= link_to_with_icon 'plus', Spree.t(:create_customer), spree.new_admin_user_path, class: "btn btn-primary" if can? :create, Spree::user_class %>
13
+ <%= link_to_with_icon 'plus', Spree.t(:new_customer), spree.new_admin_user_path, class: "btn btn-primary" if can? :create, Spree::user_class %>
14
14
  <% end %>
15
15
 
16
16
  <div class="card-lg">
@@ -4,11 +4,15 @@
4
4
  <% end %>
5
5
 
6
6
  <%= form_for [:admin, @user], url: spree.admin_users_path, method: :post do |f| %>
7
- <div class="card mb-4">
8
- <div class="card-body">
9
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @user } %>
10
- <%= render 'form', f: f %>
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: @user } %>
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,15 +1,15 @@
1
1
  <% content_for :page_title do %>
2
2
  <%= page_header_back_button spree.admin_users_path, @user %>
3
3
  <%= customer_full_name(@user) || @user.email %>
4
- <span class="font-size-base font-weight-normal ml-3">
4
+ <span class="font-size-base font-weight-normal">
5
5
  <%= customer_location_flag(@user) %>
6
6
  <%= customer_location(@user) %>
7
7
  </span>
8
8
  <% end %>
9
9
 
10
10
  <% content_for(:page_actions_dropdown) do %>
11
- <% if spree.respond_to?(:new_admin_user_gift_card_path) && can?(:create, Spree::GiftCard) %>
12
- <%= link_to_with_icon 'plus', Spree.t(:issue_gift_card), spree.new_admin_user_gift_card_path(@user), class: 'text-left dropdown-item' %>
11
+ <% if can?(:create, Spree::GiftCard) %>
12
+ <%= link_to_with_icon 'plus', Spree.t(:add_gift_card), spree.new_admin_user_gift_card_path(@user), class: 'text-left dropdown-item' %>
13
13
  <% end %>
14
14
 
15
15
  <% if can?(:create, Spree::StoreCredit) %>
@@ -38,7 +38,7 @@
38
38
  <% end %>
39
39
  </tbody>
40
40
  </table>
41
- <div class="card-footer border-toptext-center bg-gray-25 text-muted">
41
+ <div class="card-footer border-top text-center bg-gray-25 text-muted">
42
42
  <%= Spree.t('admin.variants_form.stock_locations_link', link: spree.admin_stock_locations_path).html_safe %>
43
43
  </div>
44
44
  </div>
@@ -1,48 +1,44 @@
1
- <div class="row">
2
- <div class="col-12 col-lg-6">
3
- <div class="card mb-4">
4
- <div class="card-header">
5
- <h5 class="card-title"><%= Spree.t(:general_settings) %></h5>
6
- </div>
1
+ <div class="card mb-4">
2
+ <div class="card-header">
3
+ <h5 class="card-title"><%= Spree.t(:general_settings) %></h5>
4
+ </div>
7
5
 
8
- <div class="card-body">
9
- <div class="form-group">
10
- <%= zone_form.label :name, Spree.t(:name) %>
11
- <%= zone_form.text_field :name, class: 'form-control' %>
12
- <%= zone_form.error_message_on :name %>
13
- </div>
6
+ <div class="card-body">
7
+ <div class="form-group">
8
+ <%= zone_form.label :name, Spree.t(:name) %>
9
+ <%= zone_form.text_field :name, class: 'form-control' %>
10
+ <%= zone_form.error_message_on :name %>
11
+ </div>
14
12
 
15
- <div class="form-group">
16
- <%= zone_form.label :description, Spree.t(:description) %>
17
- <%= zone_form.text_field :description, class: 'form-control' %>
18
- </div>
13
+ <div class="form-group">
14
+ <%= zone_form.label :description, Spree.t(:description) %>
15
+ <%= zone_form.text_field :description, class: 'form-control' %>
16
+ </div>
19
17
 
20
- <div class="form-group">
21
- <div class="custom-control custom-checkbox">
22
- <%= zone_form.check_box :default_tax, class: 'custom-control-input' %>
23
- <%= zone_form.label :default_tax, Spree.t(:default_tax_zone), class: 'custom-control-label' %>
24
- </div>
25
- </div>
18
+ <div class="form-group">
19
+ <div class="custom-control custom-checkbox">
20
+ <%= zone_form.check_box :default_tax, class: 'custom-control-input' %>
21
+ <%= zone_form.label :default_tax, Spree.t(:default_tax_zone), class: 'custom-control-label' %>
22
+ </div>
23
+ </div>
26
24
 
27
- <div class="form-group">
28
- <strong><%= Spree.t(:type) %></strong>
29
- <div class="custom-control custom-radio my-2">
30
- <%= zone_form.radio_button :kind, :country, id: 'country_based', class: 'custom-control-input', data: { action: 'auto-submit#submit' } %>
31
- <%= label_tag :country_based, Spree.t(:country_based), class: 'custom-control-label' %>
32
- </div>
33
- <div class="custom-control custom-radio my-2">
34
- <%= zone_form.radio_button :kind, :state, id: 'state_based', class: 'custom-control-input', data: { action: 'auto-submit#submit' } %>
35
- <%= label_tag :state_based, Spree.t(:state_based), class: 'custom-control-label' %>
36
- </div>
37
- </div>
25
+ <div class="form-group">
26
+ <strong><%= Spree.t(:type) %></strong>
27
+ <div class="custom-control custom-radio my-2">
28
+ <%= zone_form.radio_button :kind, :country, id: 'country_based', class: 'custom-control-input', data: { action: 'auto-submit#submit' } %>
29
+ <%= label_tag :country_based, Spree.t(:country_based), class: 'custom-control-label' %>
30
+ </div>
31
+ <div class="custom-control custom-radio my-2">
32
+ <%= zone_form.radio_button :kind, :state, id: 'state_based', class: 'custom-control-input', data: { action: 'auto-submit#submit' } %>
33
+ <%= label_tag :state_based, Spree.t(:state_based), class: 'custom-control-label' %>
38
34
  </div>
39
35
  </div>
40
36
  </div>
41
- <div class="col-12 col-lg-6">
42
- <% if @zone.country? %>
43
- <%= render partial: 'country_members', locals: { zone_form: zone_form } %>
44
- <% else %>
45
- <%= render partial: 'state_members', locals: { zone_form: zone_form } %>
46
- <% end %>
47
- </div>
48
37
  </div>
38
+
39
+ <% if @zone.country? %>
40
+ <%= render partial: 'country_members', locals: { zone_form: zone_form } %>
41
+ <% else %>
42
+ <%= render partial: 'state_members', locals: { zone_form: zone_form } %>
43
+ <% end %>
44
+
@@ -3,10 +3,12 @@
3
3
  <%= @zone.name %>
4
4
  <% end %>
5
5
 
6
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @zone } %>
7
-
8
6
  <%= form_for [:admin, @zone], data: {controller: 'auto-submit'} do |f| %>
9
- <%= render 'form', zone_form: f %>
10
-
11
- <%= render 'spree/admin/shared/edit_resource_links', f: f %>
7
+ <div class="row">
8
+ <div class="col-lg-6 offset-lg-3">
9
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @zone } %>
10
+ <%= render 'form', zone_form: f %>
11
+ <%= render 'spree/admin/shared/edit_resource_links', f: f %>
12
+ </div>
13
+ </div>
12
14
  <% end %>
@@ -3,9 +3,12 @@
3
3
  <%= Spree.t(:new_market) %>
4
4
  <% end %>
5
5
 
6
- <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @zone } %>
7
-
8
6
  <%= form_for [:admin, @zone], data: {controller: 'auto-submit'} do |zone_form| %>
9
- <%= render partial: 'form', locals: { zone_form: zone_form } %>
10
- <%= render 'spree/admin/shared/new_resource_links' %>
7
+ <div class="row">
8
+ <div class="col-lg-6 offset-lg-3">
9
+ <%= render partial: 'spree/admin/shared/error_messages', locals: { target: @zone } %>
10
+ <%= render partial: 'form', locals: { zone_form: zone_form } %>
11
+ <%= render 'spree/admin/shared/new_resource_links' %>
12
+ </div>
13
+ </div>
11
14
  <% end %>
@@ -77,6 +77,17 @@ en:
77
77
  export_only_filtered_records: Export only filtered records, matching the search criteria
78
78
  filters: Filters
79
79
  getting_started: Getting started
80
+ gift_card_batches:
81
+ codes_count: Codes count
82
+ new_gift_card_batch: New Gift Card Batch
83
+ prefix: Prefix
84
+ gift_cards:
85
+ active: Active
86
+ all: All
87
+ all_statuses: All statuses
88
+ code_help_text: If you leave it blank, we will generate code for you
89
+ redeemed: Redeemed
90
+ usage: Usage
80
91
  integrations:
81
92
  invalid_integration_type: This integration is not allowed
82
93
  page_subtitle: Connect your store to third-party services to enhance customer experience.
@@ -144,7 +155,6 @@ en:
144
155
  maximum_products_to_show: Maximum products to show
145
156
  nav_centered: Nav centered
146
157
  not_set: Not set
147
- posts_to_show: Posts to show
148
158
  separated: Separated
149
159
  show_more_button: Show explore category button
150
160
  show_taxon_image: Show taxon image
@@ -184,6 +194,7 @@ en:
184
194
  choose_stores: Choose which stores this product should be available in
185
195
  variants:
186
196
  option_types_link: To add more option types please go to <a href="%{link}">Option Types</a>
197
+ recommended_size: Recommended size
187
198
  report_created: Your report is being generated. You will receive an email with a download link when it is ready!
188
199
  reset_digital_link_download_limits: Reset download limits
189
200
  response_code: Response Code
data/config/routes.rb CHANGED
@@ -54,7 +54,7 @@ Spree::Core::Engine.add_routes do
54
54
 
55
55
  # orders
56
56
  resources :checkouts, only: %i[index]
57
- resources :orders, only: [:index, :edit, :create] do
57
+ resources :orders, only: [:index, :edit, :create, :destroy] do
58
58
  member do
59
59
  post :resend
60
60
  put :cancel
@@ -97,6 +97,7 @@ Spree::Core::Engine.add_routes do
97
97
  resources :store_credits
98
98
  resources :orders, only: [:index]
99
99
  resources :checkouts, only: [:index]
100
+ resources :gift_cards
100
101
 
101
102
  collection do
102
103
  get :bulk_modal
@@ -116,7 +117,12 @@ Spree::Core::Engine.add_routes do
116
117
  resources :promotion_rules, as: :rules, except: [:index, :show]
117
118
  resources :coupon_codes, only: :index
118
119
  end
119
- get 'promotion_rules/option_values_search', defaults: { format: :json }
120
+ get 'search/option_values', defaults: { format: :json }, to: 'search#option_values'
121
+
122
+ # gift cards
123
+ resources :gift_cards
124
+ # gift card batches
125
+ resources :gift_card_batches, only: [:new, :create]
120
126
 
121
127
  # returns
122
128
  resources :return_authorizations, only: [:index, :destroy] do
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.1.0.beta3
4
+ version: 5.1.0.rc1
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-05-29 00:00:00.000000000 Z
11
+ date: 2025-07-02 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.1.0.beta3
19
+ version: 5.1.0.rc1
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.1.0.beta3
26
+ version: 5.1.0.rc1
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.1.0.beta3
33
+ version: 5.1.0.rc1
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.1.0.beta3
40
+ version: 5.1.0.rc1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: active_link_to
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -328,6 +328,7 @@ files:
328
328
  - app/controllers/concerns/spree/admin/analytics_concern.rb
329
329
  - app/controllers/concerns/spree/admin/breadcrumb_concern.rb
330
330
  - app/controllers/concerns/spree/admin/bulk_operations_concern.rb
331
+ - app/controllers/concerns/spree/admin/order_breadcrumb_concern.rb
331
332
  - app/controllers/concerns/spree/admin/order_concern.rb
332
333
  - app/controllers/concerns/spree/admin/page_builder_concern.rb
333
334
  - app/controllers/concerns/spree/admin/preferences_concern.rb
@@ -348,6 +349,8 @@ files:
348
349
  - app/controllers/spree/admin/digital_assets_controller.rb
349
350
  - app/controllers/spree/admin/errors_controller.rb
350
351
  - app/controllers/spree/admin/exports_controller.rb
352
+ - app/controllers/spree/admin/gift_card_batches_controller.rb
353
+ - app/controllers/spree/admin/gift_cards_controller.rb
351
354
  - app/controllers/spree/admin/integrations_controller.rb
352
355
  - app/controllers/spree/admin/invitations_controller.rb
353
356
  - app/controllers/spree/admin/line_items_controller.rb
@@ -387,6 +390,7 @@ files:
387
390
  - app/controllers/spree/admin/return_items_controller.rb
388
391
  - app/controllers/spree/admin/role_users_controller.rb
389
392
  - app/controllers/spree/admin/roles_controller.rb
393
+ - app/controllers/spree/admin/search_controller.rb
390
394
  - app/controllers/spree/admin/shipments_controller.rb
391
395
  - app/controllers/spree/admin/shipping_categories_controller.rb
392
396
  - app/controllers/spree/admin/shipping_methods_controller.rb
@@ -476,6 +480,7 @@ files:
476
480
  - app/javascript/spree/admin/controllers/seo_form_controller.js
477
481
  - app/javascript/spree/admin/controllers/slug_form_controller.js
478
482
  - app/javascript/spree/admin/controllers/sortable_tree_controller.js
483
+ - app/javascript/spree/admin/controllers/sticky_controller.js
479
484
  - app/javascript/spree/admin/controllers/stock_transfer_controller.js
480
485
  - app/javascript/spree/admin/controllers/store_form_controller.js
481
486
  - app/javascript/spree/admin/controllers/unit_system_controller.js
@@ -558,6 +563,18 @@ files:
558
563
  - app/views/spree/admin/exports/create.turbo_stream.erb
559
564
  - app/views/spree/admin/exports/index.html.erb
560
565
  - app/views/spree/admin/exports/new.html.erb
566
+ - app/views/spree/admin/gift_card_batches/_form.html.erb
567
+ - app/views/spree/admin/gift_card_batches/new.html.erb
568
+ - app/views/spree/admin/gift_cards/_filters.html.erb
569
+ - app/views/spree/admin/gift_cards/_form.html.erb
570
+ - app/views/spree/admin/gift_cards/_gift_card.html.erb
571
+ - app/views/spree/admin/gift_cards/_list.html.erb
572
+ - app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb
573
+ - app/views/spree/admin/gift_cards/edit.html.erb
574
+ - app/views/spree/admin/gift_cards/index.csv.erb
575
+ - app/views/spree/admin/gift_cards/index.html.erb
576
+ - app/views/spree/admin/gift_cards/new.html.erb
577
+ - app/views/spree/admin/gift_cards/show.html.erb
561
578
  - app/views/spree/admin/integrations/_integration.html.erb
562
579
  - app/views/spree/admin/integrations/edit.html.erb
563
580
  - app/views/spree/admin/integrations/index.html.erb
@@ -972,11 +989,14 @@ files:
972
989
  - app/views/spree/admin/store_credit_categories/edit.html.erb
973
990
  - app/views/spree/admin/store_credit_categories/index.html.erb
974
991
  - app/views/spree/admin/store_credit_categories/new.html.erb
992
+ - app/views/spree/admin/store_credit_events/_store_credit_event.html.erb
975
993
  - app/views/spree/admin/store_credits/_form.html.erb
976
994
  - app/views/spree/admin/store_credits/_list.html.erb
995
+ - app/views/spree/admin/store_credits/_store_credit.html.erb
977
996
  - app/views/spree/admin/store_credits/edit.html.erb
978
997
  - app/views/spree/admin/store_credits/index.html.erb
979
998
  - app/views/spree/admin/store_credits/new.html.erb
999
+ - app/views/spree/admin/store_credits/show.html.erb
980
1000
  - app/views/spree/admin/storefront/edit.html.erb
981
1001
  - app/views/spree/admin/stores/create.turbo_stream.erb
982
1002
  - app/views/spree/admin/stores/edit.html.erb
@@ -1118,9 +1138,9 @@ licenses:
1118
1138
  - AGPL-3.0-or-later
1119
1139
  metadata:
1120
1140
  bug_tracker_uri: https://github.com/spree/spree/issues
1121
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.1.0.beta3
1141
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.1.0.rc1
1122
1142
  documentation_uri: https://docs.spreecommerce.org/
1123
- source_code_uri: https://github.com/spree/spree/tree/v5.1.0.beta3
1143
+ source_code_uri: https://github.com/spree/spree/tree/v5.1.0.rc1
1124
1144
  post_install_message:
1125
1145
  rdoc_options: []
1126
1146
  require_paths: