spree_backend 3.0.10 → 3.1.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/backend.js +22 -19
- data/app/assets/javascripts/spree/backend/admin.js +10 -17
- data/app/assets/javascripts/spree/backend/handlebar_extensions.js +0 -2
- data/app/assets/javascripts/spree/backend/product_picker.js +1 -2
- data/app/assets/javascripts/spree/backend/spree-select2.js +0 -1
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +1 -0
- data/app/assets/javascripts/spree/backend/taxons.js.coffee +6 -1
- data/app/assets/stylesheets/spree/backend/components/_labels.scss +1 -0
- data/app/assets/stylesheets/spree/backend/components/_page_header.scss +15 -0
- data/app/assets/stylesheets/spree/backend/shared/_base.scss +9 -1
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +5 -1
- data/app/controllers/spree/admin/adjustments_controller.rb +2 -2
- data/app/controllers/spree/admin/customer_returns_controller.rb +5 -4
- data/app/controllers/spree/admin/option_types_controller.rb +1 -1
- data/app/controllers/spree/admin/option_values_controller.rb +1 -1
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +37 -20
- data/app/controllers/spree/admin/orders_controller.rb +6 -6
- data/app/controllers/spree/admin/payment_methods_controller.rb +3 -3
- data/app/controllers/spree/admin/payments_controller.rb +2 -2
- data/app/controllers/spree/admin/products_controller.rb +11 -2
- data/app/controllers/spree/admin/promotions_controller.rb +0 -2
- data/app/controllers/spree/admin/properties_controller.rb +0 -2
- data/app/controllers/spree/admin/resource_controller.rb +6 -7
- data/app/controllers/spree/admin/return_index_controller.rb +28 -0
- data/app/controllers/spree/admin/stock_transfers_controller.rb +2 -4
- data/app/controllers/spree/admin/store_credit_categories_controller.rb +6 -0
- data/app/controllers/spree/admin/store_credits_controller.rb +94 -0
- data/app/controllers/spree/admin/taxons_controller.rb +14 -12
- data/app/controllers/spree/admin/users_controller.rb +4 -25
- data/app/controllers/spree/admin/variants_controller.rb +7 -4
- data/app/helpers/spree/admin/base_helper.rb +9 -0
- data/app/helpers/spree/admin/navigation_helper.rb +19 -8
- data/app/helpers/spree/admin/orders_helper.rb +11 -7
- data/app/views/spree/admin/countries/edit.html.erb +4 -0
- data/app/views/spree/admin/countries/new.html.erb +1 -1
- data/app/views/spree/admin/general_settings/edit.html.erb +19 -18
- data/app/views/spree/admin/option_types/edit.html.erb +2 -0
- data/app/views/spree/admin/option_types/new.html.erb +4 -0
- data/app/views/spree/admin/orders/_add_line_item.html.erb +3 -3
- data/app/views/spree/admin/orders/_add_product.html.erb +3 -3
- data/app/views/spree/admin/orders/_form.html.erb +22 -22
- data/app/views/spree/admin/orders/_line_items.html.erb +5 -5
- data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +19 -19
- data/app/views/spree/admin/orders/_order_actions.html.erb +12 -0
- data/app/views/spree/admin/orders/_risk_analysis.html.erb +2 -2
- data/app/views/spree/admin/orders/cart.html.erb +7 -11
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +4 -4
- data/app/views/spree/admin/orders/customer_details/edit.html.erb +3 -3
- data/app/views/spree/admin/orders/edit.html.erb +6 -10
- data/app/views/spree/admin/orders/index.html.erb +7 -5
- data/app/views/spree/admin/payment_methods/_form.html.erb +1 -1
- data/app/views/spree/admin/payment_methods/edit.html.erb +4 -0
- data/app/views/spree/admin/payment_methods/index.html.erb +8 -2
- data/app/views/spree/admin/payment_methods/new.html.erb +4 -0
- data/app/views/spree/admin/payments/index.html.erb +1 -1
- data/app/views/spree/admin/payments/source_forms/_storecredit.html.erb +9 -0
- data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +29 -0
- data/app/views/spree/admin/products/_form.html.erb +12 -3
- data/app/views/spree/admin/products/edit.html.erb +1 -0
- data/app/views/spree/admin/products/index.html.erb +10 -0
- data/app/views/spree/admin/products/new.html.erb +4 -0
- data/app/views/spree/admin/promotion_categories/edit.html.erb +4 -0
- data/app/views/spree/admin/promotion_categories/new.html.erb +4 -0
- data/app/views/spree/admin/promotions/edit.html.erb +4 -0
- data/app/views/spree/admin/promotions/new.html.erb +4 -0
- data/app/views/spree/admin/properties/edit.html.erb +4 -0
- data/app/views/spree/admin/properties/new.html.erb +4 -0
- data/app/views/spree/admin/prototypes/edit.html.erb +4 -0
- data/app/views/spree/admin/prototypes/new.html.erb +4 -0
- data/app/views/spree/admin/refund_reasons/destroy.js.erb +1 -0
- data/app/views/spree/admin/reports/sales_total.html.erb +1 -1
- data/app/views/spree/admin/return_authorization_reasons/destroy.js.erb +1 -0
- data/app/views/spree/admin/return_index/customer_returns.html.erb +64 -0
- data/app/views/spree/admin/return_index/return_authorizations.html.erb +76 -0
- data/app/views/spree/admin/roles/edit.html.erb +4 -0
- data/app/views/spree/admin/roles/new.html.erb +4 -0
- data/app/views/spree/admin/shared/_destroy.js.erb +6 -3
- data/app/views/spree/admin/shared/_error_messages.html.erb +1 -1
- data/app/views/spree/admin/shared/_index_table_options.html.erb +7 -1
- data/app/views/spree/admin/shared/_main_menu.html.erb +6 -0
- data/app/views/spree/admin/shared/_order_tabs.html.erb +1 -1
- data/app/views/spree/admin/shared/named_types/_index.html.erb +2 -1
- data/app/views/spree/admin/shared/sub_menu/_configuration.html.erb +1 -0
- data/app/views/spree/admin/shared/sub_menu/_returns.html.erb +4 -0
- data/app/views/spree/admin/shipping_categories/edit.html.erb +4 -0
- data/app/views/spree/admin/shipping_categories/new.html.erb +4 -0
- data/app/views/spree/admin/state_changes/index.html.erb +2 -2
- data/app/views/spree/admin/states/edit.html.erb +4 -0
- data/app/views/spree/admin/states/new.html.erb +4 -0
- data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
- data/app/views/spree/admin/stock_movements/_form.html.erb +3 -3
- data/app/views/spree/admin/stock_movements/edit.html.erb +2 -1
- data/app/views/spree/admin/stock_movements/index.html.erb +2 -2
- data/app/views/spree/admin/stock_movements/new.html.erb +4 -4
- data/app/views/spree/admin/store_credit_categories/_form.html.erb +8 -0
- data/app/views/spree/admin/store_credit_categories/edit.html.erb +10 -0
- data/app/views/spree/admin/store_credit_categories/index.html.erb +34 -0
- data/app/views/spree/admin/store_credit_categories/new.html.erb +10 -0
- data/app/views/spree/admin/store_credits/_form.html.erb +18 -0
- data/app/views/spree/admin/store_credits/edit.html.erb +12 -0
- data/app/views/spree/admin/store_credits/index.html.erb +46 -0
- data/app/views/spree/admin/store_credits/new.html.erb +12 -0
- data/app/views/spree/admin/tax_categories/edit.html.erb +1 -1
- data/app/views/spree/admin/tax_categories/new.html.erb +1 -1
- data/app/views/spree/admin/tax_rates/edit.html.erb +4 -0
- data/app/views/spree/admin/tax_rates/index.html.erb +1 -1
- data/app/views/spree/admin/tax_rates/new.html.erb +4 -0
- data/app/views/spree/admin/taxonomies/edit.erb +5 -1
- data/app/views/spree/admin/taxonomies/new.html.erb +4 -0
- data/app/views/spree/admin/taxons/_form.html.erb +1 -1
- data/app/views/spree/admin/users/_form.html.erb +5 -6
- data/app/views/spree/admin/users/_lifetime_stats.html.erb +6 -2
- data/app/views/spree/admin/users/_sidebar.html.erb +3 -0
- data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
- data/app/views/spree/admin/users/items.html.erb +1 -1
- data/app/views/spree/admin/users/new.html.erb +4 -0
- data/app/views/spree/admin/users/orders.html.erb +1 -1
- data/app/views/spree/admin/variants/_form.html.erb +8 -1
- data/app/views/spree/admin/variants/index.html.erb +4 -2
- data/app/views/spree/admin/zones/index.html.erb +1 -1
- data/config/routes.rb +19 -9
- data/lib/spree/backend/callbacks.rb +4 -8
- data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +164 -9
- data/spec/controllers/spree/admin/orders_controller_spec.rb +16 -9
- data/spec/controllers/spree/admin/payments_controller_spec.rb +10 -10
- data/spec/controllers/spree/admin/products_controller_spec.rb +61 -12
- data/spec/controllers/spree/admin/return_index_controller_spec.rb +37 -0
- data/spec/controllers/spree/admin/users_controller_spec.rb +3 -3
- data/spec/features/admin/configuration/analytics_tracker_spec.rb +3 -2
- data/spec/features/admin/configuration/countries_spec.rb +1 -1
- data/spec/features/admin/configuration/general_settings_spec.rb +1 -0
- data/spec/features/admin/configuration/payment_methods_spec.rb +4 -4
- data/spec/features/admin/configuration/store_credit_categories_spec.rb +50 -0
- data/spec/features/admin/homepage_spec.rb +19 -11
- data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +2 -2
- data/spec/features/admin/orders/customer_details_spec.rb +8 -21
- data/spec/features/admin/orders/line_items_spec.rb +2 -2
- data/spec/features/admin/orders/listing_spec.rb +3 -6
- data/spec/features/admin/orders/new_order_spec.rb +13 -14
- data/spec/features/admin/orders/payments_spec.rb +1 -1
- data/spec/features/admin/products/products_spec.rb +2 -2
- data/spec/features/admin/products/stock_management_spec.rb +5 -4
- data/spec/features/admin/refund_reasons/refund_reasons_spec.rb +57 -0
- data/spec/features/admin/reports_spec.rb +2 -2
- data/spec/features/admin/return_authorization_reasons/return_authorization_reasons_spec.rb +63 -0
- data/spec/features/admin/returns/customer_returns_spec.rb +80 -0
- data/spec/features/admin/returns/return_authorizations_spec.rb +152 -0
- data/spec/features/admin/store_credits_spec.rb +93 -0
- data/spec/features/admin/users_spec.rb +8 -6
- data/spec/helpers/admin/base_helper_spec.rb +6 -0
- data/spec/routing/admin_path_spec.rb +22 -0
- data/spec/spec_helper.rb +1 -0
- data/spree_backend.gemspec +0 -1
- metadata +36 -10
- data/CHANGELOG.md +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72f29c266e31ffa57b06e31e539805843fd76f6b
|
4
|
+
data.tar.gz: 783e730217fa4b781cf3943da4f3e11d4b84dc04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 436b9616f06b71d298ba59c69ed05b2cbdbc2c9b606d58e506dd0a5424c8eb2fea8eebf3d1ab1e2e9981974f20b9892f9d5bb2e010aa39a8cc917c741115f888
|
7
|
+
data.tar.gz: 48da0978b94d953e2007c97b090fd05fe8db10fa7d010d5406cb7815cc6119a52e195e827980b62d1f088f14d4f323d201fb72c909e79785a7fe10b14aaf1c81
|
@@ -1,4 +1,6 @@
|
|
1
|
+
//= require modernizr
|
1
2
|
//= require bootstrap-sprockets
|
3
|
+
//= require handlebars
|
2
4
|
//= require jquery
|
3
5
|
//= require jquery.cookie
|
4
6
|
//= require jquery.jstree/jquery.jstree
|
@@ -6,9 +8,10 @@
|
|
6
8
|
//= require jquery-ui/datepicker
|
7
9
|
//= require jquery-ui/sortable
|
8
10
|
//= require jquery-ui/autocomplete
|
9
|
-
//= require
|
11
|
+
//= require select2
|
10
12
|
//= require underscore-min.js
|
11
13
|
//= require velocity
|
14
|
+
|
12
15
|
//= require spree
|
13
16
|
//= require spree/backend/spree-select2
|
14
17
|
//= require spree/backend/address_states
|
@@ -47,30 +50,30 @@
|
|
47
50
|
//= require spree/backend/variant_management
|
48
51
|
//= require spree/backend/zone
|
49
52
|
|
50
|
-
Spree.routes.clear_cache = Spree.
|
51
|
-
Spree.routes.checkouts_api = Spree.pathFor('api/checkouts')
|
52
|
-
Spree.routes.classifications_api = Spree.pathFor('api/classifications')
|
53
|
-
Spree.routes.option_type_search = Spree.pathFor('api/option_types')
|
54
|
-
Spree.routes.option_value_search = Spree.pathFor('api/option_values')
|
55
|
-
Spree.routes.orders_api = Spree.pathFor('api/orders')
|
56
|
-
Spree.routes.products_api = Spree.pathFor('api/products')
|
57
|
-
Spree.routes.product_search = Spree.
|
58
|
-
Spree.routes.shipments_api = Spree.pathFor('api/shipments')
|
59
|
-
Spree.routes.checkouts_api = Spree.pathFor('api/checkouts')
|
60
|
-
Spree.routes.stock_locations_api = Spree.pathFor('api/stock_locations')
|
61
|
-
Spree.routes.taxon_products_api = Spree.pathFor('api/taxons/products')
|
62
|
-
Spree.routes.taxons_search = Spree.pathFor('api/taxons')
|
63
|
-
Spree.routes.user_search = Spree.
|
64
|
-
Spree.routes.variants_api = Spree.pathFor('api/variants')
|
53
|
+
Spree.routes.clear_cache = Spree.adminPathFor('general_settings/clear_cache')
|
54
|
+
Spree.routes.checkouts_api = Spree.pathFor('api/v1/checkouts')
|
55
|
+
Spree.routes.classifications_api = Spree.pathFor('api/v1/classifications')
|
56
|
+
Spree.routes.option_type_search = Spree.pathFor('api/v1/option_types')
|
57
|
+
Spree.routes.option_value_search = Spree.pathFor('api/v1/option_values')
|
58
|
+
Spree.routes.orders_api = Spree.pathFor('api/v1/orders')
|
59
|
+
Spree.routes.products_api = Spree.pathFor('api/v1/products')
|
60
|
+
Spree.routes.product_search = Spree.adminPathFor('search/products')
|
61
|
+
Spree.routes.shipments_api = Spree.pathFor('api/v1/shipments')
|
62
|
+
Spree.routes.checkouts_api = Spree.pathFor('api/v1/checkouts')
|
63
|
+
Spree.routes.stock_locations_api = Spree.pathFor('api/v1/stock_locations')
|
64
|
+
Spree.routes.taxon_products_api = Spree.pathFor('api/v1/taxons/products')
|
65
|
+
Spree.routes.taxons_search = Spree.pathFor('api/v1/taxons')
|
66
|
+
Spree.routes.user_search = Spree.adminPathFor('search/users')
|
67
|
+
Spree.routes.variants_api = Spree.pathFor('api/v1/variants')
|
65
68
|
|
66
69
|
Spree.routes.edit_product = function(product_id) {
|
67
|
-
return Spree.
|
70
|
+
return Spree.adminPathFor('products/' + product_id + '/edit')
|
68
71
|
}
|
69
72
|
|
70
73
|
Spree.routes.payments_api = function(order_id) {
|
71
|
-
return Spree.pathFor('api/orders/' + order_id + '/payments')
|
74
|
+
return Spree.pathFor('api/v1/orders/' + order_id + '/payments')
|
72
75
|
}
|
73
76
|
|
74
77
|
Spree.routes.stock_items_api = function(stock_location_id) {
|
75
|
-
return Spree.pathFor('api/stock_locations/' + stock_location_id + '/stock_items')
|
78
|
+
return Spree.pathFor('api/v1/stock_locations/' + stock_location_id + '/stock_items')
|
76
79
|
}
|
@@ -1,13 +1,3 @@
|
|
1
|
-
//= require_self
|
2
|
-
//= require spree/backend/handlebar_extensions
|
3
|
-
//= require spree/backend/variant_autocomplete
|
4
|
-
//= require spree/backend/taxon_autocomplete
|
5
|
-
//= require spree/backend/option_type_autocomplete
|
6
|
-
//= require spree/backend/user_picker
|
7
|
-
//= require spree/backend/product_picker
|
8
|
-
//= require spree/backend/option_value_picker
|
9
|
-
//= require spree/backend/taxons
|
10
|
-
|
11
1
|
/**
|
12
2
|
This is a collection of javascript functions and whatnot
|
13
3
|
under the spree namespace that do stuff we find helpful.
|
@@ -192,8 +182,8 @@ jQuery(function($) {
|
|
192
182
|
}
|
193
183
|
});
|
194
184
|
|
195
|
-
// Make flash messages
|
196
|
-
setTimeout('$(".alert-auto-
|
185
|
+
// Make flash messages disappear
|
186
|
+
setTimeout('$(".alert-auto-disappear").slideUp()', 5000);
|
197
187
|
|
198
188
|
});
|
199
189
|
|
@@ -201,12 +191,12 @@ jQuery(function($) {
|
|
201
191
|
$.fn.visible = function(cond) { this[cond ? 'show' : 'hide' ]() };
|
202
192
|
|
203
193
|
show_flash = function(type, message) {
|
204
|
-
var flash_div = $('.
|
194
|
+
var flash_div = $('.alert-' + type);
|
205
195
|
if (flash_div.length == 0) {
|
206
196
|
flash_div = $('<div class="alert alert-' + type + '" />');
|
207
197
|
$('#content').prepend(flash_div);
|
208
198
|
}
|
209
|
-
flash_div.html(message).show().delay(
|
199
|
+
flash_div.html(message).show().delay(10000).slideUp();
|
210
200
|
}
|
211
201
|
|
212
202
|
|
@@ -292,9 +282,12 @@ $(document).ready(function(){
|
|
292
282
|
},
|
293
283
|
dataType: 'script',
|
294
284
|
success: function(response) {
|
295
|
-
|
296
|
-
|
297
|
-
|
285
|
+
var $flash_element = $('.alert-success');
|
286
|
+
if ($flash_element.length) {
|
287
|
+
el.parents("tr").fadeOut('hide', function() {
|
288
|
+
$(this).remove();
|
289
|
+
});
|
290
|
+
}
|
298
291
|
},
|
299
292
|
error: function(response, textStatus, errorThrown) {
|
300
293
|
show_flash('error', response.responseText);
|
@@ -1,4 +1,3 @@
|
|
1
|
-
//= require handlebars
|
2
1
|
Handlebars.registerHelper("t", function(key) {
|
3
2
|
if (Spree.translations[key]) {
|
4
3
|
return Spree.translations[key]
|
@@ -6,4 +5,3 @@ Handlebars.registerHelper("t", function(key) {
|
|
6
5
|
console.error("No translation found for " + key + ". Does it exist within spree/admin/shared/_translations.html.erb?")
|
7
6
|
}
|
8
7
|
});
|
9
|
-
|
@@ -12,6 +12,7 @@ var set_taxon_select = function(selector){
|
|
12
12
|
initSelection: function (element, callback) {
|
13
13
|
var url = Spree.url(Spree.routes.taxons_search, {
|
14
14
|
ids: element.val(),
|
15
|
+
without_children: true,
|
15
16
|
token: Spree.api_key
|
16
17
|
});
|
17
18
|
return $.getJSON(url, null, function (data) {
|
@@ -45,13 +45,18 @@ $(document).ready ->
|
|
45
45
|
id: e.val,
|
46
46
|
token: Spree.api_key
|
47
47
|
success: (data) ->
|
48
|
-
el.empty()
|
48
|
+
el.empty()
|
49
49
|
if data.products.length == 0
|
50
50
|
$('#taxon_products').html("<div class='alert alert-info'>" + Spree.translations.no_results + "</div>")
|
51
51
|
else
|
52
52
|
for product in data.products
|
53
53
|
if product.master.images[0] != undefined && product.master.images[0].small_url != undefined
|
54
54
|
product.image = product.master.images[0].small_url
|
55
|
+
else
|
56
|
+
for variant in product.variants
|
57
|
+
if variant.images[0] != undefined && variant.images[0].small_url != undefined
|
58
|
+
product.image = variant.images[0].small_url
|
59
|
+
break
|
55
60
|
el.append(productTemplate({ product: product }))
|
56
61
|
|
57
62
|
$('#taxon_products').on "click", ".js-delete-product", (e) ->
|
@@ -7,6 +7,21 @@
|
|
7
7
|
line-height: 38px;
|
8
8
|
}
|
9
9
|
|
10
|
+
&.with-page-tabs {
|
11
|
+
border-bottom: 0;
|
12
|
+
margin-bottom: 6px;
|
13
|
+
padding-bottom: 0;
|
14
|
+
|
15
|
+
h1 {
|
16
|
+
margin-bottom: 8px;
|
17
|
+
}
|
18
|
+
|
19
|
+
.nav-tabs {
|
20
|
+
padding-left: 15px;
|
21
|
+
padding-top: 15px;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
10
25
|
.page-actions {
|
11
26
|
text-align: right;
|
12
27
|
|
@@ -2,6 +2,10 @@ body {
|
|
2
2
|
padding-top: $navbar-height + 2px;
|
3
3
|
}
|
4
4
|
|
5
|
+
.table-wrapper {
|
6
|
+
overflow: auto;
|
7
|
+
}
|
8
|
+
|
5
9
|
.row {
|
6
10
|
padding: 0 0 15px 0;
|
7
11
|
}
|
@@ -14,4 +18,8 @@ body {
|
|
14
18
|
@each $side in top bottom left right {
|
15
19
|
.no-margin-#{$side} { margin-#{side}: 0; }
|
16
20
|
.no-padding-#{$side} { padding-#{side}: 0; }
|
17
|
-
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.alert-error {
|
24
|
+
@extend .alert-danger;
|
25
|
+
}
|
@@ -13,7 +13,7 @@ module Spree
|
|
13
13
|
before_action :find_adjustment, only: [:destroy, :edit, :update]
|
14
14
|
|
15
15
|
def index
|
16
|
-
@adjustments = @order.all_adjustments.order(
|
16
|
+
@adjustments = @order.all_adjustments.order(created_at: :asc)
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
@@ -24,7 +24,7 @@ module Spree
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def update_totals
|
27
|
-
@order.reload.
|
27
|
+
@order.reload.update_with_updater!
|
28
28
|
end
|
29
29
|
|
30
30
|
# Override method used to create a new instance to correctly
|
@@ -10,10 +10,11 @@ module Spree
|
|
10
10
|
create.fails :load_form_data
|
11
11
|
|
12
12
|
def edit
|
13
|
-
|
14
|
-
@
|
15
|
-
@
|
16
|
-
@
|
13
|
+
returned_items = @customer_return.return_items
|
14
|
+
@pending_return_items = returned_items.select(&:pending?)
|
15
|
+
@accepted_return_items = returned_items.select(&:accepted?)
|
16
|
+
@rejected_return_items = returned_items.select(&:rejected?)
|
17
|
+
@manual_intervention_return_items = returned_items.select(&:manual_intervention_required?)
|
17
18
|
@pending_reimbursements = @customer_return.reimbursements.select(&:pending?)
|
18
19
|
|
19
20
|
super
|
@@ -38,7 +38,7 @@ module Spree
|
|
38
38
|
|
39
39
|
def set_available_option_types
|
40
40
|
@available_option_types = if @product.option_type_ids.any?
|
41
|
-
OptionType.where(
|
41
|
+
OptionType.where.not(id: @product.option_type_ids)
|
42
42
|
else
|
43
43
|
OptionType.all
|
44
44
|
end
|
@@ -3,6 +3,7 @@ module Spree
|
|
3
3
|
module Orders
|
4
4
|
class CustomerDetailsController < Spree::Admin::BaseController
|
5
5
|
before_action :load_order
|
6
|
+
before_action :load_user, only: :update, unless: :guest_checkout?
|
6
7
|
|
7
8
|
def show
|
8
9
|
edit
|
@@ -20,37 +21,53 @@ module Spree
|
|
20
21
|
|
21
22
|
def update
|
22
23
|
if @order.update_attributes(order_params)
|
23
|
-
|
24
|
-
|
24
|
+
@order.associate_user!(@user, @order.email.blank?) unless guest_checkout?
|
25
|
+
@order.next unless @order.complete?
|
26
|
+
@order.refresh_shipment_rates(Spree::ShippingMethod::DISPLAY_ON_FRONT_AND_BACK_END)
|
27
|
+
|
28
|
+
if @order.errors.empty?
|
29
|
+
flash[:success] = Spree.t('customer_details_updated')
|
30
|
+
redirect_to edit_admin_order_url(@order)
|
31
|
+
else
|
32
|
+
render action: :edit
|
25
33
|
end
|
26
|
-
@order.next
|
27
|
-
@order.refresh_shipment_rates(ShippingMethod::DISPLAY_ON_FRONT_AND_BACK_END)
|
28
|
-
flash[:success] = Spree.t('customer_details_updated')
|
29
|
-
redirect_to edit_admin_order_url(@order)
|
30
34
|
else
|
31
35
|
render action: :edit
|
32
36
|
end
|
33
|
-
|
34
37
|
end
|
35
38
|
|
36
39
|
private
|
37
|
-
def order_params
|
38
|
-
params.require(:order).permit(
|
39
|
-
:email,
|
40
|
-
:use_billing,
|
41
|
-
bill_address_attributes: permitted_address_attributes,
|
42
|
-
ship_address_attributes: permitted_address_attributes
|
43
|
-
)
|
44
|
-
end
|
45
40
|
|
46
|
-
|
47
|
-
|
48
|
-
|
41
|
+
def order_params
|
42
|
+
params.require(:order).permit(
|
43
|
+
:email,
|
44
|
+
:use_billing,
|
45
|
+
bill_address_attributes: permitted_address_attributes,
|
46
|
+
ship_address_attributes: permitted_address_attributes
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
def load_order
|
51
|
+
@order = Order.includes(:adjustments).friendly.find(params[:order_id])
|
52
|
+
end
|
53
|
+
|
54
|
+
def model_class
|
55
|
+
Spree::Order
|
56
|
+
end
|
49
57
|
|
50
|
-
|
51
|
-
|
58
|
+
def load_user
|
59
|
+
@user = (Spree.user_class.find_by(id: params[:user_id]) ||
|
60
|
+
Spree.user_class.find_by(email: order_params[:email]))
|
61
|
+
|
62
|
+
unless @user
|
63
|
+
flash.now[:error] = Spree.t(:user_not_found)
|
64
|
+
render :edit
|
52
65
|
end
|
66
|
+
end
|
53
67
|
|
68
|
+
def guest_checkout?
|
69
|
+
params[:guest_checkout] == 'true'
|
70
|
+
end
|
54
71
|
end
|
55
72
|
end
|
56
73
|
end
|
@@ -34,9 +34,9 @@ module Spree
|
|
34
34
|
params[:q][:completed_at_lt] = params[:q].delete(:created_at_lt)
|
35
35
|
end
|
36
36
|
|
37
|
-
@search = Order.accessible_by(current_ability, :index).ransack(params[:q])
|
37
|
+
@search = Order.preload(:user).accessible_by(current_ability, :index).ransack(params[:q])
|
38
38
|
|
39
|
-
#
|
39
|
+
# lazy loading other models here (via includes) may result in an invalid query
|
40
40
|
# e.g. SELECT DISTINCT DISTINCT "spree_orders".id, "spree_orders"."created_at" AS alias_0 FROM "spree_orders"
|
41
41
|
# see https://github.com/spree/spree/pull/3919
|
42
42
|
@orders = @search.result(distinct: true).
|
@@ -72,7 +72,7 @@ module Spree
|
|
72
72
|
|
73
73
|
def update
|
74
74
|
if @order.update_attributes(params[:order]) && @order.line_items.present?
|
75
|
-
@order.
|
75
|
+
@order.update_with_updater!
|
76
76
|
unless @order.completed?
|
77
77
|
# Jump to next step if order is not completed.
|
78
78
|
redirect_to admin_order_customer_path(@order) and return
|
@@ -81,7 +81,7 @@ module Spree
|
|
81
81
|
@order.errors.add(:line_items, Spree.t('errors.messages.blank')) if @order.line_items.empty?
|
82
82
|
end
|
83
83
|
|
84
|
-
render :
|
84
|
+
render action: :edit
|
85
85
|
end
|
86
86
|
|
87
87
|
def cancel
|
@@ -110,7 +110,7 @@ module Spree
|
|
110
110
|
end
|
111
111
|
|
112
112
|
def open_adjustments
|
113
|
-
adjustments = @order.all_adjustments.
|
113
|
+
adjustments = @order.all_adjustments.closed
|
114
114
|
adjustments.update_all(state: 'open')
|
115
115
|
flash[:success] = Spree.t(:all_adjustments_opened)
|
116
116
|
|
@@ -118,7 +118,7 @@ module Spree
|
|
118
118
|
end
|
119
119
|
|
120
120
|
def close_adjustments
|
121
|
-
adjustments = @order.all_adjustments.
|
121
|
+
adjustments = @order.all_adjustments.open
|
122
122
|
adjustments.update_all(state: 'closed')
|
123
123
|
flash[:success] = Spree.t(:all_adjustments_closed)
|
124
124
|
|
@@ -13,7 +13,7 @@ module Spree
|
|
13
13
|
invoke_callbacks(:create, :before)
|
14
14
|
if @payment_method.save
|
15
15
|
invoke_callbacks(:create, :after)
|
16
|
-
flash[:success] = Spree.t(:successfully_created, :
|
16
|
+
flash[:success] = Spree.t(:successfully_created, resource: Spree.t(:payment_method))
|
17
17
|
redirect_to edit_admin_payment_method_path(@payment_method)
|
18
18
|
else
|
19
19
|
invoke_callbacks(:create, :fails)
|
@@ -27,7 +27,7 @@ module Spree
|
|
27
27
|
if @payment_method['type'].to_s != payment_method_type
|
28
28
|
@payment_method.update_columns(
|
29
29
|
type: payment_method_type,
|
30
|
-
updated_at: Time.
|
30
|
+
updated_at: Time.current,
|
31
31
|
)
|
32
32
|
@payment_method = PaymentMethod.find(params[:id])
|
33
33
|
end
|
@@ -42,7 +42,7 @@ module Spree
|
|
42
42
|
|
43
43
|
if @payment_method.update_attributes(attributes)
|
44
44
|
invoke_callbacks(:update, :after)
|
45
|
-
flash[:success] = Spree.t(:successfully_updated, :
|
45
|
+
flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:payment_method))
|
46
46
|
redirect_to edit_admin_payment_method_path(@payment_method)
|
47
47
|
else
|
48
48
|
invoke_callbacks(:update, :fails)
|