spree_backend 4.2.0.rc4 → 4.2.0.rc5

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 (97) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend/admin.js +4 -7
  3. data/app/assets/stylesheets/spree/backend/shared/_base.scss +4 -0
  4. data/app/controllers/spree/admin/base_controller.rb +1 -0
  5. data/app/controllers/spree/admin/images_controller.rb +3 -3
  6. data/app/controllers/spree/admin/orders/customer_details_controller.rb +1 -1
  7. data/app/controllers/spree/admin/prices_controller.rb +0 -13
  8. data/app/controllers/spree/admin/stores_controller.rb +0 -14
  9. data/app/helpers/spree/admin/base_helper.rb +46 -0
  10. data/app/views/kaminari/admin-twitter-bootstrap-4/_first_page.html.erb +2 -2
  11. data/app/views/kaminari/admin-twitter-bootstrap-4/_gap.html.erb +2 -2
  12. data/app/views/kaminari/admin-twitter-bootstrap-4/_last_page.html.erb +2 -2
  13. data/app/views/kaminari/admin-twitter-bootstrap-4/_next_page.html.erb +2 -2
  14. data/app/views/kaminari/admin-twitter-bootstrap-4/_page.html.erb +2 -2
  15. data/app/views/kaminari/admin-twitter-bootstrap-4/_paginator.html.erb +2 -2
  16. data/app/views/kaminari/admin-twitter-bootstrap-4/_prev_page.html.erb +2 -2
  17. data/app/views/spree/admin/adjustments/index.html.erb +2 -2
  18. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +48 -48
  19. data/app/views/spree/admin/customer_returns/edit.html.erb +1 -1
  20. data/app/views/spree/admin/general_settings/edit.html.erb +3 -3
  21. data/app/views/spree/admin/images/edit.html.erb +1 -1
  22. data/app/views/spree/admin/log_entries/index.html.erb +1 -1
  23. data/app/views/spree/admin/option_types/index.html.erb +1 -1
  24. data/app/views/spree/admin/orders/_adjustments.html.erb +2 -2
  25. data/app/views/spree/admin/orders/_form.html.erb +6 -10
  26. data/app/views/spree/admin/orders/_line_items.html.erb +1 -1
  27. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +5 -8
  28. data/app/views/spree/admin/orders/_order_actions.html.erb +1 -2
  29. data/app/views/spree/admin/orders/_risk_analysis.html.erb +3 -3
  30. data/app/views/spree/admin/orders/_shipment.html.erb +0 -1
  31. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +1 -1
  32. data/app/views/spree/admin/orders/cart.html.erb +1 -1
  33. data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -1
  34. data/app/views/spree/admin/orders/edit.html.erb +1 -1
  35. data/app/views/spree/admin/orders/index.html.erb +2 -0
  36. data/app/views/spree/admin/payment_methods/index.html.erb +1 -1
  37. data/app/views/spree/admin/payments/_form.html.erb +2 -3
  38. data/app/views/spree/admin/payments/show.html.erb +1 -2
  39. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +2 -2
  40. data/app/views/spree/admin/prices/_variant_prices.html.erb +5 -5
  41. data/app/views/spree/admin/prices/index.html.erb +2 -2
  42. data/app/views/spree/admin/product_properties/index.html.erb +3 -4
  43. data/app/views/spree/admin/products/_form.html.erb +5 -6
  44. data/app/views/spree/admin/products/new.html.erb +3 -1
  45. data/app/views/spree/admin/products/stock.html.erb +2 -2
  46. data/app/views/spree/admin/promotions/_actions.html.erb +2 -3
  47. data/app/views/spree/admin/promotions/_form.html.erb +6 -6
  48. data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
  49. data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +1 -1
  50. data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +1 -1
  51. data/app/views/spree/admin/promotions/index.html.erb +7 -5
  52. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +1 -1
  53. data/app/views/spree/admin/prototypes/_form.html.erb +1 -1
  54. data/app/views/spree/admin/prototypes/show.html.erb +1 -1
  55. data/app/views/spree/admin/refunds/edit.html.erb +2 -2
  56. data/app/views/spree/admin/refunds/new.html.erb +2 -2
  57. data/app/views/spree/admin/reimbursements/edit.html.erb +1 -2
  58. data/app/views/spree/admin/roles/index.html.erb +1 -1
  59. data/app/views/spree/admin/shared/_account_nav.html.erb +2 -2
  60. data/app/views/spree/admin/shared/_address_form.html.erb +2 -2
  61. data/app/views/spree/admin/shared/_error_messages.html.erb +1 -1
  62. data/app/views/spree/admin/shared/_head.html.erb +2 -2
  63. data/app/views/spree/admin/shared/_header.html.erb +0 -2
  64. data/app/views/spree/admin/shared/_main_menu.html.erb +1 -1
  65. data/app/views/spree/admin/shared/_refunds.html.erb +1 -1
  66. data/app/views/spree/admin/shared/_report_order_criteria.html.erb +4 -2
  67. data/app/views/spree/admin/shared/_translations.html.erb +9 -38
  68. data/app/views/spree/admin/shipping_categories/index.html.erb +2 -2
  69. data/app/views/spree/admin/shipping_methods/index.html.erb +2 -2
  70. data/app/views/spree/admin/states/index.html.erb +2 -2
  71. data/app/views/spree/admin/stock_locations/_form.html.erb +1 -1
  72. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +1 -1
  73. data/app/views/spree/admin/stock_locations/index.html.erb +4 -4
  74. data/app/views/spree/admin/stock_movements/_form.html.erb +1 -1
  75. data/app/views/spree/admin/stock_movements/index.html.erb +2 -2
  76. data/app/views/spree/admin/stock_transfers/new.html.erb +1 -1
  77. data/app/views/spree/admin/stock_transfers/show.html.erb +0 -1
  78. data/app/views/spree/admin/stores/_form.html.erb +12 -12
  79. data/app/views/spree/admin/tax_categories/index.html.erb +2 -2
  80. data/app/views/spree/admin/tax_rates/index.html.erb +6 -6
  81. data/app/views/spree/admin/taxonomies/_js_head.html.erb +1 -2
  82. data/app/views/spree/admin/taxonomies/_list.html.erb +1 -1
  83. data/app/views/spree/admin/taxons/_form.html.erb +1 -2
  84. data/app/views/spree/admin/taxons/_taxon_table.html.erb +2 -2
  85. data/app/views/spree/admin/users/_form.html.erb +0 -1
  86. data/app/views/spree/admin/users/edit.html.erb +1 -1
  87. data/app/views/spree/admin/users/index.html.erb +2 -2
  88. data/app/views/spree/admin/users/items.html.erb +1 -1
  89. data/app/views/spree/admin/variants/_form.html.erb +3 -1
  90. data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
  91. data/app/views/spree/admin/zones/_form.html.erb +2 -2
  92. data/app/views/spree/admin/zones/new.html.erb +1 -1
  93. data/app/views/spree/layouts/admin.html.erb +2 -3
  94. data/config/initializers/assets.rb +1 -1
  95. data/spree_backend.gemspec +1 -1
  96. metadata +10 -11
  97. data/app/assets/javascripts/spree/backend/flatpickr_locals.js +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8121bf0a1967bf78b87f0e260a572238140c19948c991f8684693472b69ec15
