spree_backend 2.0.4 → 2.0.5
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/admin/address_states.js +19 -15
- data/app/assets/javascripts/admin/admin.js.erb +1 -5
- data/app/assets/javascripts/admin/nested-attribute.js +15 -11
- data/app/assets/javascripts/admin/option_type_autocomplete.js.erb +20 -16
- data/app/assets/javascripts/admin/orders/edit.js +17 -12
- data/app/assets/javascripts/admin/orders/edit_form.js +16 -12
- data/app/assets/javascripts/admin/product_picker.js +22 -16
- data/app/assets/javascripts/admin/promotions.js +34 -35
- data/app/assets/javascripts/admin/shipments.js.erb +35 -27
- data/app/assets/javascripts/admin/spree-select2.js.erb +2 -1
- data/app/assets/javascripts/admin/spree_backend.js +0 -1
- data/app/assets/javascripts/admin/states.js +10 -8
- data/app/assets/javascripts/admin/stock_management.js.coffee +2 -2
- data/app/assets/javascripts/admin/taxon_autocomplete.js.erb +32 -19
- data/app/assets/javascripts/admin/user_picker.js +21 -13
- data/app/assets/javascripts/admin/variant_autocomplete.js.erb +16 -4
- data/app/assets/stylesheets/admin/plugins/_select2.scss +5 -3
- data/app/assets/stylesheets/admin/sections/_alerts.scss +27 -0
- data/app/assets/stylesheets/admin/spree_admin.scss +1 -0
- data/app/controllers/spree/admin/base_controller.rb +11 -13
- data/app/controllers/spree/admin/images_controller.rb +4 -5
- data/app/controllers/spree/admin/mail_methods_controller.rb +1 -1
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +1 -1
- data/app/controllers/spree/admin/orders_controller.rb +3 -7
- data/app/controllers/spree/admin/payments_controller.rb +1 -1
- data/app/controllers/spree/admin/resource_controller.rb +6 -2
- data/app/helpers/spree/admin/navigation_helper.rb +4 -2
- data/app/helpers/spree/admin/stock_locations_helper.rb +15 -0
- data/app/views/spree/admin/countries/index.html.erb +2 -2
- data/app/views/spree/admin/general_settings/edit.html.erb +3 -3
- data/app/views/spree/admin/option_types/index.html.erb +15 -5
- data/app/views/spree/admin/orders/_shipment.html.erb +2 -2
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +8 -8
- data/app/views/spree/admin/orders/index.html.erb +4 -3
- data/app/views/spree/admin/payment_methods/index.html.erb +7 -4
- data/app/views/spree/admin/payments/_form.html.erb +1 -1
- data/app/views/spree/admin/payments/show.html.erb +2 -2
- data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +1 -1
- data/app/views/spree/admin/product_properties/index.html.erb +9 -13
- data/app/views/spree/admin/products/index.html.erb +3 -3
- data/app/views/spree/admin/products/stock.html.erb +10 -8
- data/app/views/spree/admin/promotions/index.html.erb +6 -6
- data/app/views/spree/admin/properties/index.html.erb +12 -5
- data/app/views/spree/admin/prototypes/_form.html.erb +1 -1
- data/app/views/spree/admin/prototypes/index.html.erb +9 -2
- data/app/views/spree/admin/reports/index.html.erb +2 -3
- data/app/views/spree/admin/shared/_address_form.html.erb +11 -11
- data/app/views/spree/admin/shared/_alert.html.erb +3 -3
- data/app/views/spree/admin/shared/_routes.html.erb +1 -0
- data/app/views/spree/admin/shared/_tabs.html.erb +2 -2
- data/app/views/spree/admin/shared/_translations.html.erb +3 -0
- data/app/views/spree/admin/shipping_categories/index.html.erb +9 -2
- data/app/views/spree/admin/shipping_methods/_form.html.erb +10 -0
- data/app/views/spree/admin/shipping_methods/index.html.erb +9 -5
- data/app/views/spree/admin/stock_locations/_form.html.erb +15 -11
- data/app/views/spree/admin/stock_locations/index.html.erb +9 -6
- data/app/views/spree/admin/stock_movements/index.html.erb +7 -0
- data/app/views/spree/admin/stock_transfers/index.html.erb +19 -18
- data/app/views/spree/admin/stock_transfers/new.html.erb +24 -21
- data/app/views/spree/admin/stock_transfers/show.html.erb +13 -9
- data/app/views/spree/admin/tax_categories/index.html.erb +12 -8
- data/app/views/spree/admin/tax_rates/_form.html.erb +8 -8
- data/app/views/spree/admin/tax_rates/index.html.erb +12 -11
- data/app/views/spree/admin/taxonomies/_list.html.erb +5 -5
- data/app/views/spree/admin/taxonomies/index.html.erb +11 -4
- data/app/views/spree/admin/taxons/_form.html.erb +6 -5
- data/app/views/spree/admin/taxons/edit.html.erb +17 -2
- data/app/views/spree/admin/trackers/index.html.erb +10 -10
- data/app/views/spree/admin/variants/_autocomplete.js.erb +3 -3
- data/app/views/spree/admin/variants/index.html.erb +9 -7
- data/app/views/spree/admin/zones/_country_members.html.erb +10 -0
- data/app/views/spree/admin/zones/_form.html.erb +4 -1
- data/app/views/spree/admin/zones/_state_members.html.erb +10 -0
- data/app/views/spree/admin/zones/edit.html.erb +3 -7
- data/app/views/spree/admin/zones/index.html.erb +11 -10
- data/vendor/assets/javascripts/trunk8.js +362 -226
- metadata +11 -11
- data/app/views/spree/admin/zones/_country_member.html.erb +0 -5
- data/app/views/spree/admin/zones/_member_type.html.erb +0 -19
- data/app/views/spree/admin/zones/_state_member.html.erb +0 -5
- data/vendor/assets/javascripts/jquery.horizontalNav.js +0 -141
|
@@ -1,32 +1,45 @@
|
|
|
1
|
-
$(document).ready(function() {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
$(document).ready(function () {
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
if ($('#product_taxon_ids').length > 0) {
|
|
5
|
+
$('#product_taxon_ids').select2({
|
|
4
6
|
placeholder: Spree.translations.taxon_placeholder,
|
|
5
7
|
multiple: true,
|
|
6
|
-
initSelection: function(element, callback) {
|
|
7
|
-
url = Spree.url(Spree.routes.taxons_search, {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
initSelection: function (element, callback) {
|
|
9
|
+
var url = Spree.url(Spree.routes.taxons_search, {
|
|
10
|
+
ids: element.val()
|
|
11
|
+
});
|
|
12
|
+
return $.getJSON(url, null, function (data) {
|
|
13
|
+
return callback(data['taxons']);
|
|
14
|
+
});
|
|
11
15
|
},
|
|
12
16
|
ajax: {
|
|
13
17
|
url: Spree.routes.taxons_search,
|
|
14
18
|
datatype: 'json',
|
|
15
|
-
data: function(term, page) {
|
|
16
|
-
return {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
data: function (term, page) {
|
|
20
|
+
return {
|
|
21
|
+
per_page: 50,
|
|
22
|
+
page: page,
|
|
23
|
+
q: {
|
|
24
|
+
name_cont: term
|
|
25
|
+
}
|
|
26
|
+
};
|
|
19
27
|
},
|
|
20
28
|
results: function (data, page) {
|
|
21
|
-
|
|
29
|
+
var more = page < data.pages;
|
|
30
|
+
console.log(more)
|
|
31
|
+
return {
|
|
32
|
+
results: data['taxons'],
|
|
33
|
+
more: more
|
|
34
|
+
};
|
|
22
35
|
}
|
|
23
36
|
},
|
|
24
|
-
formatResult: function(taxon) {
|
|
25
|
-
return taxon.pretty_name
|
|
37
|
+
formatResult: function (taxon) {
|
|
38
|
+
return taxon.pretty_name;
|
|
26
39
|
},
|
|
27
|
-
formatSelection: function(taxon) {
|
|
28
|
-
return taxon.pretty_name
|
|
40
|
+
formatSelection: function (taxon) {
|
|
41
|
+
return taxon.pretty_name;
|
|
29
42
|
}
|
|
30
|
-
})
|
|
43
|
+
});
|
|
31
44
|
}
|
|
32
|
-
})
|
|
45
|
+
});
|
|
@@ -1,31 +1,39 @@
|
|
|
1
|
-
$.fn.userAutocomplete = function() {
|
|
1
|
+
$.fn.userAutocomplete = function () {
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
2
4
|
this.select2({
|
|
3
5
|
minimumInputLength: 1,
|
|
4
6
|
multiple: true,
|
|
5
|
-
initSelection: function(element, callback) {
|
|
6
|
-
$.get(Spree.routes.user_search, {
|
|
7
|
-
|
|
8
|
-
})
|
|
7
|
+
initSelection: function (element, callback) {
|
|
8
|
+
$.get(Spree.routes.user_search, {
|
|
9
|
+
ids: element.val()
|
|
10
|
+
}, function (data) {
|
|
11
|
+
callback(data);
|
|
12
|
+
});
|
|
9
13
|
},
|
|
10
14
|
ajax: {
|
|
11
15
|
url: Spree.routes.user_search,
|
|
12
16
|
datatype: 'json',
|
|
13
|
-
data: function(term
|
|
14
|
-
return {
|
|
17
|
+
data: function (term) {
|
|
18
|
+
return {
|
|
19
|
+
q: term
|
|
20
|
+
};
|
|
15
21
|
},
|
|
16
|
-
results: function(data
|
|
17
|
-
return {
|
|
22
|
+
results: function (data) {
|
|
23
|
+
return {
|
|
24
|
+
results: data
|
|
25
|
+
};
|
|
18
26
|
}
|
|
19
27
|
},
|
|
20
|
-
formatResult: function(user) {
|
|
28
|
+
formatResult: function (user) {
|
|
21
29
|
return user.email;
|
|
22
30
|
},
|
|
23
|
-
formatSelection: function(user) {
|
|
31
|
+
formatSelection: function (user) {
|
|
24
32
|
return user.email;
|
|
25
33
|
}
|
|
26
34
|
});
|
|
27
|
-
}
|
|
35
|
+
};
|
|
28
36
|
|
|
29
37
|
$(document).ready(function () {
|
|
30
38
|
$('.user_picker').userAutocomplete();
|
|
31
|
-
})
|
|
39
|
+
});
|
|
@@ -88,7 +88,7 @@ adjustItems = function(shipment_number, variant_id, quantity){
|
|
|
88
88
|
url: Spree.url(url),
|
|
89
89
|
data: { variant_id: variant_id, quantity: new_quantity }
|
|
90
90
|
}).done(function( msg ) {
|
|
91
|
-
|
|
91
|
+
advanceOrder();
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -180,8 +180,6 @@ completeItemSplit = function(event) {
|
|
|
180
180
|
async: false,
|
|
181
181
|
url: Spree.url(Spree.routes.orders_api + "/" + order_number + "/shipments/" + original_shipment_number + "/remove.json"),
|
|
182
182
|
data: { variant_id: variant_id, quantity: quantity }
|
|
183
|
-
}).done(function(msg) {
|
|
184
|
-
window.location.reload();
|
|
185
183
|
});
|
|
186
184
|
|
|
187
185
|
if (new_shipment != undefined) {
|
|
@@ -190,6 +188,8 @@ completeItemSplit = function(event) {
|
|
|
190
188
|
async: false,
|
|
191
189
|
url: Spree.url(Spree.routes.orders_api + "/" + order_number + "/shipments.json"),
|
|
192
190
|
data: { variant_id: variant_id, quantity: quantity, stock_location_id: stock_location_id }
|
|
191
|
+
}).done(function(msg) {
|
|
192
|
+
advanceOrder();
|
|
193
193
|
});
|
|
194
194
|
} else {
|
|
195
195
|
$.ajax({
|
|
@@ -197,11 +197,23 @@ completeItemSplit = function(event) {
|
|
|
197
197
|
async: false,
|
|
198
198
|
url: Spree.url(Spree.routes.orders_api + "/" + order_number + "/shipments/" + target_shipment_number + "/add.json"),
|
|
199
199
|
data: { variant_id: variant_id, quantity: quantity }
|
|
200
|
+
}).done(function(msg) {
|
|
201
|
+
advanceOrder();
|
|
200
202
|
});
|
|
201
203
|
}
|
|
202
204
|
}
|
|
203
205
|
}
|
|
204
206
|
|
|
207
|
+
advanceOrder = function() {
|
|
208
|
+
$.ajax({
|
|
209
|
+
type: "PUT",
|
|
210
|
+
async: false,
|
|
211
|
+
url: Spree.url(Spree.routes.checkouts_api + "/" + order_number + "/advance")
|
|
212
|
+
}).done(function() {
|
|
213
|
+
window.location.reload();
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
|
|
205
217
|
cancelItemSplit = function(event) {
|
|
206
218
|
event.preventDefault();
|
|
207
219
|
var link = $(this);
|
|
@@ -229,7 +241,7 @@ addVariantFromStockLocation = function() {
|
|
|
229
241
|
url: Spree.url(Spree.routes.orders_api + "/" + order_number + "/shipments.json"),
|
|
230
242
|
data: { variant_id: variant_id, quantity: quantity, stock_location_id: stock_location_id }
|
|
231
243
|
}).done(function( msg ) {
|
|
232
|
-
|
|
244
|
+
advanceOrder();
|
|
233
245
|
}).error(function( msg ) {
|
|
234
246
|
console.log(msg);
|
|
235
247
|
});
|
|
@@ -40,10 +40,12 @@
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
.select2-drop {
|
|
44
|
-
border-color: $color-sel-hover-bg;
|
|
43
|
+
.select2-drop {
|
|
45
44
|
box-shadow: none !important;
|
|
46
45
|
z-index: 1000000;
|
|
46
|
+
max-width: auto !important;
|
|
47
|
+
border-top: 1px solid;
|
|
48
|
+
border-color: $color-sel-hover-bg;
|
|
47
49
|
|
|
48
50
|
&.select2-drop-above {
|
|
49
51
|
border-color: $color-sel-hover-bg;
|
|
@@ -87,7 +89,7 @@
|
|
|
87
89
|
display: block;
|
|
88
90
|
width: 100%;
|
|
89
91
|
height: 100%;
|
|
90
|
-
background: none;
|
|
92
|
+
background: none !important;
|
|
91
93
|
font-family: FontAwesome;
|
|
92
94
|
font-weight: 200 !important;
|
|
93
95
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.alert {
|
|
2
|
+
padding: 10px;
|
|
3
|
+
color: white;
|
|
4
|
+
font-weight: bold;
|
|
5
|
+
font-size: 125%;
|
|
6
|
+
|
|
7
|
+
&.security {
|
|
8
|
+
background: #cc0000;
|
|
9
|
+
border-bottom: 3px solid darken(#cc0000, 10);
|
|
10
|
+
a {
|
|
11
|
+
color: lighten($color-3, 20);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&.release, &.news {
|
|
16
|
+
background: $color-2;
|
|
17
|
+
border-bottom: 3px solid darken($color-2, 10);
|
|
18
|
+
a {
|
|
19
|
+
color: darken($color-3, 10);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.dismiss {
|
|
24
|
+
float: right;
|
|
25
|
+
color: white !important;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -28,24 +28,17 @@ module Spree
|
|
|
28
28
|
# Need to generate an API key for a user due to some backend actions
|
|
29
29
|
# requiring authentication to the Spree API
|
|
30
30
|
def generate_admin_api_key
|
|
31
|
-
if user = try_spree_current_user
|
|
32
|
-
|
|
33
|
-
user.generate_spree_api_key!
|
|
34
|
-
end
|
|
31
|
+
if (user = try_spree_current_user) && user.spree_api_key.blank?
|
|
32
|
+
user.generate_spree_api_key!
|
|
35
33
|
end
|
|
36
34
|
end
|
|
37
35
|
|
|
38
36
|
def check_alerts
|
|
39
37
|
return unless should_check_alerts?
|
|
40
|
-
|
|
41
38
|
unless session.has_key? :alerts
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Spree::Config.set :last_check_for_spree_alerts => DateTime.now.to_s
|
|
46
|
-
rescue
|
|
47
|
-
session[:alerts] = nil
|
|
48
|
-
end
|
|
39
|
+
session[:alerts] = Spree::Alert.current(request.host)
|
|
40
|
+
filter_dismissed_alerts
|
|
41
|
+
Spree::Config.set :last_check_for_spree_alerts => DateTime.now.to_s
|
|
49
42
|
end
|
|
50
43
|
end
|
|
51
44
|
|
|
@@ -81,7 +74,12 @@ module Spree
|
|
|
81
74
|
def filter_dismissed_alerts
|
|
82
75
|
return unless session[:alerts]
|
|
83
76
|
dismissed = (Spree::Config[:dismissed_spree_alerts] || '').split(',')
|
|
84
|
-
|
|
77
|
+
# If it's a string, something has gone wrong with the alerts service. Ignore it.
|
|
78
|
+
if session[:alerts].is_a?(String)
|
|
79
|
+
session[:alerts] = nil
|
|
80
|
+
else
|
|
81
|
+
session[:alerts].reject! { |a| dismissed.include? a["id"].to_s }
|
|
82
|
+
end
|
|
85
83
|
end
|
|
86
84
|
|
|
87
85
|
def config_locale
|
|
@@ -5,10 +5,13 @@ module Spree
|
|
|
5
5
|
|
|
6
6
|
create.before :set_viewable
|
|
7
7
|
update.before :set_viewable
|
|
8
|
-
destroy.before :destroy_before
|
|
9
8
|
|
|
10
9
|
private
|
|
11
10
|
|
|
11
|
+
def location_after_destroy
|
|
12
|
+
admin_product_images_url(@product)
|
|
13
|
+
end
|
|
14
|
+
|
|
12
15
|
def location_after_save
|
|
13
16
|
admin_product_images_url(@product)
|
|
14
17
|
end
|
|
@@ -26,10 +29,6 @@ module Spree
|
|
|
26
29
|
@image.viewable_id = params[:image][:viewable_id]
|
|
27
30
|
end
|
|
28
31
|
|
|
29
|
-
def destroy_before
|
|
30
|
-
@viewable = @image.viewable
|
|
31
|
-
end
|
|
32
|
-
|
|
33
32
|
end
|
|
34
33
|
end
|
|
35
34
|
end
|
|
@@ -18,7 +18,7 @@ module Spree
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def testmail
|
|
21
|
-
if TestMailer.test_email(try_spree_current_user).deliver
|
|
21
|
+
if TestMailer.test_email(try_spree_current_user.id).deliver
|
|
22
22
|
flash[:success] = Spree.t('admin.mail_methods.testmail.delivery_success')
|
|
23
23
|
else
|
|
24
24
|
flash[:error] = Spree.t('admin.mail_methods.testmail.delivery_error')
|
|
@@ -52,13 +52,9 @@ module Spree
|
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
def edit
|
|
55
|
-
@order.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
# The payment step shows an error of 'No pending payments'
|
|
59
|
-
# Clearing the errors from the order object will stop this error
|
|
60
|
-
# appearing on the edit page where we don't want it to.
|
|
61
|
-
@order.errors.clear
|
|
55
|
+
unless @order.complete?
|
|
56
|
+
@order.refresh_shipment_rates
|
|
57
|
+
end
|
|
62
58
|
end
|
|
63
59
|
|
|
64
60
|
def update
|
|
@@ -92,7 +92,7 @@ module Spree
|
|
|
92
92
|
#
|
|
93
93
|
# Otherwise redirect user to that step
|
|
94
94
|
def can_transition_to_payment
|
|
95
|
-
unless @order.
|
|
95
|
+
unless @order.billing_address.present?
|
|
96
96
|
flash[:notice] = Spree.t(:fill_in_customer_info)
|
|
97
97
|
redirect_to edit_admin_order_customer_url(@order)
|
|
98
98
|
end
|
|
@@ -70,13 +70,13 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
70
70
|
invoke_callbacks(:destroy, :after)
|
|
71
71
|
flash[:success] = flash_message_for(@object, :successfully_removed)
|
|
72
72
|
respond_with(@object) do |format|
|
|
73
|
-
format.html { redirect_to
|
|
73
|
+
format.html { redirect_to location_after_destroy }
|
|
74
74
|
format.js { render :partial => "spree/admin/shared/destroy" }
|
|
75
75
|
end
|
|
76
76
|
else
|
|
77
77
|
invoke_callbacks(:destroy, :fails)
|
|
78
78
|
respond_with(@object) do |format|
|
|
79
|
-
format.html { redirect_to
|
|
79
|
+
format.html { redirect_to location_after_destroy }
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
82
|
end
|
|
@@ -198,6 +198,10 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
198
198
|
end
|
|
199
199
|
end
|
|
200
200
|
|
|
201
|
+
def location_after_destroy
|
|
202
|
+
collection_url
|
|
203
|
+
end
|
|
204
|
+
|
|
201
205
|
def location_after_save
|
|
202
206
|
collection_url
|
|
203
207
|
end
|
|
@@ -30,7 +30,7 @@ module Spree
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
selected = if options[:match_path]
|
|
33
|
-
request.fullpath.starts_with?("#{
|
|
33
|
+
request.fullpath.starts_with?("#{admin_path}#{options[:match_path]}")
|
|
34
34
|
else
|
|
35
35
|
args.include?(controller.controller_name.to_sym)
|
|
36
36
|
end
|
|
@@ -142,7 +142,9 @@ module Spree
|
|
|
142
142
|
end
|
|
143
143
|
|
|
144
144
|
def configurations_sidebar_menu_item(link_text, url, options = {})
|
|
145
|
-
is_active = url.ends_with?(controller.controller_name) ||
|
|
145
|
+
is_active = url.ends_with?(controller.controller_name) ||
|
|
146
|
+
url.ends_with?("#{controller.controller_name}/edit") ||
|
|
147
|
+
url.ends_with?("#{controller.controller_name.singularize}/edit")
|
|
146
148
|
options.merge!(:class => is_active ? 'active' : nil)
|
|
147
149
|
content_tag(:li, options) do
|
|
148
150
|
link_to(link_text, url)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Admin
|
|
3
|
+
module StockLocationsHelper
|
|
4
|
+
def display_name(stock_location)
|
|
5
|
+
name_parts = [stock_location.admin_name, stock_location.name]
|
|
6
|
+
name_parts.delete_if(&:blank?)
|
|
7
|
+
name_parts.join(' / ')
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def state(stock_location)
|
|
11
|
+
stock_location.active? ? 'active' : 'inactive'
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -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(:listing_countries) %>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<tr id="<%= spree_dom_id country %>" data-hook="country_row" class="<%= cycle('odd', 'even')%>">
|
|
25
25
|
<td><%= country.name %></td>
|
|
26
26
|
<td><%= country.iso_name %></td>
|
|
27
|
-
<td class="align-center"><%= country.states_required.
|
|
27
|
+
<td class="align-center"><%= country.states_required? ? Spree.t(:say_yes) : Spree.t(:say_no) %></td>
|
|
28
28
|
<td class="actions">
|
|
29
29
|
<%= link_to_edit country, :no_text => true %>
|
|
30
30
|
</td>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<% @preferences_general.each do |key|
|
|
12
12
|
type = Spree::Config.preference_type(key) %>
|
|
13
13
|
<div class="field">
|
|
14
|
-
<%= label_tag(key, Spree.t(key)
|
|
14
|
+
<%= label_tag(key, Spree.t(key)) + tag(:br) if type != :boolean %>
|
|
15
15
|
<%= preference_field_tag(key, Spree::Config[key], :type => type) %>
|
|
16
16
|
<%= label_tag(key, Spree.t(key)) + tag(:br) if type == :boolean %>
|
|
17
17
|
</div>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<% @preferences_security.each do |key|
|
|
26
26
|
type = Spree::Config.preference_type(key) %>
|
|
27
27
|
<div class="field">
|
|
28
|
-
<%= label_tag(key, Spree.t(key)
|
|
28
|
+
<%= label_tag(key, Spree.t(key)) + tag(:br) if type != :boolean %>
|
|
29
29
|
<%= preference_field_tag(key, Spree::Config[key], :type => type) %>
|
|
30
30
|
<%= label_tag(key, Spree.t(key)) + tag(:br) if type == :boolean %>
|
|
31
31
|
</div>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
<% @preferences_currency.each do |key|
|
|
39
39
|
type = Spree::Config.preference_type(key) %>
|
|
40
40
|
<div class="field">
|
|
41
|
-
<%= label_tag(key, Spree.t(key)
|
|
41
|
+
<%= label_tag(key, Spree.t(key)) + tag(:br) if type != :boolean %>
|
|
42
42
|
<%= preference_field_tag(key, Spree::Config[key], :type => type) %>
|
|
43
43
|
<%= label_tag(key, Spree.t(key)) + tag(:br) if type == :boolean %>
|
|
44
44
|
</div>
|
|
@@ -12,14 +12,17 @@
|
|
|
12
12
|
|
|
13
13
|
<div id="new_option_type"></div>
|
|
14
14
|
|
|
15
|
+
<% if @option_types.any? %>
|
|
15
16
|
<table class="index sortable" id="listing_option_types" data-hook data-sortable-link="<%= update_positions_admin_option_types_url %>">
|
|
16
17
|
<colgroup>
|
|
17
|
-
<col style="width:
|
|
18
|
-
<col style="width:
|
|
19
|
-
<col style="width:
|
|
18
|
+
<col style="width: 10%">
|
|
19
|
+
<col style="width: 35%">
|
|
20
|
+
<col style="width: 40%">
|
|
21
|
+
<col style="width: 15%">
|
|
20
22
|
</colgroup>
|
|
21
23
|
<thead>
|
|
22
24
|
<tr data-hook="option_header">
|
|
25
|
+
<th class="no-border"></th>
|
|
23
26
|
<th><%= Spree.t(:name) %></th>
|
|
24
27
|
<th><%= Spree.t(:presentation) %></th>
|
|
25
28
|
<th class="actions"></th>
|
|
@@ -28,8 +31,9 @@
|
|
|
28
31
|
<tbody>
|
|
29
32
|
<% @option_types.each do |option_type| %>
|
|
30
33
|
<tr class="spree_option_type <%= cycle('odd', 'even')%>" id="<%= spree_dom_id option_type %>" data-hook="option_row">
|
|
31
|
-
<td><span class="handle"></span
|
|
32
|
-
<td class="
|
|
34
|
+
<td class="no-border"><span class="handle"></span></td>
|
|
35
|
+
<td class="align-center"><%= option_type.name %></td>
|
|
36
|
+
<td class="align-center presentation"><%= option_type.presentation %></td>
|
|
33
37
|
<td class="actions">
|
|
34
38
|
<%= link_to_edit(option_type, :class => 'admin_edit_option_type', :no_text => true) %>
|
|
35
39
|
<%= link_to_delete(option_type, :no_text => true) %>
|
|
@@ -38,3 +42,9 @@
|
|
|
38
42
|
<% end %>
|
|
39
43
|
</tbody>
|
|
40
44
|
</table>
|
|
45
|
+
<% else %>
|
|
46
|
+
<div class="alpha twelve columns no-objects-found">
|
|
47
|
+
<%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/option_type')) %>,
|
|
48
|
+
<%= link_to Spree.t(:add_one), spree.new_admin_option_type_path %>!
|
|
49
|
+
</div>
|
|
50
|
+
<% end %>
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
<div class="field omega four columns">
|
|
50
50
|
<label><%= Spree.t(:associated_adjustment_closed) %></label>
|
|
51
51
|
<ul>
|
|
52
|
-
<li><%= radio_button_tag :open_adjustment, 'yes', false, :
|
|
53
|
-
<li><%= radio_button_tag :open_adjustment, 'no', true, :
|
|
52
|
+
<li><%= radio_button_tag :open_adjustment, 'yes', false, data: { 'shipment-number' => shipment.number } %> <%= Spree.t(:say_yes) %></li>
|
|
53
|
+
<li><%= radio_button_tag :open_adjustment, 'no', true, data: { 'shipment-number' => shipment.number } %> <%= Spree.t(:say_no) %></li>
|
|
54
54
|
</ul>
|
|
55
55
|
</div>
|
|
56
56
|
<% end %>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<fieldset data-hook="admin_customer_detail_form_fields" class="no-border-top">
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
<fieldset class="index no-border-bottom" data-hook="customer_guest">
|
|
4
4
|
<legend align="center"><%= Spree.t(:account) %></legend>
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
<div data-hook="customer_fields" class="row">
|
|
7
7
|
<div class="alpha eight columns">
|
|
8
8
|
<div class="field">
|
|
9
|
-
<%= f.label :email, Spree.t(:email)
|
|
9
|
+
<%= f.label :email, Spree.t(:email) %>
|
|
10
10
|
<%= f.email_field :email, :class => 'fullwidth' %>
|
|
11
11
|
</div>
|
|
12
12
|
</div>
|
|
13
13
|
<div class="omega four columns">
|
|
14
14
|
<div class="field">
|
|
15
|
-
<%= label_tag nil, Spree.t(:guest_checkout)
|
|
15
|
+
<%= label_tag nil, Spree.t(:guest_checkout) %>
|
|
16
16
|
<ul>
|
|
17
17
|
<% if @order.completed? %>
|
|
18
18
|
<li>
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
</li>
|
|
27
27
|
<li>
|
|
28
28
|
<%= radio_button_tag :guest_checkout, false, !guest, :disabled => @order.cart? %>
|
|
29
|
-
<%= Spree.t(:say_no) %>
|
|
30
|
-
</li>
|
|
29
|
+
<%= Spree.t(:say_no) %>
|
|
30
|
+
</li>
|
|
31
31
|
<%= hidden_field_tag :user_id, @order.user_id %>
|
|
32
32
|
<% end %>
|
|
33
33
|
</ul>
|
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
<% end %>
|
|
45
45
|
</fieldset>
|
|
46
46
|
</div>
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
<div class="omega six columns" data-hook="ship_address_wrapper">
|
|
49
49
|
<fieldset class="no-border-bottom">
|
|
50
50
|
<legend align="center"><%= Spree.t(:shipping_address) %></legend>
|
|
51
51
|
<%= f.fields_for :ship_address do |sa_form| %>
|
|
52
52
|
<%= render :partial => 'spree/admin/shared/address_form', :locals => { :f => sa_form, :name => Spree.t(:shipping_address), :use_billing => true } %>
|
|
53
|
-
<% end %>
|
|
53
|
+
<% end %>
|
|
54
54
|
</fieldset>
|
|
55
55
|
</div>
|
|
56
56
|
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
|
|
81
81
|
<%= paginate @orders %>
|
|
82
82
|
|
|
83
|
-
<%
|
|
83
|
+
<% if @orders.any? %>
|
|
84
84
|
<table class="index responsive" id="listing_orders" data-hook>
|
|
85
85
|
<colgroup>
|
|
86
86
|
<col style="width: 13%;">
|
|
@@ -126,8 +126,9 @@
|
|
|
126
126
|
</tbody>
|
|
127
127
|
</table>
|
|
128
128
|
<% else %>
|
|
129
|
-
<div class="no-objects-found">
|
|
130
|
-
<%= Spree.t(:
|
|
129
|
+
<div class="alpha twelve columns no-objects-found">
|
|
130
|
+
<%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/order')) %>,
|
|
131
|
+
<%= link_to Spree.t(:add_one), spree.new_admin_order_path %>!
|
|
131
132
|
</div>
|
|
132
133
|
<% end %>
|
|
133
134
|
|
|
@@ -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(:payment_methods) %>
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
<th><%= Spree.t(:display) %></th>
|
|
29
29
|
<th><%= Spree.t(:active) %></th>
|
|
30
30
|
<th data-hook="admin_payment_methods_index_header_actions" class="actions"></th>
|
|
31
|
-
</tr>
|
|
31
|
+
</tr>
|
|
32
32
|
</thead>
|
|
33
33
|
<tbody>
|
|
34
34
|
<% @payment_methods.each do |method|%>
|
|
35
35
|
<tr id="<%= spree_dom_id method %>" data-hook="admin_payment_methods_index_rows" class="<%= cycle('odd', 'even')%>">
|
|
36
36
|
<td class="align-center"><%= method.name %></td>
|
|
37
|
-
<td><%= method.type %></td>
|
|
37
|
+
<td class="align-center"><%= method.type %></td>
|
|
38
38
|
<td class="align-center"><%= method.environment.to_s.titleize %></td>
|
|
39
39
|
<td class="align-center"><%= method.display_on.blank? ? Spree.t(:both) : Spree.t(method.display_on) %></td>
|
|
40
40
|
<td class="align-center"><%= method.active ? Spree.t(:say_yes) : Spree.t(:say_no) %></td>
|
|
@@ -47,6 +47,9 @@
|
|
|
47
47
|
</tbody>
|
|
48
48
|
</table>
|
|
49
49
|
<% else %>
|
|
50
|
-
<div class="alpha twelve columns no-objects-found"
|
|
50
|
+
<div class="alpha twelve columns no-objects-found">
|
|
51
|
+
<%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/payment_method')) %>,
|
|
52
|
+
<%= link_to Spree.t(:add_one), spree.new_admin_payment_method_path %>!
|
|
53
|
+
</div>
|
|
51
54
|
<% end %>
|
|
52
55
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<% content_for :page_title do %>
|
|
4
4
|
<i class="icon-arrow-right"></i>
|
|
5
|
-
<%=
|
|
5
|
+
<%= I18n.t("activerecord.models.#{@payment.class.to_s.underscore}.one") %>
|
|
6
6
|
<i class="icon-arrow-right"></i>
|
|
7
7
|
<%= payment_method_name(@payment) %>
|
|
8
8
|
<% end %>
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
<%= render :partial => "spree/admin/payments/source_views/#{@payment.payment_method.method_type}", :locals => { :payment => @payment.source.is_a?(Spree::Payment) ? @payment.source : @payment } %>
|
|
15
15
|
|
|
16
16
|
<div data-hook="amount" class="align-center">
|
|
17
|
-
<h5><%= label_tag nil, Spree.t(:amount) %>: <span class="green"><%= @payment.
|
|
17
|
+
<h5><%= label_tag nil, Spree.t(:amount) %>: <span class="green"><%= @payment.display_amount %></span> </h5>
|
|
18
18
|
</div>
|