spree_backend 2.4.0.rc2 → 2.4.0.rc3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|