spree_backend 2.4.0.rc2 → 2.4.0.rc3
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/address_states.js +3 -1
- data/app/assets/javascripts/spree/backend/checkouts/edit.js +16 -0
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +5 -0
- data/app/assets/stylesheets/spree/backend/sections/_taxons.scss +7 -1
- data/app/controllers/spree/admin/adjustments_controller.rb +6 -0
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +1 -2
- data/app/controllers/spree/admin/orders_controller.rb +6 -6
- data/app/controllers/spree/admin/products_controller.rb +0 -3
- data/app/controllers/spree/admin/root_controller.rb +17 -0
- data/app/models/spree/backend_configuration.rb +17 -1
- data/app/views/spree/admin/log_entries/index.html.erb +5 -2
- data/app/views/spree/admin/orders/_form.html.erb +1 -2
- data/app/views/spree/admin/orders/_line_items_edit_form.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 +13 -1
- data/app/views/spree/admin/products/_form.html.erb +4 -3
- data/app/views/spree/admin/products/new.html.erb +3 -3
- data/app/views/spree/admin/promotion_categories/edit.html.erb +1 -6
- data/app/views/spree/admin/promotion_categories/index.html.erb +33 -25
- data/app/views/spree/admin/promotion_categories/new.html.erb +1 -5
- data/app/views/spree/admin/promotion_categories/new.js.erb +5 -0
- data/app/views/spree/admin/promotions/edit.html.erb +1 -5
- data/app/views/spree/admin/promotions/index.html.erb +3 -4
- data/app/views/spree/admin/promotions/new.html.erb +1 -5
- data/app/views/spree/admin/prototypes/_form.html.erb +19 -8
- data/app/views/spree/admin/shared/_configuration_menu.html.erb +2 -2
- data/app/views/spree/admin/shared/_product_tabs.html.erb +0 -1
- data/app/views/spree/admin/shared/_promotion_sub_menu.html.erb +6 -0
- data/app/views/spree/admin/shared/_tabs.html.erb +11 -6
- data/app/views/spree/admin/stock_locations/_form.html.erb +63 -77
- data/app/views/spree/admin/taxonomies/new.html.erb +3 -1
- data/config/routes.rb +17 -17
- metadata +9 -7
- data/app/views/spree/admin/log_entries/_credit_card.html.erb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20e9b9d30543a971ed7797b83d1345b3902e3c5c
|
4
|
+
data.tar.gz: 50fba7739d5c4ef525b63d3a84a6704814f76217
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bccd2cc77112fe4f112d1f2983bbd55c53e77daa4d549b56b53892dce6975b1f33a9c379c264a34f67b7b887abf645b114f38c5c76071667ee5b26a414776157
|
7
|
+
data.tar.gz: 2c68dc2d57f6d1573bcbbc978ba58b830bd9c6a984606b6d83d25073205fb2bbd01fed73aedf2dd85cbe99efde8f55699170b5810ae0d19b18447ba77026ede4
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var update_state = function (region) {
|
1
|
+
var update_state = function (region, done) {
|
2
2
|
'use strict';
|
3
3
|
|
4
4
|
var country = $('span#' + region + 'country .select2').select2('val');
|
@@ -27,5 +27,7 @@ var update_state = function (region) {
|
|
27
27
|
state_input.prop('disabled', false).show();
|
28
28
|
state_select.select2('destroy').hide();
|
29
29
|
}
|
30
|
+
|
31
|
+
if(done) done();
|
30
32
|
});
|
31
33
|
};
|
@@ -34,6 +34,22 @@ $(document).ready(function() {
|
|
34
34
|
$('#guest_checkout_false').prop("checked", true);
|
35
35
|
$('#guest_checkout_false').prop("disabled", false);
|
36
36
|
|
37
|
+
var billAddress = customer.bill_address;
|
38
|
+
if(billAddress) {
|
39
|
+
$('#order_bill_address_attributes_firstname').val(billAddress.firstname);
|
40
|
+
$('#order_bill_address_attributes_lastname').val(billAddress.lastname);
|
41
|
+
$('#order_bill_address_attributes_address1').val(billAddress.address1);
|
42
|
+
$('#order_bill_address_attributes_address2').val(billAddress.address2);
|
43
|
+
$('#order_bill_address_attributes_city').val(billAddress.city);
|
44
|
+
$('#order_bill_address_attributes_zipcode').val(billAddress.zipcode);
|
45
|
+
$('#order_bill_address_attributes_phone').val(billAddress.phone);
|
46
|
+
|
47
|
+
$('#order_bill_address_attributes_country_id').select2("val", billAddress.country_id).promise().done(function () {
|
48
|
+
update_state('b', function () {
|
49
|
+
$('#order_bill_address_attributes_state_id').select2("val", billAddress.state_id);
|
50
|
+
});
|
51
|
+
});
|
52
|
+
}
|
37
53
|
return customer.email;
|
38
54
|
}
|
39
55
|
})
|
@@ -23,8 +23,7 @@ module Spree
|
|
23
23
|
if params[:guest_checkout] == "false"
|
24
24
|
@order.associate_user!(Spree.user_class.find(params[:user_id]), @order.email.blank?)
|
25
25
|
end
|
26
|
-
|
27
|
-
|
26
|
+
@order.next
|
28
27
|
@order.refresh_shipment_rates
|
29
28
|
flash[:success] = Spree.t('customer_details_updated')
|
30
29
|
redirect_to edit_admin_order_url(@order)
|
@@ -20,11 +20,11 @@ module Spree
|
|
20
20
|
|
21
21
|
params[:q].delete(:inventory_units_shipment_id_null) if params[:q][:inventory_units_shipment_id_null] == "0"
|
22
22
|
|
23
|
-
if
|
23
|
+
if params[:q][:created_at_gt].present?
|
24
24
|
params[:q][:created_at_gt] = Time.zone.parse(params[:q][:created_at_gt]).beginning_of_day rescue ""
|
25
25
|
end
|
26
26
|
|
27
|
-
if
|
27
|
+
if params[:q][:created_at_lt].present?
|
28
28
|
params[:q][:created_at_lt] = Time.zone.parse(params[:q][:created_at_lt]).end_of_day rescue ""
|
29
29
|
end
|
30
30
|
|
@@ -109,16 +109,16 @@ module Spree
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def open_adjustments
|
112
|
-
adjustments = @order.
|
113
|
-
adjustments.update_all(:
|
112
|
+
adjustments = @order.all_adjustments.where(state: 'closed')
|
113
|
+
adjustments.update_all(state: 'open')
|
114
114
|
flash[:success] = Spree.t(:all_adjustments_opened)
|
115
115
|
|
116
116
|
respond_with(@order) { |format| format.html { redirect_to :back } }
|
117
117
|
end
|
118
118
|
|
119
119
|
def close_adjustments
|
120
|
-
adjustments = @order.
|
121
|
-
adjustments.update_all(:
|
120
|
+
adjustments = @order.all_adjustments.where(state: 'open')
|
121
|
+
adjustments.update_all(state: 'closed')
|
122
122
|
flash[:success] = Spree.t(:all_adjustments_closed)
|
123
123
|
|
124
124
|
respond_with(@order) { |format| format.html { redirect_to :back } }
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
class RootController < Spree::Admin::BaseController
|
4
|
+
|
5
|
+
skip_before_filter :authorize_admin
|
6
|
+
|
7
|
+
def index
|
8
|
+
redirect_to admin_root_redirect_path
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
def admin_root_redirect_path
|
13
|
+
spree.admin_orders_path
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,5 +1,21 @@
|
|
1
1
|
module Spree
|
2
2
|
class BackendConfiguration < Preferences::Configuration
|
3
|
-
preference :locale, :string, :
|
3
|
+
preference :locale, :string, default: Rails.application.config.i18n.default_locale
|
4
|
+
|
5
|
+
ORDER_TABS ||= [:orders, :payments, :creditcard_payments,
|
6
|
+
:shipments, :credit_cards, :return_authorizations,
|
7
|
+
:customer_returns, :adjustments, :customer_details]
|
8
|
+
PRODUCT_TABS ||= [:products, :option_types, :properties, :prototypes,
|
9
|
+
:variants, :product_properties, :taxonomies,
|
10
|
+
:taxons]
|
11
|
+
REPORT_TABS ||= [:reports]
|
12
|
+
CONFIGURATION_TABS ||= [:configurations, :general_settings, :tax_categories,
|
13
|
+
:tax_rates, :zones, :countries, :states,
|
14
|
+
:payment_methods, :shipping_methods,
|
15
|
+
:shipping_categories, :stock_transfers,
|
16
|
+
:stock_locations, :trackers, :refund_reasons,
|
17
|
+
:reimbursement_types, :return_authorization_reasons]
|
18
|
+
PROMOTION_TABS ||= [:promotions, :promotion_categories]
|
19
|
+
USER_TABS ||= [:users]
|
4
20
|
end
|
5
21
|
end
|
@@ -22,7 +22,10 @@
|
|
22
22
|
</tr>
|
23
23
|
</thead>
|
24
24
|
<tbody>
|
25
|
-
|
25
|
+
<tr>
|
26
|
+
<td>Message</td>
|
27
|
+
<td><%= entry.parsed_details.message %></td>
|
28
|
+
</tr>
|
26
29
|
</tbody>
|
27
30
|
<% end %>
|
28
|
-
</table>
|
31
|
+
</table>
|
@@ -36,9 +36,8 @@
|
|
36
36
|
var shipments = [];
|
37
37
|
|
38
38
|
<% @order.shipments.each do |shipment| %>
|
39
|
-
|
39
|
+
shipments.push(<%== shipment.as_json(:root => false, :only => [:id, :tracking, :number, :state, :stock_location_id], :include => [:inventory_units, :stock_location]).to_json %>);
|
40
40
|
<% end %>
|
41
|
-
|
42
41
|
<%= render :partial => 'spree/admin/shared/update_order_state', :handlers => [:js] %>
|
43
42
|
<% end -%>
|
44
43
|
</div>
|
@@ -32,7 +32,7 @@
|
|
32
32
|
var shipments = [];
|
33
33
|
|
34
34
|
<% @order.shipments.each do |shipment| %>
|
35
|
-
|
35
|
+
shipments.push(<%== shipment.as_json(:root => false, :only => [:id, :tracking, :number, :state, :stock_location_id], :include => [:inventory_units, :stock_location]).to_json %>);
|
36
36
|
<% end %>
|
37
37
|
|
38
38
|
<%= render :partial => 'spree/admin/shared/update_order_state', :handlers => [:js] %>
|
@@ -51,7 +51,7 @@
|
|
51
51
|
<%= f.fields_for :ship_address do |sa_form| %>
|
52
52
|
<div class="field" style="position: absolute;margin-top: -15px;right: 0;">
|
53
53
|
<span data-hook="use_billing">
|
54
|
-
<%= check_box_tag 'order[use_billing]', '1', (
|
54
|
+
<%= check_box_tag 'order[use_billing]', '1', ((@order.bill_address.empty? && @order.ship_address.empty?) && @order.bill_address.same_as?(@order.ship_address)) %>
|
55
55
|
<%= label_tag 'order[use_billing]', Spree.t(:use_billing_address) %>
|
56
56
|
</span>
|
57
57
|
</div>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
</div>
|
18
18
|
|
19
19
|
<% if @order.payments.exists? && @order.considered_risky? %>
|
20
|
-
<%= render 'spree/admin/orders/risk_analysis', latest_payment: @order.payments.
|
20
|
+
<%= render 'spree/admin/orders/risk_analysis', latest_payment: @order.payments.last %>
|
21
21
|
<% end %>
|
22
22
|
|
23
23
|
<%= render partial: 'add_product' if @order.shipment_state != 'shipped' && can?(:update, @order) %>
|
@@ -45,10 +45,16 @@
|
|
45
45
|
<%= label_tag :q_number_cont, Spree.t(:order_number, :number => '') %>
|
46
46
|
<%= f.text_field :number_cont %>
|
47
47
|
</div>
|
48
|
+
|
48
49
|
<div class="field">
|
49
50
|
<%= label_tag :q_email_cont, Spree.t(:email) %>
|
50
51
|
<%= f.text_field :email_cont %>
|
51
52
|
</div>
|
53
|
+
|
54
|
+
<div class="field">
|
55
|
+
<%= label_tag :q_line_items_variant_id_in, Spree.t(:sku) %>
|
56
|
+
<%= f.select :line_items_variant_id_in, Spree::Variant.pluck(:sku, :id), {:include_blank => true}, :class => 'select2' %>
|
57
|
+
</div>
|
52
58
|
</div>
|
53
59
|
|
54
60
|
<div class="four columns">
|
@@ -132,7 +138,13 @@
|
|
132
138
|
<% if Spree::Order.checkout_step_names.include?(:delivery) %>
|
133
139
|
<td class="align-center"><span class="state <%= order.shipment_state %>"><%= Spree.t("shipment_states.#{order.shipment_state}") if order.shipment_state %></span></td>
|
134
140
|
<% end %>
|
135
|
-
<td
|
141
|
+
<td>
|
142
|
+
<% if order.user %>
|
143
|
+
<%= link_to order.email, edit_admin_user_path(order.user) %>
|
144
|
+
<% else %>
|
145
|
+
<%= mail_to order.email %>
|
146
|
+
<% end %>
|
147
|
+
</td>
|
136
148
|
<td class="align-center"><%= order.display_total.to_html %></td>
|
137
149
|
<td class='actions align-center' data-hook="admin_orders_index_row_actions">
|
138
150
|
<%= link_to_edit_url edit_admin_order_path(order), :title => "admin_edit_#{dom_id(order)}", :no_text => true %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<div data-hook="admin_product_form_name">
|
5
5
|
<%= f.field_container :name do %>
|
6
6
|
<%= f.label :name, raw(Spree.t(:name) + content_tag(:span, ' *', :class => 'required')) %>
|
7
|
-
<%= f.text_field :name, :class => 'fullwidth title' %>
|
7
|
+
<%= f.text_field :name, :class => 'fullwidth title', :required => true %>
|
8
8
|
<%= f.error_message_on :name %>
|
9
9
|
<% end %>
|
10
10
|
</div>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<div data-hook="admin_product_form_slug">
|
13
13
|
<%= f.field_container :slug do %>
|
14
14
|
<%= f.label :slug, raw(Spree.t(:slug) + content_tag(:span, ' *', :class => "required")) %>
|
15
|
-
<%= f.text_field :slug, :class => 'fullwidth title' %>
|
15
|
+
<%= f.text_field :slug, :class => 'fullwidth title', :required => true %>
|
16
16
|
<%= f.error_message_on :slug %>
|
17
17
|
<% end %>
|
18
18
|
</div>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<div data-hook="admin_product_form_price">
|
31
31
|
<%= f.field_container :price do %>
|
32
32
|
<%= f.label :price, raw(Spree.t(:master_price) + content_tag(:span, ' *', :class => "required")) %>
|
33
|
-
<%= f.text_field :price, :value => number_to_currency(@product.price, :unit => '') %>
|
33
|
+
<%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :required => true %>
|
34
34
|
<%= f.error_message_on :price %>
|
35
35
|
<% end %>
|
36
36
|
</div>
|
@@ -42,6 +42,7 @@
|
|
42
42
|
<%= f.error_message_on :cost_price %>
|
43
43
|
<% end %>
|
44
44
|
</div>
|
45
|
+
|
45
46
|
<div data-hook="admin_product_form_cost_currency" class="omega two columns">
|
46
47
|
<%= f.field_container :cost_currency do %>
|
47
48
|
<%= f.label :cost_currency, Spree.t(:cost_currency) %>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
<%= f.field_container :name do %>
|
12
12
|
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br />
|
13
|
-
<%= f.text_field :name, :class => 'fullwidth title' %>
|
13
|
+
<%= f.text_field :name, :class => 'fullwidth title', :required => true %>
|
14
14
|
<%= f.error_message_on :name %>
|
15
15
|
<% end %>
|
16
16
|
|
@@ -35,7 +35,7 @@
|
|
35
35
|
<div data-hook="new_product_price" class="four columns">
|
36
36
|
<%= f.field_container :price do %>
|
37
37
|
<%= f.label :price, Spree.t(:master_price) %> <span class="required">*</span><br />
|
38
|
-
<%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :class => 'fullwidth' %>
|
38
|
+
<%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :class => 'fullwidth', :required => true %>
|
39
39
|
<%= f.error_message_on :price %>
|
40
40
|
<% end %>
|
41
41
|
</div>
|
@@ -54,7 +54,7 @@
|
|
54
54
|
<div data-hook="new_product_shipping_category" class="alpha four columns">
|
55
55
|
<%= f.field_container :shipping_category do %>
|
56
56
|
<%= f.label :shipping_category_id, Spree.t(:shipping_categories) %><span class="required">*</span><br />
|
57
|
-
<%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2 fullwidth' }) %>
|
57
|
+
<%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2 fullwidth', :required => true }) %>
|
58
58
|
<%= f.error_message_on :shipping_category_id %>
|
59
59
|
<% end %>
|
60
60
|
</div>
|
@@ -2,11 +2,7 @@
|
|
2
2
|
<%= Spree.t(:editing_promotion_category) %>
|
3
3
|
<% end %>
|
4
4
|
|
5
|
-
|
6
|
-
<li>
|
7
|
-
<%= button_link_to Spree.t(:back_to_promotion_categories_list), spree.admin_promotion_categories_path, :icon => 'arrow-left' %>
|
8
|
-
</li>
|
9
|
-
<% end %>
|
5
|
+
<%= render 'spree/admin/shared/promotion_sub_menu' %>
|
10
6
|
|
11
7
|
<%= form_for @promotion_category, :url => object_url, :method => :put do |f| %>
|
12
8
|
<fieldset class="no-border-top">
|
@@ -14,4 +10,3 @@
|
|
14
10
|
<%= render :partial => 'spree/admin/shared/edit_resource_links' %>
|
15
11
|
</fieldset>
|
16
12
|
<% end %>
|
17
|
-
|
@@ -4,31 +4,39 @@
|
|
4
4
|
|
5
5
|
<% content_for :page_actions do %>
|
6
6
|
<li>
|
7
|
-
<%= button_link_to Spree.t(:new_promotion_category), spree.new_admin_promotion_category_path, :
|
8
|
-
</li>
|
9
|
-
<li>
|
10
|
-
<%= button_link_to Spree.t(:back_to_promotions_list), spree.admin_promotions_path, :icon => 'arrow-left' %>
|
7
|
+
<%= button_link_to Spree.t(:new_promotion_category), spree.new_admin_promotion_category_path, icon: 'plus', remote: true, id: 'new_promotion_category_link' %>
|
11
8
|
</li>
|
12
9
|
<% end %>
|
13
10
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
<
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
11
|
+
<%= render 'spree/admin/shared/promotion_sub_menu' %>
|
12
|
+
|
13
|
+
<div id="new_promotion_category"></div>
|
14
|
+
|
15
|
+
<% if @promotion_categories.any? %>
|
16
|
+
<table>
|
17
|
+
<colgroup>
|
18
|
+
<col style="width: 85%">
|
19
|
+
<col style="width: 15%">
|
20
|
+
</colgroup>
|
21
|
+
<thead>
|
22
|
+
<th><%= Spree::PromotionCategory.human_attribute_name :name %></th>
|
23
|
+
<th class='actions'></th>
|
24
|
+
</thead>
|
25
|
+
<tbody>
|
26
|
+
<% @promotion_categories.each do |promotion_category| %>
|
27
|
+
<tr>
|
28
|
+
<td><%= promotion_category.name %></td>
|
29
|
+
<td class="actions">
|
30
|
+
<%= link_to_edit promotion_category, :no_text => true %>
|
31
|
+
<%= link_to_delete promotion_category, :no_text => true %>
|
32
|
+
</td>
|
33
|
+
</tr>
|
34
|
+
<% end %>
|
35
|
+
</tbody>
|
36
|
+
</table>
|
37
|
+
<% else %>
|
38
|
+
<div class="alpha sixteen columns no-objects-found">
|
39
|
+
<%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/promotion_category')) %>
|
40
|
+
<%= link_to Spree.t(:add_one) + '!', spree.new_admin_promotion_category_path, remote: true, id: 'new_promotion_category_link' %>
|
41
|
+
</div>
|
42
|
+
<% end %>
|
@@ -2,11 +2,7 @@
|
|
2
2
|
<%= Spree.t(:new_promotion_category) %>
|
3
3
|
<% end %>
|
4
4
|
|
5
|
-
|
6
|
-
<li>
|
7
|
-
<%= button_link_to Spree.t(:back_to_promotion_categories_list), spree.admin_promotion_categories_path, :icon => 'arrow-left' %>
|
8
|
-
</li>
|
9
|
-
<% end %>
|
5
|
+
<%= render 'spree/admin/shared/promotion_sub_menu' %>
|
10
6
|
|
11
7
|
<%= form_for :promotion_category, :url => collection_url do |f| %>
|
12
8
|
<fieldset class="no-border-top">
|
@@ -0,0 +1,5 @@
|
|
1
|
+
$("#new_promotion_category").html('<%= escape_javascript(render template: "spree/admin/promotion_categories/new", formats: [:html], handlers: [:erb]) %>');
|
2
|
+
<% unless Rails.env.test? %>
|
3
|
+
$('.select2').select2();
|
4
|
+
<% end %>
|
5
|
+
$("#new_promotion_category_link").parent().hide();
|
@@ -2,11 +2,7 @@
|
|
2
2
|
<%= Spree.t(:editing_promotion) %>
|
3
3
|
<% end %>
|
4
4
|
|
5
|
-
|
6
|
-
<li>
|
7
|
-
<%= button_link_to Spree.t(:back_to_promotions_list), admin_promotions_path, :icon => 'arrow-left' %>
|
8
|
-
</li>
|
9
|
-
<% end %>
|
5
|
+
<%= render 'spree/admin/shared/promotion_sub_menu' %>
|
10
6
|
|
11
7
|
<%= form_for @promotion, :url => object_url, :method => :put do |f| %>
|
12
8
|
<fieldset class="no-border-top">
|
@@ -3,14 +3,13 @@
|
|
3
3
|
<% end %>
|
4
4
|
|
5
5
|
<% content_for :page_actions do %>
|
6
|
-
<li>
|
7
|
-
<%= button_link_to Spree.t(:manage_promotion_categories), spree.admin_promotion_categories_path, :icon => 'bars' %>
|
8
|
-
</li>
|
9
6
|
<li>
|
10
7
|
<%= button_link_to Spree.t(:new_promotion), spree.new_admin_promotion_path, :icon => 'plus' %>
|
11
8
|
</li>
|
12
9
|
<% end %>
|
13
10
|
|
11
|
+
<%= render 'spree/admin/shared/promotion_sub_menu' %>
|
12
|
+
|
14
13
|
<% content_for :table_filter_title do %>
|
15
14
|
<%= Spree.t(:search) %>
|
16
15
|
<% end %>
|
@@ -100,7 +99,7 @@
|
|
100
99
|
</tbody>
|
101
100
|
</table>
|
102
101
|
<% else %>
|
103
|
-
<div class="alpha
|
102
|
+
<div class="alpha omega sixteen columns no-objects-found">
|
104
103
|
<%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/promotion')) %>,
|
105
104
|
<%= link_to Spree.t(:add_one), spree.new_admin_promotion_path %>!
|
106
105
|
</div>
|
@@ -2,11 +2,7 @@
|
|
2
2
|
<%= Spree.t(:new_promotion) %>
|
3
3
|
<% end %>
|
4
4
|
|
5
|
-
|
6
|
-
<li>
|
7
|
-
<%= button_link_to Spree.t(:back_to_promotions_list), spree.admin_promotions_path, :icon => 'arrow-left' %>
|
8
|
-
</li>
|
9
|
-
<% end %>
|
5
|
+
<%= render 'spree/admin/shared/promotion_sub_menu' %>
|
10
6
|
|
11
7
|
<%= form_for :promotion, :url => collection_url do |f| %>
|
12
8
|
<fieldset class="no-border-top">
|
@@ -2,24 +2,35 @@
|
|
2
2
|
<div class="alpha four columns">
|
3
3
|
<%= f.field_container :name do %>
|
4
4
|
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br />
|
5
|
-
<%= f.text_field :name, :
|
5
|
+
<%= f.text_field :name, class: 'fullwidth' %>
|
6
6
|
<%= f.error_message_on :name %>
|
7
7
|
<% end %>
|
8
8
|
</div>
|
9
9
|
|
10
|
-
<div class="
|
10
|
+
<div class="four columns">
|
11
11
|
<div id='properties' data-hook>
|
12
12
|
<%= f.field_container :property_ids do %>
|
13
13
|
<%= f.label :property_ids, Spree.t(:properties) %><br>
|
14
|
-
<%= f.select :property_ids, Spree::Property.all.map { |p| [p.presentation, p.id] }, {}, { :
|
14
|
+
<%= f.select :property_ids, Spree::Property.all.map { |p| ["#{p.presentation} (#{p.name})", p.id] }, {}, { multiple: true, class: "select2 fullwidth" } %>
|
15
15
|
<% end %>
|
16
16
|
</div>
|
17
17
|
</div>
|
18
18
|
|
19
|
-
<div class="
|
20
|
-
|
21
|
-
<%= f.
|
22
|
-
|
23
|
-
|
19
|
+
<div class="four columns">
|
20
|
+
<div id="option_types" data-hook>
|
21
|
+
<%= f.field_container :option_type_ids do %>
|
22
|
+
<%= f.label :option_type_ids, Spree.t(:option_types) %><br>
|
23
|
+
<%= f.select :option_type_ids, Spree::OptionType.all.map { |ot| ["#{ot.presentation} (#{ot.name})", ot.id] }, {}, { multiple: true, class: "select2 fullwidth" } %>
|
24
|
+
<% end %>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="four columns omega">
|
29
|
+
<div id='taxons' data-hook>
|
30
|
+
<%= f.field_container :taxon_ids do %>
|
31
|
+
<%= f.label :taxon_ids, Spree.t(:taxons) %><br>
|
32
|
+
<%= f.select :taxon_ids, Spree::Taxon.all.map { |t| [t.name, t.id] }, {}, { multiple: true, class: "select2 fullwidth" } %>
|
33
|
+
<% end %>
|
34
|
+
</div>
|
24
35
|
</div>
|
25
36
|
</div>
|
@@ -10,8 +10,8 @@
|
|
10
10
|
<%= configurations_sidebar_menu_item Spree.t(:tax_rates), admin_tax_rates_path %>
|
11
11
|
<%= configurations_sidebar_menu_item Spree.t(:zones), admin_zones_path %>
|
12
12
|
<%= configurations_sidebar_menu_item Spree.t(:countries), admin_countries_path %>
|
13
|
-
<% if Spree::Config[:default_country_id] %>
|
14
|
-
<%= configurations_sidebar_menu_item Spree.t(:states), admin_country_states_path(
|
13
|
+
<% if country = Spree::Country.find_by_id(Spree::Config[:default_country_id]) || Spree::Country.first %>
|
14
|
+
<%= configurations_sidebar_menu_item Spree.t(:states), admin_country_states_path(country) %>
|
15
15
|
<% end %>
|
16
16
|
<%= configurations_sidebar_menu_item Spree.t(:payment_methods), admin_payment_methods_path %>
|
17
17
|
<%= configurations_sidebar_menu_item Spree.t(:taxonomies), admin_taxonomies_path %>
|
@@ -1,16 +1,21 @@
|
|
1
1
|
<% if can? :admin, Spree::Order %>
|
2
|
-
<%= tab
|
2
|
+
<%= tab *Spree::BackendConfiguration::ORDER_TABS, icon: 'shopping-cart' %>
|
3
3
|
<% end %>
|
4
|
+
|
4
5
|
<% if can? :admin, Spree::Product %>
|
5
|
-
<%= tab
|
6
|
+
<%= tab *Spree::BackendConfiguration::PRODUCT_TABS, icon: 'th-large' %>
|
6
7
|
<% end %>
|
8
|
+
|
7
9
|
<% if can? :admin, Spree::Admin::ReportsController %>
|
8
|
-
<%= tab
|
10
|
+
<%= tab *Spree::BackendConfiguration::REPORT_TABS, icon: 'file' %>
|
9
11
|
<% end %>
|
10
|
-
|
12
|
+
|
13
|
+
<%= tab *Spree::BackendConfiguration::CONFIGURATION_TABS, label: 'configuration', icon: 'wrench', url: spree.edit_admin_general_settings_path %>
|
14
|
+
|
11
15
|
<% if can? :admin, Spree::Promotion %>
|
12
|
-
<%= tab
|
16
|
+
<%= tab *Spree::BackendConfiguration::PROMOTION_TABS, url: spree.admin_promotions_path, icon: 'bullhorn' %>
|
13
17
|
<% end %>
|
18
|
+
|
14
19
|
<% if Spree.user_class && can?(:admin, Spree.user_class) %>
|
15
|
-
<%= tab
|
20
|
+
<%= tab *Spree::BackendConfiguration::USER_TABS, url: spree.admin_users_path, icon: 'user' %>
|
16
21
|
<% end %>
|
@@ -1,95 +1,81 @@
|
|
1
1
|
<div data-hook="admin_stock_locations_form_fields" class="row">
|
2
|
-
<div class="
|
3
|
-
<div
|
2
|
+
<div class="alpha nine columns" data-hook="stock_location_names">
|
3
|
+
<div data-hook="stock_location_name">
|
4
4
|
<%= f.field_container :name do %>
|
5
5
|
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br />
|
6
|
-
<%= f.text_field :name, :
|
7
|
-
<% end %><br>
|
8
|
-
<%= f.field_container :admin_name do %>
|
9
|
-
<%= f.label :admin_name, Spree.t(:internal_name) %>
|
10
|
-
<%= f.text_field :admin_name, :class => 'fullwidth', :label => false %>
|
6
|
+
<%= f.text_field :name, class: 'fullwidth', required: true %>
|
11
7
|
<% end %>
|
12
8
|
</div>
|
13
|
-
<div
|
14
|
-
<%= f.field_container :
|
15
|
-
|
16
|
-
|
17
|
-
<li>
|
18
|
-
<%= f.label :active, Spree.t(:active) %>
|
19
|
-
<%= f.check_box :active %>
|
20
|
-
</li>
|
21
|
-
<li>
|
22
|
-
<%= f.label :default, Spree.t(:default) %>
|
23
|
-
<%= f.check_box :default %>
|
24
|
-
</li>
|
25
|
-
<li>
|
26
|
-
<%= f.label :backorderable_default, Spree.t(:backorderable_default) %>
|
27
|
-
<%= f.check_box :backorderable_default %>
|
28
|
-
</li>
|
29
|
-
<li>
|
30
|
-
<%= f.label :propagate_all_variants, Spree.t(:propagate_all_variants) %>
|
31
|
-
<%= f.check_box :propagate_all_variants %>
|
32
|
-
</li>
|
33
|
-
</ul>
|
9
|
+
<div data-hook="stock_location_admin_name">
|
10
|
+
<%= f.field_container :admin_name do %>
|
11
|
+
<%= f.label :admin_name, Spree.t(:internal_name) %>
|
12
|
+
<%= f.text_field :admin_name, class: 'fullwidth', label: false %>
|
34
13
|
<% end %>
|
35
14
|
</div>
|
36
15
|
</div>
|
37
16
|
|
38
|
-
<div class="
|
39
|
-
|
40
|
-
<
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
17
|
+
<div class="omega three columns" data-hook="stock_location_status">
|
18
|
+
<%= f.field_container :active do %>
|
19
|
+
<label for="active"><%= Spree.t(:status) %></label>
|
20
|
+
<ul>
|
21
|
+
<li class="fullwidth" data-hook="stock_location_active">
|
22
|
+
<%= f.check_box :active %>
|
23
|
+
<%= f.label :active, Spree.t(:active) %>
|
24
|
+
</li>
|
25
|
+
<li class="fullwidth" data-hook="stock_location_default">
|
26
|
+
<%= f.check_box :default %>
|
27
|
+
<%= f.label :default, Spree.t(:default) %>
|
28
|
+
</li>
|
29
|
+
<li class="fullwidth" data-hook="stock_location_backorderable_default">
|
30
|
+
<%= f.check_box :backorderable_default %>
|
31
|
+
<%= f.label :backorderable_default, Spree.t(:backorderable_default) %>
|
32
|
+
</li>
|
33
|
+
<li class="fullwidth" data-hook="stock_location_propagate_all_variants">
|
34
|
+
<%= f.check_box :propagate_all_variants %>
|
35
|
+
<%= f.label :propagate_all_variants, Spree.t(:propagate_all_variants) %>
|
36
|
+
</li>
|
37
|
+
</ul>
|
38
|
+
<% end %>
|
39
|
+
</div>
|
45
40
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
</div>
|
51
|
-
</div>
|
52
|
-
<div class="four columns">
|
53
|
-
<div class="field ">
|
54
|
-
<%= f.label :city, Spree.t(:city) %>
|
55
|
-
<%= f.text_field :city, :class => 'fullwidth' %>
|
56
|
-
</div>
|
57
|
-
</div>
|
41
|
+
<div class="alpha six columns field" data-hook="stock_location_address1">
|
42
|
+
<%= f.label :address1, Spree.t(:street_address) %>
|
43
|
+
<%= f.text_field :address1, class: 'fullwidth' %>
|
44
|
+
</div>
|
58
45
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
<%= f.text_field :zipcode, :class => 'fullwidth' %>
|
63
|
-
</div>
|
64
|
-
</div>
|
46
|
+
<div class="omega six columns field" data-hook="stock_location_city">
|
47
|
+
<%= f.label :city, Spree.t(:city) %>
|
48
|
+
<%= f.text_field :city, class: 'fullwidth' %>
|
65
49
|
</div>
|
66
50
|
|
67
|
-
<div class="
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
<span id="country"><%= f.collection_select :country_id, available_countries, :id, :name, {}, {:class => 'select2 fullwidth'} %></span>
|
72
|
-
</div>
|
73
|
-
</div>
|
51
|
+
<div class="alpha six columns field" data-hook="stock_location_address2">
|
52
|
+
<%= f.label :address2, Spree.t(:street_address_2) %>
|
53
|
+
<%= f.text_field :address2, class: 'fullwidth' %>
|
54
|
+
</div>
|
74
55
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
<span id="state" class="region">
|
80
|
-
<%= f.text_field :state_name, :style => "display: #{f.object.country.states.empty? ? 'block' : 'none' };", :disabled => !f.object.country.states.empty?, :class => 'fullwidth state_name' %>
|
81
|
-
<%= f.collection_select :state_id, f.object.country.states.sort, :id, :name, {:include_blank => true}, {:class => 'select2 fullwidth', :style => "display: #{f.object.country.states.empty? ? 'none' : 'block' };", :disabled => f.object.country.states.empty?} %>
|
82
|
-
</span>
|
83
|
-
<% end %>
|
84
|
-
</div>
|
85
|
-
</div>
|
56
|
+
<div class="three columns field" data-hook="stock_location_zipcode">
|
57
|
+
<%= f.label :zipcode, Spree.t(:zip) %>
|
58
|
+
<%= f.text_field :zipcode, class: 'fullwidth' %>
|
59
|
+
</div>
|
86
60
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
61
|
+
<div class="omega three columns field" data-hook="stock_location_phone">
|
62
|
+
<%= f.label :phone, Spree.t(:phone) %>
|
63
|
+
<%= f.phone_field :phone, class: 'fullwidth' %>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<div class="alpha six columns field" data-hook="stock_location_country">
|
67
|
+
<%= f.label :country_id, Spree.t(:country) %>
|
68
|
+
<span id="country"><%= f.collection_select :country_id, available_countries, :id, :name, {}, { class: 'select2 fullwidth' } %></span>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<div class="omega six columns field" data-hook="stock_location_state">
|
72
|
+
<% if f.object.country %>
|
73
|
+
<%= f.label :state_id, Spree.t(:state) %>
|
74
|
+
<span id="state" class="region">
|
75
|
+
<%= f.text_field :state_name, style: "display: #{f.object.country.states.empty? ? 'block' : 'none' };", disabled: !f.object.country.states.empty?, class: 'fullwidth state_name' %>
|
76
|
+
<%= f.collection_select :state_id, f.object.country.states.sort, :id, :name, { include_blank: true }, {class: 'select2 fullwidth', style: "display: #{f.object.country.states.empty? ? 'none' : 'block' };", disabled: f.object.country.states.empty?} %>
|
77
|
+
</span>
|
78
|
+
<% end %>
|
93
79
|
</div>
|
94
80
|
</div>
|
95
81
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= render
|
1
|
+
<%= render 'spree/admin/shared/configuration_menu' %>
|
2
2
|
|
3
3
|
<% content_for :page_title do %>
|
4
4
|
<%= Spree.t(:new_taxonomy) %>
|
@@ -10,6 +10,8 @@
|
|
10
10
|
</li>
|
11
11
|
<% end %>
|
12
12
|
|
13
|
+
<%= render 'spree/admin/shared/product_sub_menu' %>
|
14
|
+
|
13
15
|
<%= form_for [:admin, @taxonomy] do |f| %>
|
14
16
|
|
15
17
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
data/config/routes.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
Spree::Core::Engine.add_routes do
|
2
2
|
namespace :admin do
|
3
|
-
get '/search/users', :
|
3
|
+
get '/search/users', to: "search#users", as: :search_users
|
4
4
|
|
5
5
|
resources :promotions do
|
6
6
|
resources :promotion_rules
|
7
7
|
resources :promotion_actions
|
8
8
|
end
|
9
9
|
|
10
|
-
resources :promotion_categories, :
|
10
|
+
resources :promotion_categories, except: [:show]
|
11
11
|
|
12
12
|
resources :zones
|
13
13
|
|
@@ -37,10 +37,10 @@ Spree::Core::Engine.add_routes do
|
|
37
37
|
post :update_positions
|
38
38
|
end
|
39
39
|
end
|
40
|
-
resources :variants_including_master,
|
40
|
+
resources :variants_including_master, only: [:update]
|
41
41
|
end
|
42
42
|
|
43
|
-
get '/variants/search', :
|
43
|
+
get '/variants/search', to: "variants#search", as: :search_variants
|
44
44
|
|
45
45
|
resources :option_types do
|
46
46
|
collection do
|
@@ -49,7 +49,7 @@ Spree::Core::Engine.add_routes do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
delete '/option_values/:id', :
|
52
|
+
delete '/option_values/:id', to: "option_values#destroy", as: :option_value
|
53
53
|
|
54
54
|
resources :properties do
|
55
55
|
collection do
|
@@ -57,7 +57,7 @@ Spree::Core::Engine.add_routes do
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
delete '/product_properties/:id', :
|
60
|
+
delete '/product_properties/:id', to: "product_properties#destroy", as: :product_property
|
61
61
|
|
62
62
|
resources :prototypes do
|
63
63
|
member do
|
@@ -69,7 +69,7 @@ Spree::Core::Engine.add_routes do
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
resources :orders, :
|
72
|
+
resources :orders, except: [:show] do
|
73
73
|
member do
|
74
74
|
get :cart
|
75
75
|
post :resend
|
@@ -80,7 +80,7 @@ Spree::Core::Engine.add_routes do
|
|
80
80
|
put :resume
|
81
81
|
end
|
82
82
|
|
83
|
-
resource :customer, :
|
83
|
+
resource :customer, controller: "orders/customer_details"
|
84
84
|
resources :customer_returns, only: [:index, :new, :edit, :create, :update] do
|
85
85
|
member do
|
86
86
|
put :refund
|
@@ -128,34 +128,34 @@ Spree::Core::Engine.add_routes do
|
|
128
128
|
resources :taxons
|
129
129
|
end
|
130
130
|
|
131
|
-
resources :taxons, :
|
131
|
+
resources :taxons, only: [:index, :show] do
|
132
132
|
collection do
|
133
133
|
get :search
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
-
resources :reports, :
|
137
|
+
resources :reports, only: [:index] do
|
138
138
|
collection do
|
139
139
|
get :sales_total
|
140
140
|
post :sales_total
|
141
141
|
end
|
142
142
|
end
|
143
143
|
|
144
|
-
resources :reimbursement_types, :
|
145
|
-
resources :refund_reasons, :
|
146
|
-
resources :return_authorization_reasons, :
|
144
|
+
resources :reimbursement_types, only: [:index]
|
145
|
+
resources :refund_reasons, except: [:show, :destroy]
|
146
|
+
resources :return_authorization_reasons, except: [:show, :destroy]
|
147
147
|
|
148
148
|
resources :shipping_methods
|
149
149
|
resources :shipping_categories
|
150
|
-
resources :stock_transfers, :
|
150
|
+
resources :stock_transfers, only: [:index, :show, :new, :create]
|
151
151
|
resources :stock_locations do
|
152
|
-
resources :stock_movements, :
|
152
|
+
resources :stock_movements, except: [:edit, :update, :destroy]
|
153
153
|
collection do
|
154
154
|
post :transfer_stock
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
158
|
-
resources :stock_items, :
|
158
|
+
resources :stock_items, only: [:create, :update, :destroy]
|
159
159
|
resources :tax_rates
|
160
160
|
|
161
161
|
resources :trackers
|
@@ -171,5 +171,5 @@ Spree::Core::Engine.add_routes do
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
-
get '/admin', :
|
174
|
+
get '/admin', to: 'admin/root#index', as: :admin
|
175
175
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_backend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.0.
|
4
|
+
version: 2.4.0.rc3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_api
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.4.0.
|
19
|
+
version: 2.4.0.rc3
|
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: 2.4.0.
|
26
|
+
version: 2.4.0.rc3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: spree_core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.4.0.
|
33
|
+
version: 2.4.0.rc3
|
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: 2.4.0.
|
40
|
+
version: 2.4.0.rc3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: jquery-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -203,6 +203,7 @@ files:
|
|
203
203
|
- app/controllers/spree/admin/return_authorization_reasons_controller.rb
|
204
204
|
- app/controllers/spree/admin/return_authorizations_controller.rb
|
205
205
|
- app/controllers/spree/admin/return_items_controller.rb
|
206
|
+
- app/controllers/spree/admin/root_controller.rb
|
206
207
|
- app/controllers/spree/admin/search_controller.rb
|
207
208
|
- app/controllers/spree/admin/shipping_categories_controller.rb
|
208
209
|
- app/controllers/spree/admin/shipping_methods_controller.rb
|
@@ -261,7 +262,6 @@ files:
|
|
261
262
|
- app/views/spree/admin/images/new.html.erb
|
262
263
|
- app/views/spree/admin/line_items/create.js.erb
|
263
264
|
- app/views/spree/admin/line_items/destroy.js.erb
|
264
|
-
- app/views/spree/admin/log_entries/_credit_card.html.erb
|
265
265
|
- app/views/spree/admin/log_entries/index.html.erb
|
266
266
|
- app/views/spree/admin/option_types/_form.html.erb
|
267
267
|
- app/views/spree/admin/option_types/_option_value_fields.html.erb
|
@@ -317,6 +317,7 @@ files:
|
|
317
317
|
- app/views/spree/admin/promotion_categories/edit.html.erb
|
318
318
|
- app/views/spree/admin/promotion_categories/index.html.erb
|
319
319
|
- app/views/spree/admin/promotion_categories/new.html.erb
|
320
|
+
- app/views/spree/admin/promotion_categories/new.js.erb
|
320
321
|
- app/views/spree/admin/promotion_rules/create.js.erb
|
321
322
|
- app/views/spree/admin/promotion_rules/destroy.js.erb
|
322
323
|
- app/views/spree/admin/promotions/_actions.html.erb
|
@@ -394,6 +395,7 @@ files:
|
|
394
395
|
- app/views/spree/admin/shared/_order_tabs.html.erb
|
395
396
|
- app/views/spree/admin/shared/_product_sub_menu.html.erb
|
396
397
|
- app/views/spree/admin/shared/_product_tabs.html.erb
|
398
|
+
- app/views/spree/admin/shared/_promotion_sub_menu.html.erb
|
397
399
|
- app/views/spree/admin/shared/_refunds.html.erb
|
398
400
|
- app/views/spree/admin/shared/_report_criteria.html.erb
|
399
401
|
- app/views/spree/admin/shared/_report_order_criteria.html.erb
|