spree_backend 2.0.4 → 2.0.5
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/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>
|