solidus_backend 2.0.3 → 2.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of solidus_backend might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/backend/handlebars_extensions.coffee +14 -6
- data/app/assets/javascripts/spree/backend/images/upload.js +203 -0
- data/app/assets/javascripts/spree/backend/option_value_picker.js +2 -1
- data/app/assets/javascripts/spree/backend/stock_management/index_update_forms.coffee +1 -1
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +5 -1
- data/app/assets/javascripts/spree/backend/taxons.js.coffee +1 -1
- data/app/assets/javascripts/spree/backend/templates/index.js +15 -0
- data/app/assets/javascripts/spree/backend/templates/products/upload_progress.hbs +12 -0
- data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs +13 -11
- data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs +12 -10
- data/app/assets/javascripts/spree/backend/templates/promotions/rules/option_values.hbs +7 -5
- data/app/assets/javascripts/spree/backend.js +57 -3
- data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +1 -1
- data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +2 -0
- data/app/assets/stylesheets/spree/backend/components/_table-filter.scss +3 -1
- data/app/assets/stylesheets/spree/backend/components/_tabs.scss +2 -0
- data/app/assets/stylesheets/spree/backend/sections/_adjustments.scss +3 -0
- data/app/assets/stylesheets/spree/backend/sections/_products.scss +29 -17
- data/app/assets/stylesheets/spree/backend/sections/_stock_management.scss +6 -0
- data/app/assets/stylesheets/spree/backend/shared/_header.scss +2 -0
- data/app/assets/stylesheets/spree/backend/shared/_layout.scss +5 -0
- data/app/assets/stylesheets/spree/backend/shared/_utilities.scss +1 -2
- data/app/assets/stylesheets/spree/backend/spree_admin.scss +1 -3
- data/app/controllers/spree/admin/orders_controller.rb +2 -0
- data/app/controllers/spree/admin/payments_controller.rb +1 -1
- data/app/controllers/spree/admin/prices_controller.rb +7 -1
- data/app/controllers/spree/admin/products_controller.rb +0 -6
- data/app/controllers/spree/admin/promotions_controller.rb +0 -2
- data/app/controllers/spree/admin/users_controller.rb +3 -0
- data/app/helpers/spree/admin/adjustments_helper.rb +1 -1
- data/app/helpers/spree/admin/base_helper.rb +0 -35
- data/app/helpers/spree/admin/stock_transfers_helper.rb +14 -0
- data/app/models/spree/backend_configuration.rb +2 -2
- data/app/views/spree/admin/adjustment_reasons/index.html.erb +1 -1
- data/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb +14 -16
- data/app/views/spree/admin/adjustments/_adjustment.html.erb +4 -1
- data/app/views/spree/admin/adjustments/_form.html.erb +24 -20
- data/app/views/spree/admin/cancellations/index.html.erb +2 -3
- data/app/views/spree/admin/countries/_form.html.erb +4 -4
- data/app/views/spree/admin/customer_returns/index.html.erb +1 -1
- data/app/views/spree/admin/customer_returns/new.html.erb +5 -7
- data/app/views/spree/admin/general_settings/edit.html.erb +55 -46
- data/app/views/spree/admin/images/_form.html.erb +13 -11
- data/app/views/spree/admin/images/_image_row.html.erb +22 -0
- data/app/views/spree/admin/images/create.js.erb +9 -0
- data/app/views/spree/admin/images/edit.html.erb +12 -8
- data/app/views/spree/admin/images/index.html.erb +57 -49
- data/app/views/spree/admin/option_types/_form.html.erb +2 -2
- data/app/views/spree/admin/option_types/index.html.erb +1 -1
- data/app/views/spree/admin/orders/_add_line_item.html.erb +5 -3
- data/app/views/spree/admin/orders/_add_product.html.erb +5 -3
- data/app/views/spree/admin/orders/_shipment.html.erb +14 -6
- data/app/views/spree/admin/orders/cart.html.erb +1 -1
- data/app/views/spree/admin/orders/confirm/_customer_details.html.erb +17 -15
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +28 -26
- data/app/views/spree/admin/orders/customer_details/show.html.erb +1 -1
- data/app/views/spree/admin/orders/edit.html.erb +1 -1
- data/app/views/spree/admin/orders/index.html.erb +70 -63
- data/app/views/spree/admin/payment_methods/_form.html.erb +54 -48
- data/app/views/spree/admin/payment_methods/index.html.erb +7 -5
- data/app/views/spree/admin/payments/_form.html.erb +2 -2
- data/app/views/spree/admin/payments/index.html.erb +1 -1
- data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +32 -30
- data/app/views/spree/admin/payments/source_forms/_storecredit.html.erb +1 -0
- data/app/views/spree/admin/payments/source_views/_gateway.html.erb +1 -1
- data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +8 -1
- data/app/views/spree/admin/prices/_form.html.erb +38 -43
- data/app/views/spree/admin/prices/_master_variant_table.html.erb +41 -0
- data/app/views/spree/admin/prices/_table.html.erb +35 -33
- data/app/views/spree/admin/prices/index.html.erb +37 -35
- data/app/views/spree/admin/product_properties/index.html.erb +0 -7
- data/app/views/spree/admin/products/_form.html.erb +153 -144
- data/app/views/spree/admin/products/edit.html.erb +1 -1
- data/app/views/spree/admin/products/index.html.erb +19 -13
- data/app/views/spree/admin/products/new.html.erb +5 -38
- data/app/views/spree/admin/promotion_categories/_form.html.erb +1 -1
- data/app/views/spree/admin/promotion_rules/create.js.erb +6 -0
- data/app/views/spree/admin/promotions/_actions.html.erb +1 -1
- data/app/views/spree/admin/promotions/_form.html.erb +48 -44
- data/app/views/spree/admin/promotions/_promotion_rule.html.erb +1 -1
- data/app/views/spree/admin/promotions/_rules.html.erb +8 -4
- data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +9 -5
- data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +30 -24
- data/app/views/spree/admin/promotions/edit.html.erb +2 -2
- data/app/views/spree/admin/promotions/index.html.erb +22 -20
- data/app/views/spree/admin/promotions/new.html.erb +1 -1
- data/app/views/spree/admin/promotions/rules/_first_repeat_purchase_since.html.erb +11 -5
- data/app/views/spree/admin/promotions/rules/_item_total.html.erb +18 -8
- data/app/views/spree/admin/promotions/rules/_landing_page.html.erb +7 -5
- data/app/views/spree/admin/promotions/rules/_nth_order.html.erb +13 -6
- data/app/views/spree/admin/promotions/rules/_option_value.html.erb +11 -7
- data/app/views/spree/admin/promotions/rules/_product.html.erb +11 -7
- data/app/views/spree/admin/promotions/rules/_taxon.html.erb +15 -9
- data/app/views/spree/admin/promotions/rules/_user.html.erb +5 -3
- data/app/views/spree/admin/promotions/rules/_user_role.html.erb +12 -0
- data/app/views/spree/admin/properties/_form.html.erb +2 -2
- data/app/views/spree/admin/properties/index.html.erb +7 -5
- data/app/views/spree/admin/refund_reasons/index.html.erb +1 -1
- data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +14 -16
- data/app/views/spree/admin/refunds/edit.html.erb +2 -2
- data/app/views/spree/admin/refunds/new.html.erb +4 -4
- data/app/views/spree/admin/shared/_configuration_menu.html.erb +0 -4
- data/app/views/spree/admin/shared/_head.html.erb +1 -1
- data/app/views/spree/admin/shared/_product_sub_menu.html.erb +0 -3
- data/app/views/spree/admin/shared/_rebuild_vat_prices_checkbox.html.erb +1 -1
- data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +2 -2
- data/app/views/spree/admin/shared/_sidebar.html.erb +1 -1
- data/app/views/spree/admin/shared/_variant_search.html.erb +12 -8
- data/app/views/spree/admin/shared/named_types/_form.html.erb +1 -1
- data/app/views/spree/admin/shared/named_types/_index.html.erb +1 -1
- data/app/views/spree/admin/shipping_categories/index.html.erb +1 -1
- data/app/views/spree/admin/shipping_methods/_form.html.erb +74 -81
- data/app/views/spree/admin/shipping_methods/index.html.erb +3 -3
- data/app/views/spree/admin/states/_form.html.erb +2 -2
- data/app/views/spree/admin/states/index.html.erb +9 -5
- data/app/views/spree/admin/stock_locations/_form.html.erb +42 -28
- data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +4 -4
- data/app/views/spree/admin/stock_locations/index.html.erb +1 -1
- data/app/views/spree/admin/stock_movements/_form.html.erb +1 -1
- data/app/views/spree/admin/stock_movements/index.html.erb +1 -1
- data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +1 -1
- data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +10 -1
- data/app/views/spree/admin/stock_transfers/index.html.erb +29 -27
- data/app/views/spree/admin/stock_transfers/show.html.erb +26 -24
- data/app/views/spree/admin/store_credits/_form.html.erb +3 -3
- data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +1 -1
- data/app/views/spree/admin/store_credits/edit_amount.html.erb +1 -1
- data/app/views/spree/admin/store_credits/index.html.erb +2 -2
- data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +49 -47
- data/app/views/spree/admin/style_guide/topics/messaging/_loading.html.erb +11 -1
- data/app/views/spree/admin/tax_categories/_form.html.erb +4 -4
- data/app/views/spree/admin/tax_categories/index.html.erb +1 -1
- data/app/views/spree/admin/tax_rates/_form.html.erb +28 -28
- data/app/views/spree/admin/tax_rates/index.html.erb +1 -1
- data/app/views/spree/admin/taxonomies/index.html.erb +1 -1
- data/app/views/spree/admin/taxons/_form.html.erb +6 -6
- data/app/views/spree/admin/taxons/index.html.erb +2 -2
- data/app/views/spree/admin/users/_addresses_form.html.erb +19 -15
- data/app/views/spree/admin/users/_form.html.erb +9 -6
- data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
- data/app/views/spree/admin/users/addresses.html.erb +1 -1
- data/app/views/spree/admin/users/edit.html.erb +2 -2
- data/app/views/spree/admin/users/items.html.erb +2 -2
- data/app/views/spree/admin/users/orders.html.erb +2 -2
- data/app/views/spree/admin/variants/_form.html.erb +73 -49
- data/app/views/spree/admin/variants/_table_filter.html.erb +12 -8
- data/app/views/spree/admin/variants/index.html.erb +2 -2
- data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
- data/app/views/spree/admin/zones/_form.html.erb +34 -31
- data/app/views/spree/admin/zones/_state_members.html.erb +1 -1
- data/app/views/spree/admin/zones/index.html.erb +1 -3
- data/app/views/spree/layouts/admin.html.erb +4 -4
- data/config/routes.rb +0 -11
- data/solidus_backend.gemspec +4 -1
- data/spec/controllers/spree/admin/payments_controller_spec.rb +2 -3
- data/spec/controllers/spree/admin/prices_controller_spec.rb +5 -3
- data/spec/features/admin/configuration/general_settings_spec.rb +12 -0
- data/spec/features/admin/configuration/payment_methods_spec.rb +3 -2
- data/spec/features/admin/configuration/shipping_methods_spec.rb +1 -1
- data/spec/features/admin/homepage_spec.rb +0 -3
- data/spec/features/admin/orders/adjustments_spec.rb +28 -25
- data/spec/features/admin/orders/customer_details_spec.rb +1 -1
- data/spec/features/admin/orders/order_details_spec.rb +27 -1
- data/spec/features/admin/orders/payments_spec.rb +1 -1
- data/spec/features/admin/products/edit/images_spec.rb +28 -1
- data/spec/features/admin/products/pricing_spec.rb +17 -2
- data/spec/features/admin/products/products_spec.rb +0 -104
- data/spec/features/admin/store_credits_spec.rb +3 -3
- data/spec/features/admin/users_spec.rb +7 -1
- metadata +21 -32
- data/app/assets/javascripts/spree/backend/nested-attribute.js +0 -27
- data/app/assets/stylesheets/spree/backend/sections/_adjustments_table.scss +0 -8
- data/app/assets/stylesheets/spree/backend/sections/_edit_checkouts.scss +0 -72
- data/app/assets/stylesheets/spree/backend/sections/_tax_zones.scss +0 -15
- data/app/controllers/spree/admin/prototypes_controller.rb +0 -26
- data/app/controllers/spree/admin/trackers_controller.rb +0 -6
- data/app/views/spree/admin/prototypes/_form.html.erb +0 -36
- data/app/views/spree/admin/prototypes/_prototypes.html.erb +0 -25
- data/app/views/spree/admin/prototypes/available.js.erb +0 -2
- data/app/views/spree/admin/prototypes/edit.html.erb +0 -15
- data/app/views/spree/admin/prototypes/index.html.erb +0 -50
- data/app/views/spree/admin/prototypes/new.html.erb +0 -9
- data/app/views/spree/admin/prototypes/new.js.erb +0 -5
- data/app/views/spree/admin/prototypes/select.js.erb +0 -4
- data/app/views/spree/admin/prototypes/show.html.erb +0 -42
- data/app/views/spree/admin/trackers/_form.html.erb +0 -28
- data/app/views/spree/admin/trackers/edit.html.erb +0 -19
- data/app/views/spree/admin/trackers/index.html.erb +0 -54
- data/app/views/spree/admin/trackers/new.html.erb +0 -18
- data/spec/features/admin/configuration/analytics_tracker_spec.rb +0 -50
- data/spec/features/admin/products/prototypes_spec.rb +0 -110
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 843448fe45669bd2d5c20177528681a86678af12
|
4
|
+
data.tar.gz: 07bc2239dacdc468b0f0b3b5de5524b1cbf46d17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac0d850fe4e077c868e6f695a5d69f8f8c467f64bfc72eaa6f7d57a6ca569ffa8a2d99610de334e0e562a0c3962b477ab2baa73205ff418dd97c9ac74eae03f7
|
7
|
+
data.tar.gz: 475ea49cd2c1f70ee7599dcb87980969cd95f744bd46f7e4554c57b71f3ff3a14f53e1b2954cac648a0a9ab8f71a7644184c5e106f9de1175bab193bcd4c9c3c
|
@@ -1,11 +1,19 @@
|
|
1
1
|
#= require handlebars
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
# Resolves string keys with dots in a deeply nested object
|
4
|
+
# http://stackoverflow.com/a/22129960/4405214
|
5
|
+
resolveObject = (path, obj) ->
|
6
|
+
path.split('.').reduce ((prev, curr) ->
|
7
|
+
if prev then prev[curr] else undefined
|
8
|
+
), obj || self
|
9
|
+
|
10
|
+
|
11
|
+
Handlebars.registerHelper "t", (key) ->
|
12
|
+
translation = resolveObject key, Spree.translations
|
13
|
+
return translation if translation
|
14
|
+
|
15
|
+
console.error "No translation found for #{key}."
|
16
|
+
key
|
9
17
|
|
10
18
|
Handlebars.registerHelper "admin_url", ->
|
11
19
|
Spree.pathFor("admin")
|
@@ -0,0 +1,203 @@
|
|
1
|
+
// Inspired by: http://html5demos.com/dnd-upload
|
2
|
+
Spree.prepareImageUploader = function () {
|
3
|
+
var uploadZone = document.getElementById('upload-zone');
|
4
|
+
if(!uploadZone) return;
|
5
|
+
|
6
|
+
var UploadZone = Backbone.View.extend({
|
7
|
+
el: uploadZone,
|
8
|
+
|
9
|
+
events: {
|
10
|
+
"dragover" : "onDragOver",
|
11
|
+
"dragleave" : "onDragLeave",
|
12
|
+
"drop" : "onDrop",
|
13
|
+
'change input[type="file"]' : "onFileBrowserSelect"
|
14
|
+
},
|
15
|
+
|
16
|
+
progressZone: document.getElementById('progress-zone'),
|
17
|
+
|
18
|
+
// Hide or highlight supported browser features
|
19
|
+
initialize: function() {
|
20
|
+
"filereader formdata progress".split(' ').forEach(function (api) {
|
21
|
+
this.support[api].className = (this.tests[api] === false) ? 'red' : 'hidden'
|
22
|
+
}, this);
|
23
|
+
},
|
24
|
+
|
25
|
+
upload: function(file) {
|
26
|
+
if (!FormData) return;
|
27
|
+
|
28
|
+
var progressModel = new ProgressModel({file: file});
|
29
|
+
progressModel.previewFile();
|
30
|
+
progressModel.uploadFile();
|
31
|
+
|
32
|
+
var progressView = new ProgressView({model: progressModel});
|
33
|
+
this.progressZone.appendChild(progressView.render().el);
|
34
|
+
},
|
35
|
+
|
36
|
+
dragClass: 'with-images',
|
37
|
+
|
38
|
+
onDragOver: function(e) {
|
39
|
+
this.el.classList.add(this.dragClass);
|
40
|
+
e.preventDefault();
|
41
|
+
},
|
42
|
+
|
43
|
+
onDragLeave: function() {
|
44
|
+
this.el.classList.remove(this.dragClass);
|
45
|
+
},
|
46
|
+
|
47
|
+
onDrop: function(e) {
|
48
|
+
this.el.classList.remove(this.dragClass);
|
49
|
+
e.preventDefault();
|
50
|
+
|
51
|
+
_.each(e.originalEvent.dataTransfer.files, this.upload, this);
|
52
|
+
},
|
53
|
+
|
54
|
+
onFileBrowserSelect: function(e) {
|
55
|
+
_.each(e.target.files, this.upload, this);
|
56
|
+
},
|
57
|
+
|
58
|
+
tests: {
|
59
|
+
filereader: typeof FileReader != 'undefined',
|
60
|
+
dnd: 'draggable' in document.createElement('span'),
|
61
|
+
formdata: !!window.FormData,
|
62
|
+
progress: "upload" in new XMLHttpRequest
|
63
|
+
},
|
64
|
+
|
65
|
+
support: {
|
66
|
+
filereader: document.getElementById('filereader'),
|
67
|
+
formdata: document.getElementById('formdata'),
|
68
|
+
progress: document.getElementById('progress')
|
69
|
+
}
|
70
|
+
});
|
71
|
+
|
72
|
+
var ProgressModel = Backbone.Model.extend({
|
73
|
+
initialize: function() {
|
74
|
+
this.set({summary: this.get("file").name});
|
75
|
+
},
|
76
|
+
|
77
|
+
defaults: function() {
|
78
|
+
return {
|
79
|
+
file: null,
|
80
|
+
imgSrc: '',
|
81
|
+
progress: 0,
|
82
|
+
serverError: false,
|
83
|
+
summary: ''
|
84
|
+
}
|
85
|
+
},
|
86
|
+
|
87
|
+
acceptedTypes: {
|
88
|
+
'image/png': true,
|
89
|
+
'image/jpeg': true,
|
90
|
+
'image/gif': true
|
91
|
+
},
|
92
|
+
|
93
|
+
variantId: document.querySelector('input[name="image[viewable_id]"]').value,
|
94
|
+
|
95
|
+
previewFile: function () {
|
96
|
+
var file = this.get('file'),
|
97
|
+
that = this;
|
98
|
+
|
99
|
+
if (FileReader && this.acceptedTypes[file.type] === true) {
|
100
|
+
var reader = new FileReader();
|
101
|
+
reader.onload = function (event) {
|
102
|
+
that.set({imgSrc: event.target.result});
|
103
|
+
};
|
104
|
+
|
105
|
+
reader.readAsDataURL(file);
|
106
|
+
} else {
|
107
|
+
var summary = 'Uploading ' + file.name + ' ' + (file.size ? (file.size/1024|0) + 'K' : '');
|
108
|
+
this.set({summary: summary});
|
109
|
+
}
|
110
|
+
},
|
111
|
+
|
112
|
+
uploadFile: function () {
|
113
|
+
var formData = new FormData(),
|
114
|
+
that = this;
|
115
|
+
|
116
|
+
formData.append('image[attachment]', this.get('file'));
|
117
|
+
formData.append('image[viewable_id]', this.variantId);
|
118
|
+
formData.append('upload_id', this.cid);
|
119
|
+
|
120
|
+
// send the image to the server
|
121
|
+
Spree.ajax({
|
122
|
+
url: window.location.pathname,
|
123
|
+
type: "POST",
|
124
|
+
dataType: 'script',
|
125
|
+
data: formData,
|
126
|
+
processData: false, // tell jQuery not to process the data
|
127
|
+
contentType: false, // tell jQuery not to set contentType
|
128
|
+
xhr: function () {
|
129
|
+
xhr = $.ajaxSettings.xhr();
|
130
|
+
if (xhr.upload) {
|
131
|
+
xhr.upload.onprogress = function (event) {
|
132
|
+
if (event.lengthComputable) {
|
133
|
+
var complete = (event.loaded / event.total * 100 | 0);
|
134
|
+
that.set({progress: complete})
|
135
|
+
}
|
136
|
+
};
|
137
|
+
}
|
138
|
+
return xhr;
|
139
|
+
}
|
140
|
+
}).done(function() {
|
141
|
+
that.set({progress: 100})
|
142
|
+
}).error(function(jqXHR, textStatus, errorThrown) {
|
143
|
+
that.set({serverError: true});
|
144
|
+
});
|
145
|
+
}
|
146
|
+
}); // end ProgressModel
|
147
|
+
|
148
|
+
|
149
|
+
var ProgressView = Backbone.View.extend({
|
150
|
+
tagName: "div",
|
151
|
+
|
152
|
+
// Cache the template function for a single item.
|
153
|
+
template: HandlebarsTemplates["products/upload_progress"],
|
154
|
+
|
155
|
+
initialize: function() {
|
156
|
+
this.listenTo(this.model, 'change:progress', this.updateProgressBar);
|
157
|
+
this.listenTo(this.model, 'change', this.render);
|
158
|
+
this.listenTo(this.model, 'destroy', this.remove);
|
159
|
+
},
|
160
|
+
|
161
|
+
events: {
|
162
|
+
"clear" : "clear"
|
163
|
+
},
|
164
|
+
|
165
|
+
className: 'col-sm-6 col-md-4 margin-bottom-one',
|
166
|
+
|
167
|
+
attributes: function() {
|
168
|
+
return {
|
169
|
+
"data-upload-id": this.model.cid
|
170
|
+
}
|
171
|
+
},
|
172
|
+
|
173
|
+
render: function() {
|
174
|
+
// Skip progress bar update for better performance
|
175
|
+
var changedAttrs = Object.keys(this.model.changed);
|
176
|
+
if(changedAttrs.length === 1 && changedAttrs[0] == 'progress') return this;
|
177
|
+
|
178
|
+
this.el.innerHTML = this.template(this.model.attributes);
|
179
|
+
return this;
|
180
|
+
},
|
181
|
+
|
182
|
+
updateProgressBar: function() {
|
183
|
+
var progressBar = this.el.querySelector('progress');
|
184
|
+
progressBar.value = progressBar.innerHTML = this.model.get('progress');
|
185
|
+
return this;
|
186
|
+
},
|
187
|
+
|
188
|
+
// Remove the item, destroy the model
|
189
|
+
clear: function() {
|
190
|
+
this.model.destroy();
|
191
|
+
}
|
192
|
+
}); // end ProgressView
|
193
|
+
|
194
|
+
|
195
|
+
// Kick off by binding the events on the upload zone
|
196
|
+
new UploadZone();
|
197
|
+
|
198
|
+
}; // end prepareImageUploader
|
199
|
+
|
200
|
+
|
201
|
+
Spree.ready(function () {
|
202
|
+
Spree.prepareImageUploader();
|
203
|
+
});
|
@@ -15,7 +15,8 @@ $.fn.optionValueAutocomplete = function (options) {
|
|
15
15
|
multiple: multiple,
|
16
16
|
initSelection: function (element, callback) {
|
17
17
|
$.get(Spree.routes.option_value_search, {
|
18
|
-
ids: element.val().split(',')
|
18
|
+
ids: element.val().split(','),
|
19
|
+
token: Spree.api_key
|
19
20
|
}, function (data) {
|
20
21
|
callback(multiple ? data : data[0]);
|
21
22
|
});
|
@@ -46,7 +46,7 @@ Spree.EditStockItemView = Backbone.View.extend
|
|
46
46
|
onSubmit: (ev) ->
|
47
47
|
ev.preventDefault()
|
48
48
|
backorderable = @$('[name=backorderable]').prop("checked")
|
49
|
-
countOnHand = parseInt(
|
49
|
+
countOnHand = parseInt(@$("input[name='count_on_hand']").val(), 10)
|
50
50
|
|
51
51
|
@model.set
|
52
52
|
count_on_hand: countOnHand
|
@@ -5,11 +5,15 @@ $.fn.taxonAutocomplete = function () {
|
|
5
5
|
placeholder: Spree.translations.taxon_placeholder,
|
6
6
|
multiple: true,
|
7
7
|
initSelection: function (element, callback) {
|
8
|
+
var ids = element.val(),
|
9
|
+
count = ids.split(",").length;
|
10
|
+
|
8
11
|
Spree.ajax({
|
9
12
|
type: "GET",
|
10
13
|
url: Spree.routes.taxons_search,
|
11
14
|
data: {
|
12
|
-
ids:
|
15
|
+
ids: ids,
|
16
|
+
per_page: count,
|
13
17
|
without_children: true
|
14
18
|
},
|
15
19
|
success: function (data) {
|
@@ -0,0 +1,15 @@
|
|
1
|
+
//= require spree/backend/templates/orders/customer_details/autocomplete
|
2
|
+
//= require spree/backend/templates/products/sortable
|
3
|
+
//= require spree/backend/templates/products/upload_progress
|
4
|
+
//= require spree/backend/templates/promotions/calculators/fields/tiered_flat_rate
|
5
|
+
//= require spree/backend/templates/promotions/calculators/fields/tiered_percent
|
6
|
+
//= require spree/backend/templates/promotions/rules/option_values
|
7
|
+
//= require spree/backend/templates/promotions/rules/option_values_select
|
8
|
+
//= require spree/backend/templates/stock_items/stock_location_stock_item
|
9
|
+
//= require spree/backend/templates/stock_transfers/transfer_item
|
10
|
+
//= require spree/backend/templates/taxons/_tree
|
11
|
+
//= require spree/backend/templates/taxons/tree
|
12
|
+
//= require spree/backend/templates/variants/autocomplete
|
13
|
+
//= require spree/backend/templates/variants/autocomplete_stock
|
14
|
+
//= require spree/backend/templates/variants/line_items_autocomplete_stock
|
15
|
+
//= require spree/backend/templates/variants/split
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div class="card progress-card">
|
2
|
+
<img src="{{ imgSrc }}" class="card-img-top img-fluid">
|
3
|
+
|
4
|
+
<div class="card-block">
|
5
|
+
<progress min="0" max="100" value="{{ progress }}">{{ progress }}</progress>
|
6
|
+
|
7
|
+
<summary>{{ summary }}</summary>
|
8
|
+
<br>
|
9
|
+
|
10
|
+
<error class="text-danger {{#unless serverError}} hidden {{/unless}}">{{t 'admin.images.index.image_process_failed' }}</error>
|
11
|
+
</div>
|
12
|
+
</div>
|
@@ -1,16 +1,18 @@
|
|
1
1
|
<div class="fullwidth tier">
|
2
|
-
<
|
3
|
-
|
4
|
-
|
5
|
-
<
|
6
|
-
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-xs-6">
|
4
|
+
<a class="fa fa-trash remove js-remove-tier"></a>
|
5
|
+
<div class="input-group">
|
6
|
+
<span class="input-group-addon">$</span>
|
7
|
+
<input class="js-base-input form-control" type="text" value={{baseField.value}}>
|
8
|
+
</div>
|
7
9
|
</div>
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
<div class="col-xs-6">
|
11
|
+
<div class="input-group">
|
12
|
+
<span class="input-group-addon">$</span>
|
13
|
+
<input class="js-value-input form-control"
|
14
|
+
name="{{valueField.name}}" type="text" value={{valueField.value}}>
|
15
|
+
</div>
|
14
16
|
</div>
|
15
17
|
</div>
|
16
18
|
<div class="clear"></div>
|
data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
<div class="fullwidth tier">
|
2
2
|
<a class="fa fa-trash remove js-remove-tier"></a>
|
3
|
-
<div class="
|
4
|
-
<div class="
|
5
|
-
<
|
6
|
-
|
3
|
+
<div class="row">
|
4
|
+
<div class="col-xs-6">
|
5
|
+
<div class="input-group">
|
6
|
+
<span class="input-group-addon">$</span>
|
7
|
+
<input class="js-base-input form-control" type="text" value={{baseField.value}}>
|
8
|
+
</div>
|
7
9
|
</div>
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
<div class="col-xs-6">
|
11
|
+
<div class="input-group">
|
12
|
+
<input class="js-value-input form-control right-align"
|
13
|
+
name="{{valueField.name}}" type="text" value={{valueField.value}}>
|
14
|
+
<span class="input-group-addon">%</span>
|
15
|
+
</div>
|
14
16
|
</div>
|
15
17
|
</div>
|
16
18
|
<div class="clear"></div>
|
@@ -1,9 +1,11 @@
|
|
1
1
|
<div class="fullwidth promo-rule-option-value">
|
2
|
-
<div class="
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
<
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-xs-6">
|
4
|
+
<input class="js-promo-rule-option-value-product-select fullwidth" type="hidden" value="{{ productSelect.value }}">
|
5
|
+
</div>
|
6
|
+
<div class="col-xs-5">
|
7
|
+
<input class="js-promo-rule-option-value-option-values-select fullwidth" name="{{ paramPrefix }}[preferred_eligible_values][{{ productSelect.value }}]" type="hidden" value={{optionValuesSelect.value}}>
|
8
|
+
</div>
|
7
9
|
</div>
|
8
10
|
<a class="fa fa-trash remove js-remove-promo-rule-option-value"></a>
|
9
11
|
<div class="clear"></div>
|
@@ -12,7 +12,61 @@
|
|
12
12
|
//= require solidus_admin/bootstrap
|
13
13
|
//= require prism
|
14
14
|
//= require spree
|
15
|
-
//= require
|
15
|
+
//= require spree/backend/backbone-overrides
|
16
16
|
//= require spree/backend/spree-select2
|
17
|
-
|
18
|
-
//=
|
17
|
+
//
|
18
|
+
//= require spree/backend/templates
|
19
|
+
//
|
20
|
+
//= require spree/backend/address_states
|
21
|
+
//= require spree/backend/adjustments
|
22
|
+
//= require spree/backend/admin
|
23
|
+
//= require spree/backend/calculator
|
24
|
+
//= require spree/backend/checkouts/edit
|
25
|
+
//= require spree/backend/components/tabs
|
26
|
+
//= require spree/backend/components/tooltips
|
27
|
+
//= require spree/backend/flash
|
28
|
+
//= require spree/backend/gateway
|
29
|
+
//= require spree/backend/handlebars_extensions
|
30
|
+
//= require spree/backend/images/index
|
31
|
+
//= require spree/backend/images/new
|
32
|
+
//= require spree/backend/images/upload
|
33
|
+
//= require spree/backend/line_items
|
34
|
+
//= require spree/backend/line_items_on_order_edit
|
35
|
+
//= require spree/backend/navigation
|
36
|
+
//= require spree/backend/number_field_updater
|
37
|
+
//= require spree/backend/option_type_autocomplete
|
38
|
+
//= require spree/backend/option_value_picker
|
39
|
+
//= require spree/backend/orders/edit
|
40
|
+
//= require spree/backend/payments/edit
|
41
|
+
//= require spree/backend/payments/new
|
42
|
+
//= require spree/backend/product_picker
|
43
|
+
//= require spree/backend/progress
|
44
|
+
//= require spree/backend/promotions
|
45
|
+
//= require spree/backend/returns/expedited_exchanges_warning
|
46
|
+
//= require spree/backend/returns/return_item_selection
|
47
|
+
//= require spree/backend/routes
|
48
|
+
//= require spree/backend/select_payments
|
49
|
+
//= require spree/backend/shipments
|
50
|
+
//= require spree/backend/spree-select2
|
51
|
+
//= require spree/backend/states
|
52
|
+
//= require spree/backend/stock_management/index_add_forms
|
53
|
+
//= require spree/backend/stock_management/index_update_forms
|
54
|
+
//= require spree/backend/stock_management/stock_item
|
55
|
+
//= require spree/backend/stock_movement
|
56
|
+
//= require spree/backend/stock_transfers/count_update_forms
|
57
|
+
//= require spree/backend/stock_transfers/edit
|
58
|
+
//= require spree/backend/stock_transfers/receive
|
59
|
+
//= require spree/backend/stock_transfers/received_counter
|
60
|
+
//= require spree/backend/stock_transfers/stock_transfer
|
61
|
+
//= require spree/backend/stock_transfers/transfer_item
|
62
|
+
//= require spree/backend/stock_transfers/transfer_item_deleting
|
63
|
+
//= require spree/backend/stock_transfers/variant_form
|
64
|
+
//= require spree/backend/store_credits
|
65
|
+
//= require spree/backend/style_guide
|
66
|
+
//= require spree/backend/taxon_autocomplete
|
67
|
+
//= require spree/backend/taxonomy
|
68
|
+
//= require spree/backend/taxons
|
69
|
+
//= require spree/backend/user_picker
|
70
|
+
//= require spree/backend/variant_autocomplete
|
71
|
+
//= require spree/backend/variant_management
|
72
|
+
//= require spree/backend/zone
|
@@ -1,20 +1,3 @@
|
|
1
|
-
[data-hook="admin_products_index_search"] {
|
2
|
-
@include make-row();
|
3
|
-
|
4
|
-
> * {
|
5
|
-
@include make-col();
|
6
|
-
@include padding(0 null); // override the padding on .field
|
7
|
-
}
|
8
|
-
}
|
9
|
-
|
10
|
-
.product-search-field-name {
|
11
|
-
@include make-col-span(6);
|
12
|
-
}
|
13
|
-
|
14
|
-
.product-search-field-sku {
|
15
|
-
@include make-col-span(4);
|
16
|
-
}
|
17
|
-
|
18
1
|
.product-search-field-show-deleted.field.checkbox {
|
19
2
|
// extra specificity to override styles
|
20
3
|
@include make-col-span(2);
|
@@ -52,3 +35,32 @@ div[data-hook="admin_products_index_search_buttons"] {
|
|
52
35
|
color: $color-2;
|
53
36
|
}
|
54
37
|
}
|
38
|
+
|
39
|
+
#upload-zone {
|
40
|
+
border: 2px dashed $color-border;
|
41
|
+
padding: 2rem 5rem;
|
42
|
+
text-align: center;
|
43
|
+
margin: 1rem auto;
|
44
|
+
width: 70%;
|
45
|
+
|
46
|
+
label.upload {
|
47
|
+
display: block;
|
48
|
+
}
|
49
|
+
|
50
|
+
&.with-images {
|
51
|
+
border-color: $color-success;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
progress {
|
56
|
+
width: 100%;
|
57
|
+
}
|
58
|
+
|
59
|
+
.margin-bottom-one {
|
60
|
+
margin-bottom: 1rem;
|
61
|
+
}
|
62
|
+
|
63
|
+
.progress-card {
|
64
|
+
height: 100%;
|
65
|
+
padding: 1rem;
|
66
|
+
}
|
@@ -10,6 +10,7 @@
|
|
10
10
|
> tr.stock-item-edit-row {
|
11
11
|
td {
|
12
12
|
background-color: $color-tbl-even;
|
13
|
+
border-left: none;
|
13
14
|
}
|
14
15
|
&:nth-child(even) td {
|
15
16
|
/* An nth-even child is actually an odd row */
|
@@ -39,4 +40,9 @@
|
|
39
40
|
}
|
40
41
|
}
|
41
42
|
|
43
|
+
tr:hover {
|
44
|
+
.stock-variant-field-table td {
|
45
|
+
background-color: transparent;
|
46
|
+
}
|
47
|
+
}
|
42
48
|
}
|
@@ -14,11 +14,16 @@ body {
|
|
14
14
|
.admin-nav {
|
15
15
|
@include position(absolute, 0 null 0 0);
|
16
16
|
width: $width-sidebar;
|
17
|
+
img {
|
18
|
+
max-width: 100%;
|
19
|
+
}
|
20
|
+
@media print { display: none }
|
17
21
|
}
|
18
22
|
|
19
23
|
.content-wrapper {
|
20
24
|
body:not(.new-layout) & {
|
21
25
|
margin-left: $width-sidebar;
|
26
|
+
@media print { margin-left: 0 }
|
22
27
|
}
|
23
28
|
|
24
29
|
body.new-layout & {
|
@@ -37,14 +37,12 @@
|
|
37
37
|
@import 'spree/backend/plugins/select2';
|
38
38
|
@import 'spree/backend/plugins/bootstrap_tooltip';
|
39
39
|
|
40
|
-
@import 'spree/backend/sections/
|
40
|
+
@import 'spree/backend/sections/adjustments';
|
41
41
|
@import 'spree/backend/sections/orders';
|
42
42
|
@import 'spree/backend/sections/products';
|
43
43
|
@import 'spree/backend/sections/promotions';
|
44
|
-
@import 'spree/backend/sections/edit_checkouts';
|
45
44
|
@import 'spree/backend/sections/bulk_transfer';
|
46
45
|
@import 'spree/backend/sections/return_authorizations';
|
47
|
-
@import 'spree/backend/sections/tax_zones';
|
48
46
|
@import 'spree/backend/sections/log_entries';
|
49
47
|
@import 'spree/backend/sections/taxonomies';
|
50
48
|
@import 'spree/backend/sections/taxons';
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Spree
|
2
2
|
module Admin
|
3
3
|
class OrdersController < Spree::Admin::BaseController
|
4
|
+
helper 'spree/admin/payments'
|
5
|
+
|
4
6
|
before_action :initialize_order_events
|
5
7
|
before_action :load_order, only: [:edit, :update, :complete, :advance, :cancel, :resume, :approve, :resend, :unfinalize_adjustments, :finalize_adjustments, :cart, :confirm]
|
6
8
|
around_action :lock_order, only: [:update, :advance, :complete, :confirm, :cancel, :resume, :approve, :resend]
|
@@ -78,7 +78,7 @@ module Spree
|
|
78
78
|
|
79
79
|
def load_data
|
80
80
|
@amount = params[:amount] || load_order.total
|
81
|
-
@payment_methods = PaymentMethod.
|
81
|
+
@payment_methods = PaymentMethod.available_to_admin
|
82
82
|
if @payment && @payment.payment_method
|
83
83
|
@payment_method = @payment.payment_method
|
84
84
|
else
|