spree_backend 4.2.0.beta → 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.js +0 -1
- data/app/assets/javascripts/spree/backend/address_states.js +20 -9
- data/app/assets/javascripts/spree/backend/admin.js +8 -9
- data/app/assets/javascripts/spree/backend/calculator.js +2 -0
- data/app/assets/javascripts/spree/backend/checkouts/edit.js +99 -71
- data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js +1 -1
- data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +31 -37
- data/app/assets/javascripts/spree/backend/option_value_picker.js +50 -23
- data/app/assets/javascripts/spree/backend/product_picker.js +35 -19
- data/app/assets/javascripts/spree/backend/promotions.js +32 -27
- data/app/assets/javascripts/spree/backend/shipments.js +28 -37
- data/app/assets/javascripts/spree/backend/spree-select2.js +33 -14
- data/app/assets/javascripts/spree/backend/stock_transfer.js +32 -13
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +30 -43
- data/app/assets/javascripts/spree/backend/taxons.js +60 -47
- data/app/assets/javascripts/spree/backend/user_picker.js +16 -18
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js +23 -22
- data/app/assets/stylesheets/spree/backend/components/_badges.scss +1 -1
- data/app/assets/stylesheets/spree/backend/components/_tables.scss +2 -2
- data/app/assets/stylesheets/spree/backend/global/_variables.scss +1 -1
- data/app/assets/stylesheets/spree/backend/plugins/_select2_custom.scss +11 -0
- data/app/assets/stylesheets/spree/backend/plugins/select2_bootstrap4.scss +622 -0
- data/app/assets/stylesheets/spree/backend/shared/_base.scss +4 -0
- data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +2 -1
- data/app/controllers/spree/admin/adjustments_controller.rb +8 -0
- data/app/controllers/spree/admin/base_controller.rb +1 -0
- data/app/controllers/spree/admin/general_settings_controller.rb +1 -1
- 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/orders_controller.rb +15 -2
- data/app/controllers/spree/admin/prices_controller.rb +0 -13
- data/app/controllers/spree/admin/products_controller.rb +2 -2
- data/app/controllers/spree/admin/states_controller.rb +1 -1
- data/app/controllers/spree/admin/stores_controller.rb +5 -14
- data/app/controllers/spree/admin/taxons_controller.rb +15 -5
- data/app/helpers/spree/admin/base_helper.rb +67 -5
- data/app/helpers/spree/admin/navigation_helper.rb +11 -1
- data/app/helpers/spree/admin/payments_helper.rb +3 -3
- data/app/helpers/spree/admin/stock_movements_helper.rb +2 -0
- data/app/helpers/spree/admin/stores_helper.rb +9 -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/countries/index.html.erb +6 -6
- data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +48 -46
- data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +3 -1
- data/app/views/spree/admin/customer_returns/edit.html.erb +1 -1
- data/app/views/spree/admin/customer_returns/index.html.erb +2 -2
- data/app/views/spree/admin/customer_returns/new.html.erb +1 -1
- data/app/views/spree/admin/general_settings/edit.html.erb +27 -4
- 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/_form.html.erb +9 -0
- data/app/views/spree/admin/option_types/index.html.erb +3 -1
- data/app/views/spree/admin/orders/_add_line_item.html.erb +1 -1
- data/app/views/spree/admin/orders/_add_product.html.erb +1 -1
- data/app/views/spree/admin/orders/_adjustments.html.erb +2 -2
- data/app/views/spree/admin/orders/_channel_form.html.erb +18 -0
- 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 +3 -2
- data/app/views/spree/admin/orders/_shipment_manifest.html.erb +1 -1
- data/app/views/spree/admin/orders/_store_form.html.erb +1 -1
- data/app/views/spree/admin/orders/cart.html.erb +1 -1
- data/app/views/spree/admin/orders/channel.html.erb +7 -0
- data/app/views/spree/admin/orders/customer_details/_autocomplete.js.erb +35 -12
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +3 -3
- data/app/views/spree/admin/orders/customer_details/edit.html.erb +1 -1
- data/app/views/spree/admin/orders/edit.html.erb +1 -1
- data/app/views/spree/admin/orders/index.html.erb +12 -11
- data/app/views/spree/admin/payment_methods/_form.html.erb +65 -46
- data/app/views/spree/admin/payment_methods/index.html.erb +2 -2
- 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 +8 -9
- data/app/views/spree/admin/products/index.html.erb +3 -2
- data/app/views/spree/admin/products/new.html.erb +5 -3
- data/app/views/spree/admin/products/stock.html.erb +2 -2
- data/app/views/spree/admin/promotion_rules/create.js.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +2 -3
- data/app/views/spree/admin/promotions/_form.html.erb +7 -7
- 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/actions/_create_line_items.html.erb +1 -1
- data/app/views/spree/admin/promotions/index.html.erb +7 -5
- data/app/views/spree/admin/promotions/rules/_option_value.html.erb +8 -7
- data/app/views/spree/admin/promotions/rules/_product.html.erb +1 -1
- data/app/views/spree/admin/promotions/rules/_taxon.html.erb +1 -1
- data/app/views/spree/admin/promotions/rules/_user.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 +3 -3
- data/app/views/spree/admin/reimbursements/edit.html.erb +5 -4
- data/app/views/spree/admin/reimbursements/show.html.erb +3 -1
- data/app/views/spree/admin/return_authorizations/_form.html.erb +7 -5
- data/app/views/spree/admin/return_authorizations/index.html.erb +2 -2
- data/app/views/spree/admin/return_index/customer_returns.html.erb +2 -2
- data/app/views/spree/admin/return_index/return_authorizations.html.erb +2 -2
- data/app/views/spree/admin/roles/index.html.erb +1 -1
- data/app/views/spree/admin/shared/_account_nav.html.erb +3 -3
- data/app/views/spree/admin/shared/_address_form.html.erb +9 -9
- data/app/views/spree/admin/shared/_error_messages.html.erb +1 -1
- data/app/views/spree/admin/shared/_head.html.erb +6 -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/_order_summary.html.erb +25 -21
- data/app/views/spree/admin/shared/_order_tabs.html.erb +9 -0
- data/app/views/spree/admin/shared/_refunds.html.erb +2 -2
- data/app/views/spree/admin/shared/_report_order_criteria.html.erb +4 -2
- data/app/views/spree/admin/shared/_translations.html.erb +10 -38
- data/app/views/spree/admin/shared/_update_order_state.js.erb +6 -2
- data/app/views/spree/admin/shared/named_types/_index.html.erb +1 -1
- data/app/views/spree/admin/shipping_categories/index.html.erb +2 -2
- data/app/views/spree/admin/shipping_methods/_form.html.erb +2 -2
- data/app/views/spree/admin/shipping_methods/index.html.erb +7 -3
- data/app/views/spree/admin/states/index.html.erb +2 -2
- data/app/views/spree/admin/stock_locations/_form.html.erb +2 -2
- data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/index.html.erb +6 -6
- 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/_stock_movements.html.erb +1 -1
- data/app/views/spree/admin/stock_transfers/index.html.erb +42 -37
- 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 +92 -23
- data/app/views/spree/admin/stores/index.html.erb +12 -7
- data/app/views/spree/admin/tax_categories/index.html.erb +3 -3
- data/app/views/spree/admin/tax_rates/index.html.erb +8 -8
- 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 +38 -35
- data/app/views/spree/admin/taxons/_taxon_table.html.erb +2 -2
- data/app/views/spree/admin/taxons/index.html.erb +1 -1
- data/app/views/spree/admin/users/_addresses_form.html.erb +4 -6
- 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 +5 -3
- 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/index.html.erb +1 -1
- 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/config/routes.rb +7 -1
- data/spree_backend.gemspec +2 -2
- metadata +21 -20
- data/app/assets/javascripts/spree/backend/flatpickr_locals.js +0 -37
- data/app/assets/javascripts/spree/backend/tag_picker.js +0 -52
- data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +0 -190
- data/app/views/spree/admin/general_settings/_form.html.erb +0 -27
@@ -2,6 +2,10 @@ $('#order_tab_summary h5#order_status').html('<%= j Spree.t(:status) %>: <%= j S
|
|
2
2
|
$('#order_tab_summary h5#order_total').html('<%= j Spree.t(:total) %>: <%= j @order.display_total.to_html %>');
|
3
3
|
|
4
4
|
<% if @order.completed? %>
|
5
|
-
|
6
|
-
|
5
|
+
<% if @order.payment_state.present? %>
|
6
|
+
$('#order_tab_summary h5#payment_status').html('<%= j Spree.t(:payment) %>: <%= j Spree.t(@order.payment_state, scope: :payment_states, default: [:missing, "none"]) %>');
|
7
|
+
<% end %>
|
8
|
+
<% if @order.shipment_state.present? %>
|
9
|
+
$('#order_tab_summary h5#shipment_status').html('<%= j Spree.t(:shipment) %>: <%= j Spree.t(@order.shipment_state, scope: :shipment_state, default: [:missing, "none"]) %>');
|
10
|
+
<% end %>
|
7
11
|
<% end %>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<%= named_type.name %>
|
24
24
|
</td>
|
25
25
|
<td class="align-center">
|
26
|
-
<%= Spree.t(named_type.active? ? :active : :inactive) %>
|
26
|
+
<%= active_badge(named_type.active, label: Spree.t(named_type.active? ? :active : :inactive)) %>
|
27
27
|
</td>
|
28
28
|
<td class="actions actions-1 text-right">
|
29
29
|
<% if named_type.mutable? %>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
</tr>
|
17
17
|
</thead>
|
18
18
|
<tbody>
|
19
|
-
<% @shipping_categories.each do |shipping_category
|
19
|
+
<% @shipping_categories.each do |shipping_category| %>
|
20
20
|
<tr id="<%= spree_dom_id shipping_category %>" data-hook="category_row">
|
21
21
|
<td><%= shipping_category.name %></td>
|
22
22
|
<td class="actions actions-2 text-right">
|
@@ -27,7 +27,7 @@
|
|
27
27
|
<% end %>
|
28
28
|
</tbody>
|
29
29
|
</table>
|
30
|
-
</div>
|
30
|
+
</div>
|
31
31
|
<% else %>
|
32
32
|
<div class="alert alert-info no-objects-found">
|
33
33
|
<%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::ShippingCategory)) %>,
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<div data-hook="admin_shipping_method_form_display_field" class="col-12 col-lg-6">
|
12
12
|
<%= f.field_container :display_on, class: ['form-group'] do %>
|
13
13
|
<%= f.label :display_on, Spree.t(:display) %>
|
14
|
-
<%= select(:shipping_method, :display_on, Spree::ShippingMethod::DISPLAY.collect { |display| [Spree.t(display), display.to_s] }, { include_blank: true }, { class: 'select2' }) %>
|
14
|
+
<%= select(:shipping_method, :display_on, Spree::ShippingMethod::DISPLAY.collect { |display| [Spree.t(display), display.to_s] }, { include_blank: true }, { class: 'select2-clear' }) %>
|
15
15
|
<%= f.error_message_on :display_on %>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
@@ -110,7 +110,7 @@
|
|
110
110
|
|
111
111
|
<div class="card-body">
|
112
112
|
<%= f.field_container :categories, class: ['form-group'] do %>
|
113
|
-
<%= f.select :tax_category_id, @tax_categories.map { |tc| [tc.name, tc.id] }, { include_blank: true }, class: "select2" %>
|
113
|
+
<%= f.select :tax_category_id, @tax_categories.map { |tc| [tc.name, tc.id] }, { include_blank: true }, class: "select2-clear" %>
|
114
114
|
<%= f.error_message_on :tax_category_id %>
|
115
115
|
<% end %>
|
116
116
|
</div>
|
@@ -19,10 +19,14 @@
|
|
19
19
|
</tr>
|
20
20
|
</thead>
|
21
21
|
<tbody>
|
22
|
-
<% @shipping_methods.includes(:zones, :calculator).each do |shipping_method
|
22
|
+
<% @shipping_methods.includes(:zones, :calculator).each do |shipping_method| %>
|
23
23
|
<tr id="<%= spree_dom_id shipping_method %>" data-hook="admin_shipping_methods_index_rows">
|
24
24
|
<td><%= shipping_method.admin_name + ' / ' if shipping_method.admin_name.present? %><%= shipping_method.name %></td>
|
25
|
-
<td
|
25
|
+
<td>
|
26
|
+
<% shipping_method.zones.each do |zone| %>
|
27
|
+
<%= link_to zone.name, spree.edit_admin_zone_path(zone) %>
|
28
|
+
<% end %>
|
29
|
+
</td>
|
26
30
|
<td><%= shipping_method.calculator.description %></td>
|
27
31
|
<td class="text-center"><%= shipping_method.display_on.blank? ? Spree.t(:none) : Spree.t(shipping_method.display_on) %></td>
|
28
32
|
<td data-hook="admin_shipping_methods_index_row_actions" class="actions actions-2 text-right">
|
@@ -33,7 +37,7 @@
|
|
33
37
|
<% end %>
|
34
38
|
</tbody>
|
35
39
|
</table>
|
36
|
-
</div>
|
40
|
+
</div>
|
37
41
|
<% else %>
|
38
42
|
<div class="alert alert-info no-objects-found">
|
39
43
|
<%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::ShippingMethod)) %>,
|
@@ -8,11 +8,11 @@
|
|
8
8
|
|
9
9
|
<div data-hook="country" class="form-group">
|
10
10
|
<%= label_tag :country, Spree.t(:country) %>
|
11
|
-
<select id="country" class='observe_field select2' data-base-url="<%=admin_states_path(format: :js) %>?country_id=" data-update="#state-list">
|
11
|
+
<select id="country" class='observe_field select2' data-base-url="<%= admin_states_path(format: :js) %>?country_id=" data-update="#state-list">
|
12
12
|
<%= options_from_collection_for_select(@countries, :id, :name, @country.id) %>
|
13
13
|
</select>
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<div id="state-list" data-hook>
|
17
|
-
<%= render partial: 'state_list'%>
|
17
|
+
<%= render partial: 'state_list' %>
|
18
18
|
</div>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="col-12 col-md-9" data-hook="stock_location_names">
|
4
4
|
<div data-hook="stock_location_name">
|
5
5
|
<%= f.field_container :name, class: ['form-group'] do %>
|
6
|
-
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br
|
6
|
+
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br>
|
7
7
|
<%= f.text_field :name, class: 'form-control', required: true %>
|
8
8
|
<%= f.error_message_on :name %>
|
9
9
|
<% end %>
|
@@ -80,7 +80,7 @@
|
|
80
80
|
<%= f.label :state_id, Spree.t(:state) %>
|
81
81
|
<span id="state" class="region">
|
82
82
|
<%= f.text_field :state_name, style: "#{f.object.country.states.empty? ? '' : 'display: none;'}", disabled: !f.object.country.states.empty?, class: 'state_name form-control' %>
|
83
|
-
<%= f.collection_select :state_id, f.object.country.states.sort, :id, :name, { include_blank: true }, {class: 'select2', style: "#{f.object.country.states.empty? ? 'display: none;' : '' };", disabled: f.object.country.states.empty?} %>
|
83
|
+
<%= f.collection_select :state_id, f.object.country.states.sort, :id, :name, { include_blank: true }, {class: 'select2-clear', style: "#{f.object.country.states.empty? ? 'display: none;' : '' };", disabled: f.object.country.states.empty?} %>
|
84
84
|
</span>
|
85
85
|
<% end %>
|
86
86
|
</div>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= form_tag transfer_stock_admin_stock_locations_path do %>
|
2
2
|
<fieldset>
|
3
|
-
<legend><%= Spree.t(:move_stock_between_locations)%></legend>
|
3
|
+
<legend><%= Spree.t(:move_stock_between_locations) %></legend>
|
4
4
|
<div data-hook="admin_stock_movements_form_fields" class="row">
|
5
5
|
<div class="col-12 col-md-5">
|
6
6
|
<div class="form-group" id="stock_movement_transfer_from_field">
|
@@ -12,20 +12,20 @@
|
|
12
12
|
<thead>
|
13
13
|
<tr data-hook="stock_locations_header">
|
14
14
|
<th><%= Spree.t(:name) %></th>
|
15
|
-
<th><%= Spree.t(:status) %></th>
|
16
15
|
<th><%= Spree.t(:stock_movements) %></th>
|
16
|
+
<th><%= Spree.t(:status) %></th>
|
17
17
|
<th class="actions"></th>
|
18
18
|
</tr>
|
19
19
|
</thead>
|
20
20
|
<tbody>
|
21
21
|
<% @stock_locations.each do |stock_location|
|
22
|
-
@edit_url = edit_admin_stock_location_path(stock_location)
|
23
|
-
@delete_url = admin_stock_location_path(stock_location)
|
24
|
-
|
22
|
+
@edit_url = spree.edit_admin_stock_location_path(stock_location)
|
23
|
+
@delete_url = spree.admin_stock_location_path(stock_location) %>
|
24
|
+
|
25
25
|
<tr id="<%= spree_dom_id stock_location %>" data-hook="stock_location_row">
|
26
26
|
<td><%= display_name(stock_location) %></td>
|
27
|
-
<td
|
28
|
-
<td><%=
|
27
|
+
<td><%= link_to Spree.t(:stock_movements), spree.admin_stock_location_stock_movements_path(stock_location.id) %> </td>
|
28
|
+
<td><%= active_badge(stock_location.active, label: Spree.t(state(stock_location))) %></td>
|
29
29
|
<td class="actions actions-2 text-center">
|
30
30
|
<%= link_to_edit(stock_location, no_text: true) if can? :create, stock_location %>
|
31
31
|
<%= link_to_delete(stock_location, no_text: true) if can? :create, stock_location %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<% end %>
|
6
6
|
<%= f.field_container :stock_item_id, class: ['form-group'] do %>
|
7
7
|
<%= f.label :stock_item_id, Spree.t(:stock_item_id) %>
|
8
|
-
<%=
|
8
|
+
<%= select_tag 'stock_movement[stock_item_id]', nil , class: 'variant_autocomplete d-block w-100', :'data-stock-location-id' => params[:stock_location_id] %>
|
9
9
|
<% end %>
|
10
10
|
</div>
|
11
11
|
|
@@ -17,13 +17,13 @@
|
|
17
17
|
</colgroup>
|
18
18
|
<thead>
|
19
19
|
<tr data-hook="admin_stock_movements_index_headers">
|
20
|
-
<th><%= Spree.t(:
|
20
|
+
<th><%= Spree.t(:variant) %>
|
21
21
|
<th><%= Spree.t(:quantity) %></th>
|
22
22
|
<th><%= Spree.t(:action) %></th>
|
23
23
|
</tr>
|
24
24
|
</thead>
|
25
25
|
<tbody>
|
26
|
-
<% @stock_movements.each do |stock_movement
|
26
|
+
<% @stock_movements.each do |stock_movement| %>
|
27
27
|
<tr id="<%= spree_dom_id stock_movement %>" data-hook="admin_stock_movements_index_rows">
|
28
28
|
<td>
|
29
29
|
<%= display_variant(stock_movement) %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<tbody id="bulk_variants_tbody">
|
13
13
|
<% stock_movements.each do |movement| %>
|
14
14
|
<tr>
|
15
|
-
<td><%= movement.stock_item.variant.name %></td>
|
15
|
+
<td><%= link_to movement.stock_item.variant.name, spree.edit_admin_product_path(movement.stock_item.variant.product) %></td>
|
16
16
|
<td><%= movement.stock_item.variant.sku %></td>
|
17
17
|
<td><%= movement.quantity %></td>
|
18
18
|
<td><%= movement.stock_item.count_on_hand %></td>
|
@@ -6,68 +6,73 @@
|
|
6
6
|
<%= button_link_to Spree.t(:new_stock_transfer), new_admin_stock_transfer_path, { icon: 'add.svg', class: 'btn-success' } %>
|
7
7
|
<% end if can? :create, Spree::StockTransfer %>
|
8
8
|
|
9
|
-
|
10
|
-
<div
|
11
|
-
|
12
|
-
<legend class="border-bottom"><%= Spree.t(:search) %></legend>
|
13
|
-
<%= search_form_for @q, url: admin_stock_transfers_path do |f| %>
|
9
|
+
<% content_for :table_filter do %>
|
10
|
+
<div data-hook="admin_orders_index_search">
|
11
|
+
<%= search_form_for @q, url: admin_stock_transfers_path do |f| %>
|
14
12
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
</div>
|
21
|
-
</div>
|
22
|
-
|
23
|
-
<div class="col-12 col-lg-4">
|
24
|
-
<div class="form-group">
|
25
|
-
<%= f.label :source_location, Spree.t(:source) %>
|
26
|
-
<%= f.select :source_location_id_eq,
|
27
|
-
options_from_collection_for_select(@stock_locations, :id, :name, @q.source_location_id_eq),
|
28
|
-
{ include_blank: true }, class: 'select2' %>
|
29
|
-
</div>
|
13
|
+
<div class="row mb-0">
|
14
|
+
<div class="col-12 col-lg-4">
|
15
|
+
<div class="form-group">
|
16
|
+
<%= f.label :reference_cont, Spree.t(:reference_contains) %>
|
17
|
+
<%= f.text_field :reference_cont, class: 'form-control' %>
|
30
18
|
</div>
|
19
|
+
</div>
|
31
20
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
</div>
|
21
|
+
<div class="col-12 col-lg-4">
|
22
|
+
<div class="form-group">
|
23
|
+
<%= f.label :source_location, Spree.t(:source) %>
|
24
|
+
<%= f.select :source_location_id_eq,
|
25
|
+
options_from_collection_for_select(@stock_locations, :id, :name, @q.source_location_id_eq),
|
26
|
+
{ include_blank: true }, class: 'select2-clear js-filterable' %>
|
39
27
|
</div>
|
40
28
|
</div>
|
41
29
|
|
42
|
-
<div class="
|
43
|
-
<div
|
44
|
-
<%=
|
30
|
+
<div class="col-12 col-lg-4">
|
31
|
+
<div class="form-group">
|
32
|
+
<%= f.label :destination_location, Spree.t(:destination) %>
|
33
|
+
<%= f.select :destination_location_id_eq,
|
34
|
+
options_from_collection_for_select(@stock_locations, :id, :name, @q.destination_location_id_eq),
|
35
|
+
{ include_blank: true }, class: 'select2-clear js-filterable' %>
|
45
36
|
</div>
|
46
37
|
</div>
|
47
|
-
|
48
|
-
|
38
|
+
</div>
|
39
|
+
|
40
|
+
<div class="form-actions" data-hook="admin_stock_transfers_index_search_buttons">
|
41
|
+
<%= button Spree.t(:filter_results), 'search.svg' %>
|
42
|
+
</div>
|
43
|
+
<% end %>
|
49
44
|
</div>
|
50
|
-
|
45
|
+
<% end %>
|
51
46
|
|
52
47
|
<% if @stock_transfers.any? %>
|
53
48
|
<div class="table-responsive">
|
54
49
|
<table class="table" id='listing_stock_transfers' data-hook>
|
55
50
|
<thead>
|
56
51
|
<tr data-hook='stock_transfers_header'>
|
57
|
-
<th><%= Spree.t(:
|
52
|
+
<th><%= Spree.t(:number) %></th>
|
58
53
|
<th><%= Spree.t(:reference) %></th>
|
59
54
|
<th><%= Spree.t(:source) %></th>
|
60
55
|
<th><%= Spree.t(:destination) %></th>
|
56
|
+
<th><%= Spree.t(:created_at) %></th>
|
61
57
|
<th class='actions'></th>
|
62
58
|
</tr>
|
63
59
|
</thead>
|
64
60
|
<tbody>
|
65
61
|
<% @stock_transfers.each do |stock_transfer| %>
|
66
62
|
<tr id="<%= spree_dom_id stock_transfer %>" data-hook="stock_transfer_row">
|
67
|
-
<td><%= link_to stock_transfer.
|
63
|
+
<td><%= link_to stock_transfer.number, admin_stock_transfer_path(stock_transfer) %></td>
|
68
64
|
<td><%= stock_transfer.reference %></td>
|
69
|
-
<td
|
70
|
-
|
65
|
+
<td>
|
66
|
+
<% if stock_transfer.source_location.present? %>
|
67
|
+
<%= stock_transfer.source_location.name %>
|
68
|
+
<% end %>
|
69
|
+
</td>
|
70
|
+
<td>
|
71
|
+
<% if stock_transfer.destination_location.present? %>
|
72
|
+
<%= stock_transfer.destination_location.name %>
|
73
|
+
<% end %>
|
74
|
+
</td>
|
75
|
+
<td><%= stock_transfer.created_at.strftime('%F %T %Z') %></td>
|
71
76
|
<td class="actions actions-1">
|
72
77
|
<%= link_to_with_icon 'show', Spree.t(:show), admin_stock_transfer_path(stock_transfer), class: 'btn btn-outline-secondary btn-sm', no_text: true, data: {action: 'view'} %>
|
73
78
|
</td>
|
@@ -66,7 +66,7 @@
|
|
66
66
|
<div class="form-group" id="stock_movement_variant_id_field">
|
67
67
|
<%= label_tag 'variant_id', Spree.t(:variant) %>
|
68
68
|
<div class="input-group">
|
69
|
-
<%=
|
69
|
+
<%= select_tag 'transfer_variant', nil, class: 'd-block w-100', id: 'transfer_variant' %>
|
70
70
|
</div>
|
71
71
|
</div>
|
72
72
|
</div>
|
@@ -14,11 +14,21 @@
|
|
14
14
|
<%= image_tag main_app.url_for(@store.logo) %>
|
15
15
|
<% end %>
|
16
16
|
<%= f.field_container :logo, class: ['form-group'] do %>
|
17
|
-
<%= f.label :logo, Spree.t(:logo) %><br
|
17
|
+
<%= f.label :logo, Spree.t(:logo) %><br>
|
18
18
|
<%= f.file_field :logo %>
|
19
19
|
<%= f.error_message_on :logo %>
|
20
20
|
<% end %>
|
21
21
|
<% end %>
|
22
|
+
<%= f.field_container :mailer_logo, class: ['form-group'] do %>
|
23
|
+
<% if @store.mailer_logo.attached? && @store.mailer_logo.variable? %>
|
24
|
+
<%= image_tag main_app.url_for(@store.mailer_logo.variant(resize: '244x104>')) %>
|
25
|
+
<% end %>
|
26
|
+
<%= f.field_container :mailer_logo, class: ['form-group'] do %>
|
27
|
+
<%= f.label :mailer_logo, Spree.t(:mailer_logo) %><br>
|
28
|
+
<%= f.file_field :mailer_logo, accept: 'image/png, image/jpeg' %>
|
29
|
+
<%= f.error_message_on :mailer_logo %>
|
30
|
+
<% end %>
|
31
|
+
<% end %>
|
22
32
|
<%= f.field_container :name, class: ['form-group'] do %>
|
23
33
|
<%= f.label :name, raw(Spree.t(:name) + required_span_tag) %>
|
24
34
|
<%= f.text_field :name, class: 'form-control', required: true %>
|
@@ -27,11 +37,19 @@
|
|
27
37
|
<%= f.field_container :code, class: ['form-group'] do %>
|
28
38
|
<%= f.label :code, raw(Spree.t(:code) + required_span_tag) %>
|
29
39
|
<%= f.text_field :code, class: 'form-control', required: true %>
|
40
|
+
<small class="form-text text-muted">
|
41
|
+
<%= Spree.t('store_form.code_help') %>
|
42
|
+
</small>
|
30
43
|
<%= f.error_message_on :code %>
|
31
44
|
<% end %>
|
32
45
|
<%= f.field_container :url, class: ['form-group'] do %>
|
33
|
-
<%= f.label :url, raw(Spree.t(:url) + required_span_tag)
|
34
|
-
|
46
|
+
<%= f.label :url, raw(Spree.t(:url) + required_span_tag) %>
|
47
|
+
<div class="input-group mb-3">
|
48
|
+
<div class="input-group-prepend">
|
49
|
+
<span class="input-group-text" id="basic-addon3">https://</span>
|
50
|
+
</div>
|
51
|
+
<%= f.text_field :url, class: 'form-control', required: true %>
|
52
|
+
</div>
|
35
53
|
<%= f.error_message_on :url %>
|
36
54
|
<% end %>
|
37
55
|
</div>
|
@@ -50,15 +68,23 @@
|
|
50
68
|
<%= f.error_message_on :seo_title %>
|
51
69
|
<% end %>
|
52
70
|
<%= f.field_container :meta_description, class: ['form-group'] do %>
|
53
|
-
<%= f.label :meta_description, Spree.t(:meta_description)
|
71
|
+
<%= f.label :meta_description, Spree.t(:meta_description) %>
|
54
72
|
<%= f.text_area :meta_description, class: 'form-control' %>
|
55
73
|
<%= f.error_message_on :meta_description %>
|
56
74
|
<% end %>
|
57
75
|
<%= f.field_container :meta_keywords, class: ['form-group'] do %>
|
58
|
-
<%= f.label :meta_keywords, Spree.t(:meta_keywords)
|
76
|
+
<%= f.label :meta_keywords, Spree.t(:meta_keywords) %>
|
59
77
|
<%= f.text_field :meta_keywords, class: 'form-control' %>
|
60
78
|
<%= f.error_message_on :meta_keywords %>
|
61
79
|
<% end %>
|
80
|
+
<%= f.field_container :seo_robots, class:['form-group'] do %>
|
81
|
+
<%= f.label :seo_robots, Spree.t(:seo_robots) %>
|
82
|
+
<%= f.text_field :seo_robots, class: 'form-control' %>
|
83
|
+
<%= f.error_message_on :seo_robots %>
|
84
|
+
<small class="form-text text-muted">
|
85
|
+
<%= raw(Spree.t('store_form.seo_robots')) %>
|
86
|
+
</small>
|
87
|
+
<% end %>
|
62
88
|
</div>
|
63
89
|
</div>
|
64
90
|
|
@@ -73,18 +99,27 @@
|
|
73
99
|
<%= f.label :mail_from_address, raw(Spree.t(:mail_from_address) + required_span_tag) %>
|
74
100
|
<%= f.text_field :mail_from_address, class: 'form-control', required: true %>
|
75
101
|
<%= f.error_message_on :mail_from_address %>
|
102
|
+
<small class="form-text text-muted">
|
103
|
+
<%= Spree.t('store_form.mail_from_address_help') %>
|
104
|
+
</small>
|
76
105
|
<% end %>
|
77
106
|
|
78
107
|
<%= f.field_container :customer_support_email, class: ['form-group'] do %>
|
79
108
|
<%= f.label :customer_support_email, Spree.t(:customer_support_email) %>
|
80
109
|
<%= f.text_field :customer_support_email, class: 'form-control' %>
|
81
110
|
<%= f.error_message_on :customer_support_email %>
|
111
|
+
<small class="form-text text-muted">
|
112
|
+
<%= Spree.t('store_form.customer_support_email_help') %>
|
113
|
+
</small>
|
82
114
|
<% end %>
|
83
115
|
|
84
116
|
<%= f.field_container :new_order_notifications_email, class: ['form-group'] do %>
|
85
117
|
<%= f.label :new_order_notifications_email, Spree.t(:new_order_notifications_email) %>
|
86
118
|
<%= f.text_field :new_order_notifications_email, class: 'form-control' %>
|
87
119
|
<%= f.error_message_on :new_order_notifications_email %>
|
120
|
+
<small class="form-text text-muted">
|
121
|
+
<%= Spree.t('store_form.new_order_notifications_email_help') %>
|
122
|
+
</small>
|
88
123
|
<% end %>
|
89
124
|
</div>
|
90
125
|
</div>
|
@@ -106,15 +141,31 @@
|
|
106
141
|
<%= f.select :supported_currencies, currency_options(@store.supported_currencies&.split(',')), { prompt: false }, { multiple: true, class: 'select2' } %>
|
107
142
|
<%= f.error_message_on :supported_currencies %>
|
108
143
|
<% end %>
|
144
|
+
<%= f.field_container :checkout_zone_id, class: ['form-group'] do %>
|
145
|
+
<%= f.label :checkout_zone_id, Spree.t(:zone) %>
|
146
|
+
<%= f.select :checkout_zone_id, options_for_select(@zones, selected_checkout_zone(@store)&.id), { include_blank: Spree.t(:no_limits_zone) }, { class: 'select2' } %>
|
147
|
+
<small class="form-text text-muted">
|
148
|
+
<%= raw(Spree.t('store_form.checkout_zone_help')) %>
|
149
|
+
</small>
|
150
|
+
<%= f.error_message_on :checkout_zone_id %>
|
151
|
+
<% end %>
|
109
152
|
<%= f.field_container :default_locale, class: ['form-group'] do %>
|
110
153
|
<%= f.label :default_locale, Spree.t('i18n.language') %>
|
111
|
-
<%= f.select :default_locale, options_from_collection_for_select(all_locales_options, :last, :first, @store.default_locale), {}, { class: 'select2' } %>
|
154
|
+
<%= f.select :default_locale, options_from_collection_for_select(all_locales_options, :last, :first, @store.default_locale || I18n.locale), {}, { class: 'select2' } %>
|
112
155
|
<%= f.error_message_on :default_locale %>
|
156
|
+
<% unless defined?(SpreeI18n) %>
|
157
|
+
<small class="form-text text-muted">
|
158
|
+
<%= raw(Spree.t('store_form.languages_help')) %>
|
159
|
+
</small>
|
160
|
+
<% end %>
|
113
161
|
<% end %>
|
114
162
|
<%= f.field_container :default_country_id, class: ['form-group'] do %>
|
115
|
-
<%= f.label :default_country_id, Spree.t('i18n.
|
116
|
-
<%= f.select :default_country_id, options_from_collection_for_select(@countries, :id, :name, @store.default_country_id), {}, { class: 'select2' } %>
|
163
|
+
<%= f.label :default_country_id, Spree.t('i18n.default_country') %>
|
164
|
+
<%= f.select :default_country_id, options_from_collection_for_select(@countries, :id, :name, @store.default_country_id || Spree::Config[:default_country_id]), {}, { class: 'select2' } %>
|
117
165
|
<%= f.error_message_on :default_country_id %>
|
166
|
+
<small class="form-text text-muted">
|
167
|
+
<%= Spree.t('store_form.default_country_help') %>
|
168
|
+
</small>
|
118
169
|
<% end %>
|
119
170
|
</div>
|
120
171
|
</div>
|
@@ -126,19 +177,38 @@
|
|
126
177
|
</h1>
|
127
178
|
</div>
|
128
179
|
<div class="card-body">
|
180
|
+
<div class="alert alert-warning col-12">
|
181
|
+
<%= Spree.t('store_form.social_help') %>
|
182
|
+
</div>
|
183
|
+
|
129
184
|
<%= f.field_container :facebook, class: ['form-group'] do %>
|
130
|
-
<%= f.label :facebook, Spree.t(:facebook)
|
131
|
-
|
185
|
+
<%= f.label :facebook, Spree.t(:facebook) %>
|
186
|
+
<div class="input-group mb-3">
|
187
|
+
<div class="input-group-prepend">
|
188
|
+
<span class="input-group-text" id="basic-addon3">https://facebook.com</span>
|
189
|
+
</div>
|
190
|
+
<%= f.text_field :facebook, class: 'form-control' %>
|
191
|
+
</div>
|
132
192
|
<%= f.error_message_on :facebook %>
|
133
193
|
<% end %>
|
134
194
|
<%= f.field_container :twitter, class: ['form-group'] do %>
|
135
|
-
<%= f.label :twitter, Spree.t(:twitter)
|
136
|
-
|
195
|
+
<%= f.label :twitter, Spree.t(:twitter) %>
|
196
|
+
<div class="input-group mb-3">
|
197
|
+
<div class="input-group-prepend">
|
198
|
+
<span class="input-group-text" id="basic-addon3">https://twitter.com</span>
|
199
|
+
</div>
|
200
|
+
<%= f.text_field :twitter, class: 'form-control' %>
|
201
|
+
</div>
|
137
202
|
<%= f.error_message_on :twitter %>
|
138
203
|
<% end %>
|
139
204
|
<%= f.field_container :instagram, class: ['form-group'] do %>
|
140
|
-
<%= f.label :instagram, Spree.t(:instagram)
|
141
|
-
|
205
|
+
<%= f.label :instagram, Spree.t(:instagram) %>
|
206
|
+
<div class="input-group mb-3">
|
207
|
+
<div class="input-group-prepend">
|
208
|
+
<span class="input-group-text" id="basic-addon3">https://instagram.com</span>
|
209
|
+
</div>
|
210
|
+
<%= f.text_field :instagram, class: 'form-control' %>
|
211
|
+
</div>
|
142
212
|
<%= f.error_message_on :instagram %>
|
143
213
|
<% end %>
|
144
214
|
</div>
|
@@ -147,27 +217,26 @@
|
|
147
217
|
<div class="card mb-4">
|
148
218
|
<div class="card-header">
|
149
219
|
<h1 class="card-title mb-0 h5">
|
150
|
-
<%= Spree.t(:
|
220
|
+
<%= Spree.t(:footer) %>
|
151
221
|
</h1>
|
152
222
|
</div>
|
153
223
|
<div class="card-body">
|
224
|
+
<div class="alert alert-warning col-12">
|
225
|
+
<%= Spree.t('store_form.footer_help') %>
|
226
|
+
</div>
|
227
|
+
|
154
228
|
<%= f.field_container :description, class: ['form-group'] do %>
|
155
|
-
<%= f.label :description, Spree.t(:description)
|
229
|
+
<%= f.label :description, Spree.t(:description) %>
|
156
230
|
<%= f.text_area :description, class: 'form-control' %>
|
157
231
|
<%= f.error_message_on :description %>
|
158
232
|
<% end %>
|
159
233
|
<%= f.field_container :address, class: ['form-group'] do %>
|
160
|
-
<%= f.label :address, Spree.t(:address)
|
234
|
+
<%= f.label :address, Spree.t(:address) %>
|
161
235
|
<%= f.text_area :address, class: 'form-control' %>
|
162
236
|
<%= f.error_message_on :address %>
|
163
237
|
<% end %>
|
164
|
-
<%= f.field_container :contact_email, class: ['form-group'] do %>
|
165
|
-
<%= f.label :contact_email, Spree.t(:contact_email) %>
|
166
|
-
<%= f.text_field :contact_email, class: 'form-control' %>
|
167
|
-
<%= f.error_message_on :contact_email %>
|
168
|
-
<% end %>
|
169
238
|
<%= f.field_container :contact_phone, class: ['form-group'] do %>
|
170
|
-
<%= f.label :contact_phone, Spree.t(:contact_phone)
|
239
|
+
<%= f.label :contact_phone, Spree.t(:contact_phone) %>
|
171
240
|
<%= f.text_field :contact_phone, class: 'form-control' %>
|
172
241
|
<%= f.error_message_on :contact_phone %>
|
173
242
|
<% end %>
|