4
- data.tar.gz: a740ec1df8fdfb18fa8558487dc413096332ef08339b4dd374c78d19f06bf458
3
+ metadata.gz: 661c4ea54cb3f641be07d818710678496c47b7c52740291b6ed53083e28fb830
4
+ data.tar.gz: e4eb12865f64f1dd5de03dd5a70548556f588a0646c81776757b6b8d50b0aec8
5
5
  SHA512:
6
- metadata.gz: 1c68a55ff4b579d488d570cf99c49bc082806fb7ef5395cbe6967a38535e4dbd395afdce0929c2916f337086bf979f70e5a5b4fb1f0ac19908d79ebfdd55d2dc
7
- data.tar.gz: 4d7db3cec1602bf2858f15f322294132522f1a55df6f2fffc4482911583720985592a60f068f3d04304b3533a79f7cfbd8da21509773864d71a2590b5861e079
6
+ metadata.gz: a0438029b7fc2caa555ede1118025e7e5a47187052702089f2dc908eb4661c06171a3f421462a2764d93c27f5fc149a5d65882261609d3b2634dd4d058c8b5cc
7
+ data.tar.gz: f5c360a0f0a24849ab80171eddb29b2631ac5cb86fa51299c27710ac14b77a9a0b6078d3f4b40cebab4c167403f58f5303e228f6f3151c88049c615969b6d2ea
@@ -5,9 +5,6 @@ Hopefully, this will evolve into a propper class.
5
5
  **/
