spree_backend 4.2.0.rc4 → 4.2.0.rc5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/backend/admin.js +4 -7
- data/app/assets/stylesheets/spree/backend/shared/_base.scss +4 -0
- data/app/controllers/spree/admin/base_controller.rb +1 -0
- data/app/controllers/spree/admin/images_controller.rb +3 -3
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +1 -1
- data/app/controllers/spree/admin/prices_controller.rb +0 -13
- data/app/controllers/spree/admin/stores_controller.rb +0 -14
- data/app/helpers/spree/admin/base_helper.rb +46 -0
- data/app/views/kaminari/admin-twitter-bootstrap-4/_first_page.html.erb +2 -2
- data/app/views/kaminari/admin-twitter-bootstrap-4/_gap.html.erb +2 -2
- data/app/views/kaminari/admin-twitter-bootstrap-4/_last_page.html.erb +2 -2
- data/app/views/kaminari/admin-twitter-bootstrap-4/_next_page.html.erb +2 -2
- data/app/views/kaminari/admin-twitter-bootstrap-4/_page.html.erb +2 -2
- data/app/views/kaminari/admin-twitter-bootstrap-4/_paginator.html.erb +2 -2
- data/app/views/kaminari/admin-twitter-bootstrap-4/_prev_page.html.erb +2 -2
- data/app/views/spree/admin/adjustments/index.html.erb +2 -2
- data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +48 -48
- data/app/views/spree/admin/customer_returns/edit.html.erb +1 -1
- data/app/views/spree/admin/general_settings/edit.html.erb +3 -3
- data/app/views/spree/admin/images/edit.html.erb +1 -1
- data/app/views/spree/admin/log_entries/index.html.erb +1 -1
- data/app/views/spree/admin/option_types/index.html.erb +1 -1
- data/app/views/spree/admin/orders/_adjustments.html.erb +2 -2
- data/app/views/spree/admin/orders/_form.html.erb +6 -10
- data/app/views/spree/admin/orders/_line_items.html.erb +1 -1
- data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +5 -8
- data/app/views/spree/admin/orders/_order_actions.html.erb +1 -2
- data/app/views/spree/admin/orders/_risk_analysis.html.erb +3 -3
- data/app/views/spree/admin/orders/_shipment.html.erb +0 -1
- data/app/views/spree/admin/orders/_shipment_manifest.html.erb +1 -1
- data/app/views/spree/admin/orders/cart.html.erb +1 -1
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -1
- data/app/views/spree/admin/orders/edit.html.erb +1 -1
- data/app/views/spree/admin/orders/index.html.erb +2 -0
- data/app/views/spree/admin/payment_methods/index.html.erb +1 -1
- data/app/views/spree/admin/payments/_form.html.erb +2 -3
- data/app/views/spree/admin/payments/show.html.erb +1 -2
- data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +2 -2
- data/app/views/spree/admin/prices/_variant_prices.html.erb +5 -5
- data/app/views/spree/admin/prices/index.html.erb +2 -2
- data/app/views/spree/admin/product_properties/index.html.erb +3 -4
- data/app/views/spree/admin/products/_form.html.erb +5 -6
- data/app/views/spree/admin/products/new.html.erb +3 -1
- data/app/views/spree/admin/products/stock.html.erb +2 -2
- data/app/views/spree/admin/promotions/_actions.html.erb +2 -3
- data/app/views/spree/admin/promotions/_form.html.erb +6 -6
- data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
- data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +1 -1
- data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +1 -1
- data/app/views/spree/admin/promotions/index.html.erb +7 -5
- data/app/views/spree/admin/promotions/rules/_taxon.html.erb +1 -1
- data/app/views/spree/admin/prototypes/_form.html.erb +1 -1
- data/app/views/spree/admin/prototypes/show.html.erb +1 -1
- data/app/views/spree/admin/refunds/edit.html.erb +2 -2
- data/app/views/spree/admin/refunds/new.html.erb +2 -2
- data/app/views/spree/admin/reimbursements/edit.html.erb +1 -2
- data/app/views/spree/admin/roles/index.html.erb +1 -1
- data/app/views/spree/admin/shared/_account_nav.html.erb +2 -2
- data/app/views/spree/admin/shared/_address_form.html.erb +2 -2
- data/app/views/spree/admin/shared/_error_messages.html.erb +1 -1
- data/app/views/spree/admin/shared/_head.html.erb +2 -2
- data/app/views/spree/admin/shared/_header.html.erb +0 -2
- data/app/views/spree/admin/shared/_main_menu.html.erb +1 -1
- data/app/views/spree/admin/shared/_refunds.html.erb +1 -1
- data/app/views/spree/admin/shared/_report_order_criteria.html.erb +4 -2
- data/app/views/spree/admin/shared/_translations.html.erb +9 -38
- data/app/views/spree/admin/shipping_categories/index.html.erb +2 -2
- data/app/views/spree/admin/shipping_methods/index.html.erb +2 -2
- data/app/views/spree/admin/states/index.html.erb +2 -2
- data/app/views/spree/admin/stock_locations/_form.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/index.html.erb +4 -4
- data/app/views/spree/admin/stock_movements/_form.html.erb +1 -1
- data/app/views/spree/admin/stock_movements/index.html.erb +2 -2
- data/app/views/spree/admin/stock_transfers/new.html.erb +1 -1
- data/app/views/spree/admin/stock_transfers/show.html.erb +0 -1
- data/app/views/spree/admin/stores/_form.html.erb +12 -12
- data/app/views/spree/admin/tax_categories/index.html.erb +2 -2
- data/app/views/spree/admin/tax_rates/index.html.erb +6 -6
- data/app/views/spree/admin/taxonomies/_js_head.html.erb +1 -2
- data/app/views/spree/admin/taxonomies/_list.html.erb +1 -1
- data/app/views/spree/admin/taxons/_form.html.erb +1 -2
- data/app/views/spree/admin/taxons/_taxon_table.html.erb +2 -2
- data/app/views/spree/admin/users/_form.html.erb +0 -1
- data/app/views/spree/admin/users/edit.html.erb +1 -1
- data/app/views/spree/admin/users/index.html.erb +2 -2
- data/app/views/spree/admin/users/items.html.erb +1 -1
- data/app/views/spree/admin/variants/_form.html.erb +3 -1
- data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
- data/app/views/spree/admin/zones/_form.html.erb +2 -2
- data/app/views/spree/admin/zones/new.html.erb +1 -1
- data/app/views/spree/layouts/admin.html.erb +2 -3
- data/config/initializers/assets.rb +1 -1
- data/spree_backend.gemspec +1 -1
- metadata +10 -11
- data/app/assets/javascripts/spree/backend/flatpickr_locals.js +0 -37
@@ -24,7 +24,7 @@
|
|
24
24
|
</thead>
|
25
25
|
<tbody id="sortVert">
|
26
26
|
<% @option_types.each do |option_type| %>
|
27
|
-
<tr class="spree_option_type <%= cycle('odd', 'even')%>" id="<%= spree_dom_id option_type %>" data-hook="option_row">
|
27
|
+
<tr class="spree_option_type <%= cycle('odd', 'even') %>" id="<%= spree_dom_id option_type %>" data-hook="option_row">
|
28
28
|
<td class="move-handle text-center">
|
29
29
|
<%= svg_icon name: "sort.svg", width: '18', height: '18' %>
|
30
30
|
</td>
|
@@ -9,8 +9,8 @@
|
|
9
9
|
<table class="table table-bordered">
|
10
10
|
<thead>
|
11
11
|
<tr>
|
12
|
-
<th><%= Spree.t('name')%></th>
|
13
|
-
<th><%= Spree.t('amount')%></th>
|
12
|
+
<th><%= Spree.t('name') %></th>
|
13
|
+
<th><%= Spree.t('amount') %></th>
|
14
14
|
</tr>
|
15
15
|
</thead>
|
16
16
|
<tbody id="order-charges" data-hook="order_details_adjustments">
|
@@ -12,18 +12,15 @@
|
|
12
12
|
<%= render "spree/admin/orders/adjustments",
|
13
13
|
adjustments: @order.line_item_adjustments,
|
14
14
|
order: order,
|
15
|
-
title: Spree.t(:line_item_adjustments)
|
16
|
-
%>
|
15
|
+
title: Spree.t(:line_item_adjustments) %>
|
17
16
|
<%= render "spree/admin/orders/adjustments",
|
18
17
|
adjustments: @order.shipment_adjustments,
|
19
18
|
order: order,
|
20
|
-
title: Spree.t(:shipment_adjustments)
|
21
|
-
%>
|
19
|
+
title: Spree.t(:shipment_adjustments) %>
|
22
20
|
<%= render "spree/admin/orders/adjustments",
|
23
21
|
adjustments: @order.adjustments,
|
24
22
|
order: order,
|
25
|
-
title: Spree.t(:order_adjustments)
|
26
|
-
%>
|
23
|
+
title: Spree.t(:order_adjustments) %>
|
27
24
|
|
28
25
|
<% if order.line_items.exists? %>
|
29
26
|
<div class="alert alert-success" id="order-total" data-hook="order_details_total">
|
@@ -34,7 +31,7 @@
|
|
34
31
|
</div>
|
35
32
|
<% end %>
|
36
33
|
|
37
|
-
|
34
|
+
<script>
|
38
35
|
var order_number = '<%= @order.number %>';
|
39
36
|
var shipments = [];
|
40
37
|
|
@@ -46,11 +43,10 @@
|
|
46
43
|
:id, :tracking, :number, :state, :stock_location_id
|
47
44
|
], include: [
|
48
45
|
:inventory_units, :stock_location
|
49
|
-
]).to_json
|
50
|
-
%>
|
46
|
+
]).to_json %>
|
51
47
|
);
|
52
48
|
<% end %>
|
53
49
|
|
54
50
|
<%= render partial: 'spree/admin/shared/update_order_state', formats: [:js], handlers: [:erb] %>
|
55
|
-
|
51
|
+
</script>
|
56
52
|
</div>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</td>
|
25
25
|
<td class="line-item-name text-center">
|
26
26
|
<%= link_to item.name, edit_admin_product_path(item.variant.product) %>
|
27
|
-
<br
|
27
|
+
<br>
|
28
28
|
<%= "(#{item.options_text})" if item.options_text.present? %>
|
29
29
|
</td>
|
30
30
|
<td class="line-item-price text-center"><%= item.single_money.to_html %></td>
|
@@ -7,18 +7,15 @@
|
|
7
7
|
<%= render "spree/admin/orders/adjustments",
|
8
8
|
adjustments: @order.line_item_adjustments,
|
9
9
|
order: order,
|
10
|
-
title: Spree.t(:line_item_adjustments)
|
11
|
-
%>
|
10
|
+
title: Spree.t(:line_item_adjustments) %>
|
12
11
|
<%= render "spree/admin/orders/adjustments",
|
13
12
|
adjustments: @order.shipment_adjustments,
|
14
13
|
order: order,
|
15
|
-
title: Spree.t(:shipment_adjustments)
|
16
|
-
%>
|
14
|
+
title: Spree.t(:shipment_adjustments) %>
|
17
15
|
<%= render "spree/admin/orders/adjustments",
|
18
16
|
adjustments: @order.adjustments,
|
19
17
|
order: order,
|
20
|
-
title: Spree.t(:order_adjustments)
|
21
|
-
%>
|
18
|
+
title: Spree.t(:order_adjustments) %>
|
22
19
|
|
23
20
|
<% if order.line_items.exists? %>
|
24
21
|
<div class="alert alert-success" id="order-total" data-hook="order_details_total">
|
@@ -26,7 +23,7 @@
|
|
26
23
|
</div>
|
27
24
|
<% end %>
|
28
25
|
|
29
|
-
|
26
|
+
<script>
|
30
27
|
var order_number = '<%= @order.number %>';
|
31
28
|
var shipments = [];
|
32
29
|
|
@@ -35,5 +32,5 @@
|
|
35
32
|
<% end %>
|
36
33
|
|
37
34
|
<%= render partial: 'spree/admin/shared/update_order_state', formats: [:js], handlers: [:erb] %>
|
38
|
-
|
35
|
+
</script>
|
39
36
|
</div>
|
@@ -3,10 +3,10 @@
|
|
3
3
|
<div class="table-responsive">
|
4
4
|
<table class="table table-condensed table-bordered">
|
5
5
|
<thead>
|
6
|
-
<th><%= Spree.t('risk')%></th>
|
7
|
-
<th><%= Spree.t('status')%></th>
|
6
|
+
<th><%= Spree.t('risk') %></th>
|
7
|
+
<th><%= Spree.t('status') %></th>
|
8
8
|
</thead>
|
9
|
-
<tbody id="risk-analysis" data-hook="order_details_adjustments"
|
9
|
+
<tbody id="risk-analysis" data-hook="order_details_adjustments" class="with-border">
|
10
10
|
<tr class="">
|
11
11
|
<td>
|
12
12
|
<strong><%= Spree.t(:failed_payment_attempts) %>:</strong>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<td class="item-name">
|
8
8
|
<%= link_to item.variant.product.name, edit_admin_product_path(item.variant.product) %>
|
9
|
-
<br
|
9
|
+
<br>
|
10
10
|
<%= "(#{item.variant.options_text})" if item.variant.options_text.present? %>
|
11
11
|
<% if item.variant.sku.present? %>
|
12
12
|
<strong><%= Spree.t(:sku) %>:</strong> <%= item.variant.sku %>
|
@@ -23,6 +23,7 @@
|
|
23
23
|
<div class="col-12 col-md-6 mb-3 mb-md-0">
|
24
24
|
<div class="input-group datePickerFrom"
|
25
25
|
data-wrap="true"
|
26
|
+
data-date-format="<%= Spree.t(:js_format, scope: 'date_picker', default: 'Y/m/d') %>"
|
26
27
|
data-max-date="<%= params[:q][:created_at_lt] %>">
|
27
28
|
<%= f.text_field :created_at_gt,
|
28
29
|
class: 'form-control js-filterable shadow-none',
|
@@ -36,6 +37,7 @@
|
|
36
37
|
<div class="col-12 col-md-6 mt-3 mt-md-0">
|
37
38
|
<div class="input-group datePickerTo"
|
38
39
|
data-wrap="true"
|
40
|
+
data-date-format="<%= Spree.t(:js_format, scope: 'date_picker', default: 'Y/m/d') %>"
|
39
41
|
data-min-date="<%= params[:q][:created_at_gt] %>">
|
40
42
|
|
41
43
|
<%= f.text_field :created_at_lt,
|
@@ -20,7 +20,7 @@
|
|
20
20
|
</tr>
|
21
21
|
</thead>
|
22
22
|
<tbody id="sortVert">
|
23
|
-
<% @payment_methods.each do |method
|
23
|
+
<% @payment_methods.each do |method| %>
|
24
24
|
<tr id="<%= spree_dom_id method %>" data-hook="admin_payment_methods_index_rows">
|
25
25
|
<td class="move-handle text-center">
|
26
26
|
<% if can?(:edit, method) %>
|
@@ -19,12 +19,11 @@
|
|
19
19
|
|
20
20
|
<div class="payment-methods my-3" id="payment_method_<%= method.id %>">
|
21
21
|
<% if method.source_required? %>
|
22
|
-
<%=render partial: "spree/admin/payments/source_forms/#{method.method_type}",
|
22
|
+
<%= render partial: "spree/admin/payments/source_forms/#{method.method_type}",
|
23
23
|
locals: {
|
24
24
|
payment_method: method,
|
25
25
|
previous_cards: method.reusable_sources(@order)
|
26
|
-
}
|
27
|
-
%>
|
26
|
+
} %>
|
28
27
|
<% end %>
|
29
28
|
</div>
|
30
29
|
<% end %>
|
@@ -18,8 +18,7 @@
|
|
18
18
|
<%= render partial: "spree/admin/payments/source_views/#{@payment.payment_method.method_type}",
|
19
19
|
locals: {
|
20
20
|
payment: @payment.source.is_a?(Spree::Payment) ? @payment.source : @payment
|
21
|
-
}
|
22
|
-
%>
|
21
|
+
} %>
|
23
22
|
|
24
23
|
<div class="alert alert-success" data-hook="amount">
|
25
24
|
<%= Spree.t(:amount) %>: <%= @payment.display_amount.to_html %>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</div>
|
25
25
|
</div>
|
26
26
|
<% end %>
|
27
|
-
<div id="card_form<%= payment_method.id %>" class="
|
27
|
+
<div id="card_form<%= payment_method.id %>" class="mt-3 row" data-hook>
|
28
28
|
<% param_prefix = "payment_source[#{payment_method.id}]" %>
|
29
29
|
|
30
30
|
<div data-hook="card_number" class="form-group col-12">
|
@@ -32,7 +32,7 @@
|
|
32
32
|
<%= label_tag "card_number#{payment_method.id}", raw(Spree.t(:card_number) + required_span_tag) %>
|
33
33
|
<%= text_field_tag "#{param_prefix}[number]", '', class: 'required form-control cardNumber', id: "card_number#{payment_method.id}", maxlength: 19 %>
|
34
34
|
<span id="card_type" style="display:none;">
|
35
|
-
( <span id="looks_like"
|
35
|
+
( <span id="looks_like"><%= Spree.t(:card_type_is) %> <span id="type"></span></span>
|
36
36
|
<span id="unrecognized"><%= Spree.t(:unrecognized_card_type) %></span>
|
37
37
|
)
|
38
38
|
</span>
|
@@ -2,11 +2,11 @@
|
|
2
2
|
<div id="variant_prices-table-wrapper">
|
3
3
|
<table class="table sortable">
|
4
4
|
<colgroup>
|
5
|
-
<col style="width: 15%"
|
6
|
-
<col style="width: 30%"
|
7
|
-
<col style="width: 15%"
|
8
|
-
<col style="width: 20%"
|
9
|
-
<col style="width: 20%"
|
5
|
+
<col style="width: 15%">
|
6
|
+
<col style="width: 30%">
|
7
|
+
<col style="width: 15%">
|
8
|
+
<col style="width: 20%">
|
9
|
+
<col style="width: 20%">
|
10
10
|
</colgroup>
|
11
11
|
<thead>
|
12
12
|
<tr data-hook="variant_prices_header">
|
@@ -6,11 +6,11 @@
|
|
6
6
|
<% end %>
|
7
7
|
|
8
8
|
<form>
|
9
|
-
<input class="form-control" placeholder="<%= Spree.t('variant_prices_search_placeholder') %>" type="text" id="variant-price-search"
|
9
|
+
<input class="form-control" placeholder="<%= Spree.t('variant_prices_search_placeholder') %>" type="text" id="variant-price-search">
|
10
10
|
</form>
|
11
11
|
|
12
12
|
<%= form_tag nil, { class: 'form-horizontal' } do %>
|
13
|
-
<div class="
|
13
|
+
<div class="my-3">
|
14
14
|
<%= render 'variant_prices', variant: @product.master %>
|
15
15
|
</div>
|
16
16
|
<div class="form-actions" data-hook="buttons">
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<%= form_for @product, url: spree.admin_product_url(@product), method: :put do |f| %>
|
20
20
|
<fieldset>
|
21
21
|
<div id="prototypes" data-hook></div>
|
22
|
-
<div class=" table-responsive">
|
22
|
+
<div class=" table-responsive mb-3">
|
23
23
|
<table id="product_properties" class="table sortable" data-hook data-sortable-link="<%= update_positions_admin_product_product_properties_url %>">
|
24
24
|
<thead>
|
25
25
|
<tr data-hook="product_properties_header">
|
@@ -41,7 +41,7 @@
|
|
41
41
|
</fieldset>
|
42
42
|
<% end %>
|
43
43
|
|
44
|
-
|
44
|
+
<script>
|
45
45
|
var properties = <%= raw(@properties.to_json) %>;
|
46
46
|
$('#product_properties').on('keydown', 'input.autocomplete', function() {
|
47
47
|
already_auto_completed = $(this).is('ac_input');
|
@@ -50,8 +50,7 @@
|
|
50
50
|
$(this).focus();
|
51
51
|
}
|
52
52
|
});
|
53
|
-
|
54
|
-
|
53
|
+
</script>
|
55
54
|
|
56
55
|
<style>
|
57
56
|
div.ui-helper-hidden-accessible {display:none;}
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
1
|
<div data-hook="admin_product_form_fields">
|
3
|
-
|
4
2
|
<div class="row">
|
5
3
|
|
6
4
|
<div class="col-12 col-md-8" data-hook="admin_product_form_left">
|
@@ -68,7 +66,8 @@
|
|
68
66
|
|
69
67
|
<div class="input-group datePickerFrom"
|
70
68
|
data-wrap="true"
|
71
|
-
data-
|
69
|
+
data-date-format="<%= Spree.t(:js_format, scope: 'date_picker', default: 'Y/m/d') %>"
|
70
|
+
data-max-date="<%= @product.discontinue_on %>">
|
72
71
|
|
73
72
|
<%= f.text_field :available_on,
|
74
73
|
value: datepicker_field_value(@product.available_on),
|
@@ -81,7 +80,6 @@
|
|
81
80
|
<% end %>
|
82
81
|
</div>
|
83
82
|
|
84
|
-
|
85
83
|
<div data-hook="admin_product_form_discontinue_on">
|
86
84
|
<%= f.field_container :discontinue_on, class: ['form-group'] do %>
|
87
85
|
<%= f.label :discontinue_on, Spree.t(:discontinue_on) %>
|
@@ -89,7 +87,8 @@
|
|
89
87
|
|
90
88
|
<div class="input-group datePickerTo"
|
91
89
|
data-wrap="true"
|
92
|
-
data-
|
90
|
+
data-date-format="<%= Spree.t(:js_format, scope: 'date_picker', default: 'Y/m/d') %>"
|
91
|
+
data-min-date="<%= @product.available_on %>">
|
93
92
|
|
94
93
|
<%= f.text_field :discontinue_on,
|
95
94
|
value: datepicker_field_value(@product.discontinue_on),
|
@@ -195,7 +194,7 @@
|
|
195
194
|
<%= f.label :taxon_ids, Spree.t(:taxons) %>
|
196
195
|
|
197
196
|
<% if can? :modify, Spree::Classification %>
|
198
|
-
<%= f.select :taxon_ids, options_from_collection_for_select(@product.taxons, :id, :pretty_name, @product.taxons.pluck(:id)), { include_hidden: true }, multiple: true, class: 'select2-hidden-accessible'
|
197
|
+
<%= f.select :taxon_ids, options_from_collection_for_select(@product.taxons, :id, :pretty_name, @product.taxons.pluck(:id)), { include_hidden: true }, multiple: true, class: 'select2-hidden-accessible' %>
|
199
198
|
<% elsif @product.taxons.any? %>
|
200
199
|
<ul class="text_list">
|
201
200
|
<% @product.taxons.each do |taxon| %>
|
@@ -44,7 +44,9 @@
|
|
44
44
|
<%= f.label :available_on, Spree.t(:available_on) %>
|
45
45
|
<%= f.error_message_on :available_on %>
|
46
46
|
|
47
|
-
<div class="input-group datepicker"
|
47
|
+
<div class="input-group datepicker"
|
48
|
+
data-wrap="true"
|
49
|
+
data-date-format="<%= Spree.t(:js_format, scope: 'date_picker', default: 'Y/m/d') %>">
|
48
50
|
<%= f.text_field :available_on,
|
49
51
|
value: datepicker_field_value(@product.available_on),
|
50
52
|
placeholder: Spree.t(:select_a_date),
|
@@ -33,8 +33,8 @@
|
|
33
33
|
class: 'track_inventory_checkbox', id: "track_inventory_#{ variant.id }" %>
|
34
34
|
<%= Spree.t(:track_inventory) %>
|
35
35
|
<%= hidden_field_tag 'variant[track_inventory]', variant.track_inventory?,
|
36
|
-
|
37
|
-
|
36
|
+
class: 'variant_track_inventory',
|
37
|
+
id: "variant_track_inventory_#{variant.id}" %>
|
38
38
|
<% end %>
|
39
39
|
</div>
|
40
40
|
<% end if can?(:update, @product) && can?(:update, variant) %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<% options = options_for_select( Rails.application.config.spree.promotions.actions.map(&:name).map {|name| [ Spree.t("promotion_action_types.#{name.demodulize.underscore}.name"), name] } ) %>
|
9
9
|
|
10
10
|
<div class="form-group">
|
11
|
-
<%= label_tag :action_type, Spree.t(:add_action_of_type)%>
|
11
|
+
<%= label_tag :action_type, Spree.t(:add_action_of_type) %>
|
12
12
|
<%= select_tag 'action_type', options, class: 'select2' %>
|
13
13
|
</div>
|
14
14
|
<div class="form-actions">
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<% end %>
|
19
19
|
|
20
20
|
<%= form_for @promotion, url: spree.admin_promotion_path(@promotion), method: :put do |f| %>
|
21
|
-
<div id="actions" class="filter_list
|
21
|
+
<div id="actions" class="filter_list mt-3">
|
22
22
|
<% if @promotion.actions.any? %>
|
23
23
|
<%= render partial: 'promotion_action', collection: @promotion.actions %>
|
24
24
|
<% else %>
|
@@ -31,5 +31,4 @@
|
|
31
31
|
<%= button Spree.t('actions.update'), 'save.svg' %>
|
32
32
|
</div>
|
33
33
|
<% end %>
|
34
|
-
|
35
34
|
</div>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @promotion } %>
|
2
2
|
|
3
|
-
<div class="row" id="general_fields"
|
3
|
+
<div class="row" id="general_fields">
|
4
4
|
<div class="col-12 col-md-3">
|
5
5
|
<%= f.field_container :name, class: ['form-group'] do %>
|
6
6
|
<%= f.label :name %>
|
@@ -63,8 +63,8 @@
|
|
63
63
|
<div class="input-group datePickerFrom"
|
64
64
|
data-wrap="true"
|
65
65
|
data-enable-time="true"
|
66
|
-
data-date-format="<%= Spree.t(
|
67
|
-
data-max-date="<%= @promotion.expires_at %>"
|
66
|
+
data-date-format="<%= Spree.t(:js_date_time, scope: 'date_picker', default: 'Y/m/d - H:i') %>"
|
67
|
+
data-max-date="<%= @promotion.expires_at %>">
|
68
68
|
<%= f.datetime_field :starts_at,
|
69
69
|
class: 'form-control shadow-none',
|
70
70
|
placeholder: Spree.t('starting_from'),
|
@@ -78,9 +78,9 @@
|
|
78
78
|
<%= f.label :expires_at %>
|
79
79
|
<div class="input-group datePickerTo"
|
80
80
|
data-wrap="true"
|
81
|
-
data-enable-time=
|
82
|
-
data-date-format=
|
83
|
-
data-min-date="<%= @promotion.starts_at %>"
|
81
|
+
data-enable-time='true'
|
82
|
+
data-date-format="<%= Spree.t(:js_date_time, scope: 'date_picker', default: 'Y/m/d - H:i') %>"
|
83
|
+
data-min-date="<%= @promotion.starts_at %>">
|
84
84
|
<%= f.datetime_field :expires_at,
|
85
85
|
placeholder:Spree.t('ends_at'),
|
86
86
|
class: 'form-control shadow-none',
|