6
6
 
7
7
  /* global AUTH_TOKEN, order_number, Sortable, flatpickr, DOMPurify */
8
-
9
- //= require spree/backend/flatpickr_locals
10
-
11
8
  jQuery(function ($) {
12
9
  // Add some tips
13
10
  $('.with-tip').each(function() {
@@ -227,8 +224,8 @@ $.fn.radioControlsVisibilityOfElement = function (dependentElementSelector) {
227
224
 
228
225
  document.addEventListener('DOMContentLoaded', function() {
229
226
  var dateFrom = flatpickr('.datePickerFrom', {
227
+ locale: Spree.translations.flatpickr_locale,
230
228
  time_24hr: true,
231
- dateFormat: Spree.translations.date_picker,
232
229
  monthSelectorType: 'static',
233
230
  onChange: function(selectedDates) {
234
231
  dateTo.set('minDate', selectedDates[0])
@@ -236,18 +233,18 @@ document.addEventListener('DOMContentLoaded', function() {
236
233
  })
237
234
 
238
235
  var dateTo = flatpickr('.datePickerTo', {
236
+ locale: Spree.translations.flatpickr_locale,
239
237
  monthSelectorType: 'static',
240
238
  time_24hr: true,
241
- dateFormat: Spree.translations.date_picker,
242
239
  onChange: function(selectedDates) {
243
240
  dateFrom.set('maxDate', selectedDates[0])
244
241
  }
245
242
  })
246
243
 
247
244
  flatpickr('.datepicker', {
245
+ locale: Spree.translations.flatpickr_locale,
248
246
  monthSelectorType: 'static',
249
- time_24hr: true,
250
- dateFormat: Spree.translations.date_picker
247
+ time_24hr: true
251
248
  })
252
249
  })
253
250
 
@@ -55,3 +55,7 @@
55
55
  .resize-animation-stopper * {
56
56
  transition: none !important;
57
57
  }
58
+
59
+ .button_to {
60
+ display: inline-block;
61
+ }
@@ -2,6 +2,7 @@ module Spree
2
2
  module Admin
3
3
  class BaseController < Spree::BaseController
4
4
  helper 'spree/admin/navigation'
5
+ helper 'spree/locale'
5
6
  layout 'spree/layouts/admin'
6
7
 
7
8
  before_action :authorize_admin
@@ -18,15 +18,15 @@ module Spree
18
18
  end
19
19
 
20
20
  def load_index_data
21
- @product = Product.friendly.includes(*variant_index_includes).find(params[:product_id])
21
+ @product = Product.friendly.preload(*variant_index_includes).find(params[:product_id])
22
22
  end
23
23
 
24
24
  def load_edit_data
25
- @product = Product.friendly.includes(*variant_edit_includes).find(params[:product_id])
25
+ @product = Product.friendly.preload(*variant_edit_includes).find(params[:product_id])
26
26
  @variants = @product.variants.map do |variant|
27
27
  [variant.sku_and_options_text, variant.id]
28
28
  end
29
- @variants.insert(0, [Spree.t(:all), @product.master.id])
29
+ @variants.insert(0, [Spree.t(:all), @product.master_id])
30
30
  end
31
31
 
32
32
  def set_viewable
@@ -11,7 +11,7 @@ module Spree
11
11
  end
12
12
 
13
13
  def edit
14
- country_id = Address.default.country.id
14
+ country_id = Address.default.country_id
15
15
  @order.build_bill_address(country_id: country_id) if @order.bill_address.nil?
16
16
  @order.build_ship_address(country_id: country_id) if @order.ship_address.nil?
17
17
 
@@ -3,8 +3,6 @@ module Spree
3
3
  class PricesController < ResourceController
4
4
  belongs_to 'spree/product', find_by: :slug
5
5
 
6
- helper_method :supported_currencies_for_all_stores
7
-
8
6
  def create
9
7
  params.require(:vp).permit!
10
8
  params[:vp].each do |variant_id, prices|
@@ -23,17 +21,6 @@ module Spree
23
21
  flash[:success] = Spree.t('notice_messages.prices_saved')
24
22
  redirect_to admin_product_path(parent)
25
23
  end
26
-
27
- private
28
-
29
- def supported_currencies_for_all_stores
30
- @supported_currencies_for_all_stores = begin
31
- (
32
- Spree::Store.pluck(:supported_currencies).map { |c| c&.split(',') }.flatten + Spree::Store.pluck(:default_currency)
33
- ).
34
- compact.uniq.map { |code| ::Money::Currency.find(code.strip) }
35
- end
36
- end
37
24
  end
38
25
  end
39
26
  end
@@ -9,8 +9,6 @@ module Spree
9
9
  before_action :load_all_countries, only: [:new, :edit, :update, :create]
10
10
  before_action :load_all_zones, only: %i[new edit]
11
11
 
12
- helper_method :all_locales_options
13
-
14
12
  def index
15
13
  if params[:ids]
16
14
  load_stores_by_ids
@@ -132,18 +130,6 @@ module Spree
132
130
  def set_default_country_id
133
131
  @store.default_country_id = Spree::Config[:default_country_id]
134
132
  end
135
-
136
- def all_locales_options
137
- if defined?(SpreeI18n)
138
- SpreeI18n::Locale.all.map { |locale| locale_presentation(locale) }.push(['English (EN)', :en])
139
- else
140
- [['English (EN)', :en]]
141
- end
142
- end
143
-
144
- def locale_presentation(locale)
145
- [Spree.t('i18n.this_file_language', locale: locale), locale]
146
- end
147
133
  end
148
134
  end
149
135
  end
@@ -1,6 +1,18 @@
1
1
  module Spree
2
2
  module Admin
3
3
  module BaseHelper
4
+ SELECT2_SUPPORTED_LOCALES = %w[
5
+ af ar az bg bn bs ca cs da de dsb el en eo es et eu fa fi fr gl he
6
+ hi hr hsb hu hy id is it ja ka km ko lt lv mk ms nb ne nl pa pl ps
7
+ pt pt-BR ro ru sk sl sq sr sr-Cyrl sv th tk tr uk vi zh-CN zh-TW
8
+ ].freeze
9
+
10
+ FLATPICKR_SUPPORTED_LOCALES = %w[
11
+ ar at az be bg bn bs cs cy da de eo es et fa fi fo fr ga gr he
12
+ hi hr hu id is it ja ka km ko kz lv mk mn ms my nl no pa pl pt ro ru
13
+ si sk sl sq sr sv th tr uk uz vn zh
14
+ ].freeze
15
+
4
16
  def flash_alert(flash)
5
17
  if flash.present?
6
18
  message = flash[:error] || flash[:notice] || flash[:success]
@@ -201,6 +213,40 @@ module Spree
201
213
  class: 'btn-outline-secondary', icon: 'view.svg', id: 'admin_preview_taxon', target: :blank
202
214
  )
203
215
  end
216
+
217
+ def admin_logout_link
218
+ if defined?(admin_logout_path)
219
+ admin_logout_path
220
+ elsif defined?(spree_logout_path)
221
+ spree_logout_path
222
+ end
223
+ end
224
+
225
+ def select2_local_fallback
226
+ stripped_locale = I18n.locale.to_s.split('-').first
227
+
228
+ if ['zh-CN', 'zh-TW', 'sr-Cyrl', 'pt-BR'].include?(I18n.locale.to_s)
229
+ I18n.locale
230
+ elsif SELECT2_SUPPORTED_LOCALES.include? stripped_locale
231
+ stripped_locale
232
+ else
233
+ 'en'
234
+ end
235
+ end
236
+
237
+ def flatpickr_local_fallback
238
+ stripped_locale = I18n.locale.to_s.split('-').first
239
+
240
+ if I18n.locale.to_s == 'zh-TW'
241
+ # Taiwanese is a popular language in Spree,
242
+ # it has been well translated.
243
+ 'zh-tw'
244
+ elsif FLATPICKR_SUPPORTED_LOCALES.include? stripped_locale
245
+ stripped_locale
246
+ else
247
+ 'default'
248
+ end
249
+ end
204
250
  end
205
251
  end
206
252
  end
@@ -4,8 +4,8 @@
4
4
  current_page: a page object for the currently displayed page
5
5
  total_pages: total number of pages
6
6
  per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
7
+ remote: data-remote -%>
8
+
9
9
  <% unless current_page.first? %>
10
10
  <li class="first page-item">
11
11
  <%= link_to_unless current_page.first?, svg_icon(name: "double-chevron-left.svg", width: '13', height: '16', classes: 'spree-icon-arrow-left mb-0'), url, remote: remote, class: 'page-link', 'aria-label': 'First page' %>
@@ -3,8 +3,8 @@
3
3
  current_page: a page object for the currently displayed page
4
4
  total_pages: total number of pages
5
5
  per_page: number of items to fetch per page
6
- remote: data-remote
7
- -%>
6
+ remote: data-remote -%>
7
+
8
8
  <li class="page gap disabled page-item d-none d-lg-flex">
9
9
  <a href="#" onclick="return false;" class="page-link">
10
10
  <%= raw(t 'views.pagination.truncate') %>
@@ -4,8 +4,8 @@
4
4
  current_page: a page object for the currently displayed page
5
5
  total_pages: total number of pages
6
6
  per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
7
+ remote: data-remote -%>
8
+
9
9
  <% unless current_page.last? %>
10
10
  <li class="last next page-item"><%# "next" class present for border styling in twitter bootstrap %>
11
11
  <%= link_to_unless current_page.last?, svg_icon(name: "double-chevron-right.svg", width: '13', height: '16', classes: 'spree-icon-arrow-right mb-0'), url, remote: remote, class: 'page-link', 'aria-label': 'Last page' %>
@@ -4,8 +4,8 @@
4
4
  current_page: a page object for the currently displayed page
5
5
  total_pages: total number of pages
6
6
  per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
7
+ remote: data-remote -%>
8
+
9
9
  <% unless current_page.last? %>
10
10
  <li class="next_page page-item">
11
11
  <%= link_to_unless current_page.last?, svg_icon(name: "chevron-right.svg", width: '13', height: '16', classes: 'spree-icon-arrow-right mb-0'), url, rel: 'next', remote: remote, class: 'page-link', 'aria-label': 'Next page' %>
@@ -5,8 +5,8 @@
5
5
  current_page: a page object for the currently displayed page
6
6
  total_pages: total number of pages
7
7
  per_page: number of items to fetch per page
8
- remote: data-remote
9
- -%>
8
+ remote: data-remote -%>
9
+
10
10
  <li class="page<%= ' active' if page.current? %> page-item">
11
11
  <%= link_to page,
12
12
  url,
@@ -4,8 +4,8 @@
4
4
  total_pages: total number of pages
5
5
  per_page: number of items to fetch per page
6
6
  remote: data-remote
7
- paginator: the paginator that renders the pagination tags inside
8
- -%>
7
+ paginator: the paginator that renders the pagination tags inside -%>
8
+
9
9
  <% pagination_class ||= '' %>
10
10
 
11
11
  <%= paginator.render do %>
@@ -4,8 +4,8 @@
4
4
  current_page: a page object for the currently displayed page
5
5
  total_pages: total number of pages
6
6
  per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
7
+ remote: data-remote -%>
8
+
9
9
  <% unless current_page.first? %>
10
10
  <li class="prev page-item">
11
11
  <%= link_to_unless current_page.first?, svg_icon(name: "chevron-left.svg", width: '13', height: '16', classes: 'spree-icon-arrow-left mb-0'), url, rel: 'prev', remote: remote, class: 'page-link', 'aria-label': 'Previous page' %>
@@ -29,8 +29,8 @@
29
29
  </div>
30
30
  <% end %>
31
31
 
32
- <%= javascript_tag do %>
32
+ <script>
33
33
  var order_number = '<%= @order.number %>';
34
- <% end %>
34
+ </script>
35
35
 
36
36
  <%= render partial: 'spree/admin/shared/order_summary' %>
@@ -1,54 +1,54 @@
1
1
  <div class="table-responsive">
2
- <table class="show return-items-table table table-condensed table-bordered index">
3
- <thead>
4
- <tr>
5
- <th><%= Spree.t(:product) %></th>
6
- <th><%= Spree.t(:sku) %></th>
7
- <th><%= Spree.t(:pre_tax_amount) %></th>
8
- <th><%= Spree.t(:preferred_reimbursement_type) %></th>
9
- <th><%= Spree.t(:exchange_for) %></th>
10
- <th><%= Spree.t(:acceptance_errors) %></th>
11
- <% if show_decision %>
12
- <th></th>
13
- <% end %>
14
- </tr>
15
- </thead>
16
- <tbody>
17
- <% return_items.each do |return_item| %>
2
+ <table class="show return-items-table table table-condensed table-bordered index">
3
+ <thead>
18
4
  <tr>
19
- <td>
20
- <div class="variant-name">
21
- <%= link_to return_item.inventory_unit.variant.name, spree.edit_admin_product_path(return_item.inventory_unit.variant.product) %>
22
- </div>
23
- <div class="variant-options"><%= return_item.inventory_unit.variant.options_text %></div>
24
- </td>
25
- <td>
26
- <%= return_item.inventory_unit.variant.sku %>
27
- </td>
28
- <td>
29
- <%= return_item.display_pre_tax_amount %>
30
- </td>
31
- <td>
32
- <%= reimbursement_type_name(return_item.preferred_reimbursement_type) %>
33
- </td>
34
- <td>
35
- <%= return_item.exchange_variant.try(:exchange_name) %>
36
- </td>
37
- <td>
38
- <%= return_item.acceptance_status_errors %>
39
- </td>
5
+ <th><%= Spree.t(:product) %></th>
6
+ <th><%= Spree.t(:sku) %></th>
7
+ <th><%= Spree.t(:pre_tax_amount) %></th>
8
+ <th><%= Spree.t(:preferred_reimbursement_type) %></th>
9
+ <th><%= Spree.t(:exchange_for) %></th>
10
+ <th><%= Spree.t(:acceptance_errors) %></th>
40
11
  <% if show_decision %>
41
- <td class='actions actions-2'>
42
- <%= button_to [:admin, return_item], { class: 'with-tip display-inline btn btn-success btn-sm', params: { "return_item[acceptance_status]" => 'accepted' }, "data-action" => 'save', title: Spree.t(:accept), method: 'put' } do %>
43
- <%= Spree.t(:accept) %>
44
- <% end if can?(:accept, return_item) %>
45
- <%= button_to [:admin, return_item], { class: 'with-tip display-inline btn btn-danger btn-sm', params: { "return_item[acceptance_status]" => 'rejected' }, "data-action" => 'remove', title: Spree.t(:reject), method: 'put' } do %>
46
- <%= Spree.t(:reject) %>
47
- <% end if can?(:reject, return_item) %>
48
- </td>
12
+ <th></th>
49
13
  <% end %>
50
14
  </tr>
51
- <% end %>
52
- </tbody>
53
- </table>
15
+ </thead>
16
+ <tbody>
17
+ <% return_items.each do |return_item| %>
18
+ <tr>
19
+ <td>
20
+ <div class="variant-name">
21
+ <%= link_to return_item.inventory_unit.variant.name, spree.edit_admin_product_path(return_item.inventory_unit.variant.product) %>
22
+ </div>
23
+ <div class="variant-options"><%= return_item.inventory_unit.variant.options_text %></div>
24
+ </td>
25
+ <td>
26
+ <%= return_item.inventory_unit.variant.sku %>
27
+ </td>
28
+ <td>
29
+ <%= return_item.display_pre_tax_amount %>
30
+ </td>
31
+ <td>
32
+ <%= reimbursement_type_name(return_item.preferred_reimbursement_type) %>
33
+ </td>
34
+ <td>
35
+ <%= return_item.exchange_variant.try(:exchange_name) %>
36
+ </td>
37
+ <td>
38
+ <%= return_item.acceptance_status_errors if return_item.acceptance_status_errors.present? %>
39
+ </td>
40
+ <% if show_decision %>
41
+ <td class='actions actions-2'>
42
+ <%= button_to [:admin, return_item], { class: 'with-tip display-inline btn btn-success btn-sm', params: { "return_item[acceptance_status]" => 'accepted' }, "data-action" => 'save', title: Spree.t(:accept), method: 'put' } do %>
43
+ <%= Spree.t(:accept) %>
44
+ <% end if can?(:accept, return_item) %>
45
+ <%= button_to [:admin, return_item], { class: 'with-tip display-inline btn btn-danger btn-sm', params: { "return_item[acceptance_status]" => 'rejected' }, "data-action" => 'remove', title: Spree.t(:reject), method: 'put' } do %>
46
+ <%= Spree.t(:reject) %>
47
+ <% end if can?(:reject, return_item) %>
48
+ </td>
49
+ <% end %>
50
+ </tr>
51
+ <% end %>
52
+ </tbody>
53
+ </table>
54
54
  </div>
@@ -44,7 +44,7 @@
44
44
  </fieldset>
45
45
 
46
46
  <% if !@customer_return.fully_reimbursed? && @pending_reimbursements.empty? && can?(:create, Spree::Reimbursement) %>
47
- <fieldset data-hook="reimbursements" class="marginb">
47
+ <fieldset data-hook="reimbursements" class="mb-3">
48
48
  <% if @customer_return.completely_decided? %>
49
49
  <%= form_for [:admin, @order, Spree::Reimbursement.new] do |f| %>
50
50
  <%= hidden_field_tag :build_from_customer_return_id, @customer_return.id %>
@@ -39,7 +39,7 @@
39
39
  <%#-------------------------------------------------%>
40
40
  <div class="card mb-3" id="general-settings-cache" data-hook="general_settings_cache">
41
41
  <div class="card-header">
42
- <h1 class="card-title mb-0 h5"><%= Spree.t(:clear_cache)%></h1>
42
+ <h1 class="card-title mb-0 h5"><%= Spree.t(:clear_cache) %></h1>
43
43
  </div>
44
44
 
45
45
  <div class="card-body">
@@ -61,7 +61,7 @@
61
61
  <div class="card mb-3" id="general-settings-currency" data-hook="general_settings_currency">
62
62
  <div class="card-header">
63
63
  <h1 class="card-title mb-0 h5">
64
- <%= Spree.t(:currency_settings)%>
64
+ <%= Spree.t(:currency_settings) %>
65
65
  </h1>
66
66
  </div>
67
67
 
@@ -79,7 +79,7 @@
79
79
  <div class="card mb-3" id="general-settings-stores" data-hook="general_settings_stores">
80
80
  <div class="card-header">
81
81
  <h1 class="card-title mb-0 h5">
82
- <%= Spree.t(:multiple_stores)%>
82
+ <%= Spree.t(:multiple_stores) %>
83
83
  </h1>
84
84
  </div>
85
85
  <div class="card-body">