caboose-cms 0.9.159 → 0.9.160
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/controllers/caboose/products_controller.rb +9 -9
- data/app/controllers/caboose/variants_controller.rb +9 -6
- data/app/views/caboose/variants/admin_edit_sort_order.html.erb +15 -3
- data/app/views/caboose/variants/admin_index.html.erb +5 -5
- data/lib/caboose/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18a19403ebb7d091161c0bf97843cd91c7573fd2
|
4
|
+
data.tar.gz: 3fc93361bb986d6c424e1297b76393c015ab4154
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38b692eedce3c1d3e639cea48f8da9d5203b6e9f1025c68ac263ee27aae1f5c990d837a6e17510434fa0786c2c6b4814e5b8a958f7c31fe898ed1610a034e9ad
|
7
|
+
data.tar.gz: ba0d6090ad712ff13489b235ee6effc0aab02591d3a6150efa206a2184b09093145255049205e37372666cb440b95a119677b1466564f065589572467ebc10ff
|
@@ -461,28 +461,28 @@ module Caboose
|
|
461
461
|
when 'stackable_group_id' then product.stackable_group_id = value
|
462
462
|
when 'allow_gift_wrap' then product.allow_gift_wrap = value
|
463
463
|
when 'gift_wrap_price' then product.gift_wrap_price = value
|
464
|
-
when 'option1' then product.option1 = value
|
465
|
-
when 'option2' then product.option2 = value
|
466
|
-
when 'option3' then product.option3 = value
|
464
|
+
when 'option1' then product.option1 = (value.blank? ? nil : value)
|
465
|
+
when 'option2' then product.option2 = (value.blank? ? nil : value)
|
466
|
+
when 'option3' then product.option3 = (value.blank? ? nil : value)
|
467
467
|
when 'option1_media' then product.option1_media = value
|
468
468
|
when 'option2_media' then product.option2_media = value
|
469
469
|
when 'option3_media' then product.option3_media = value
|
470
470
|
when 'default1'
|
471
|
-
product.default1 = value
|
471
|
+
product.default1 = (value.blank? ? nil : value)
|
472
472
|
Variant.where(:product_id => product.id, :option1 => nil).each do |p|
|
473
|
-
p.option1 = value
|
473
|
+
p.option1 = (value.blank? ? nil : value)
|
474
474
|
p.save
|
475
475
|
end
|
476
476
|
when 'default2'
|
477
|
-
product.default2 = value
|
477
|
+
product.default2 = (value.blank? ? nil : value)
|
478
478
|
Variant.where(:product_id => product.id, :option2 => nil).each do |p|
|
479
|
-
p.option2 = value
|
479
|
+
p.option2 = (value.blank? ? nil : value)
|
480
480
|
p.save
|
481
481
|
end
|
482
482
|
when 'default3'
|
483
|
-
product.default3 = value
|
483
|
+
product.default3 = (value.blank? ? nil : value)
|
484
484
|
Variant.where(:product_id => product.id, :option3 => nil).each do |p|
|
485
|
-
p.option3 = value
|
485
|
+
p.option3 = (value.blank? ? nil : value)
|
486
486
|
p.save
|
487
487
|
end
|
488
488
|
when 'date_available'
|
@@ -214,7 +214,8 @@ module Caboose
|
|
214
214
|
def admin_update_option1_sort_order
|
215
215
|
product_id = params[:product_id]
|
216
216
|
params[:values].each_with_index do |value, i|
|
217
|
-
|
217
|
+
val = value.gsub('AMPERSAND','&')
|
218
|
+
Variant.where(:product_id => product_id, :option1 => val).all.each do |v|
|
218
219
|
v.update_attribute(:option1_sort_order, i)
|
219
220
|
end
|
220
221
|
end
|
@@ -225,7 +226,8 @@ module Caboose
|
|
225
226
|
def admin_update_option2_sort_order
|
226
227
|
product_id = params[:product_id]
|
227
228
|
params[:values].each_with_index do |value, i|
|
228
|
-
|
229
|
+
val = value.gsub('AMPERSAND','&')
|
230
|
+
Variant.where(:product_id => product_id, :option2 => val).all.each do |v|
|
229
231
|
v.update_attribute(:option2_sort_order, i)
|
230
232
|
end
|
231
233
|
end
|
@@ -236,7 +238,8 @@ module Caboose
|
|
236
238
|
def admin_update_option3_sort_order
|
237
239
|
product_id = params[:product_id]
|
238
240
|
params[:values].each_with_index do |value, i|
|
239
|
-
|
241
|
+
val = value.gsub('AMPERSAND','&')
|
242
|
+
Variant.where(:product_id => product_id, :option3 => val).all.each do |v|
|
240
243
|
v.update_attribute(:option3_sort_order, i)
|
241
244
|
end
|
242
245
|
end
|
@@ -269,9 +272,9 @@ module Caboose
|
|
269
272
|
when 'length' then variants.each { |v| v.length = value }
|
270
273
|
when 'width' then variants.each { |v| v.width = value }
|
271
274
|
when 'height' then variants.each { |v| v.height = value }
|
272
|
-
when 'option1' then variants.each { |v| v.option1 = value }
|
273
|
-
when 'option2' then variants.each { |v| v.option2 = value }
|
274
|
-
when 'option3' then variants.each { |v| v.option3 = value }
|
275
|
+
when 'option1' then variants.each { |v| v.option1 = (value.blank? ? nil : value) }
|
276
|
+
when 'option2' then variants.each { |v| v.option2 = (value.blank? ? nil : value) }
|
277
|
+
when 'option3' then variants.each { |v| v.option3 = (value.blank? ? nil : value) }
|
275
278
|
when 'option1_media_id' then variants.each { |v| v.option1_media_id = value }
|
276
279
|
when 'option2_media_id' then variants.each { |v| v.option2_media_id = value }
|
277
280
|
when 'option3_media_id' then variants.each { |v| v.option3_media_id = value }
|
@@ -80,13 +80,25 @@ p = @product
|
|
80
80
|
<% content_for :caboose_js do %>
|
81
81
|
<script type='text/javascript'>
|
82
82
|
|
83
|
+
function serial(values) {
|
84
|
+
var str = values.replace(/&values\[\]=/g,'|SPLIT|').replace(/values\[\]=/g,'|SPLIT|');
|
85
|
+
var arr = str.split('|SPLIT|');
|
86
|
+
var new_arr = [];
|
87
|
+
$.each(arr, function(k,v) {
|
88
|
+
if ( v != '' && v != null )
|
89
|
+
new_arr.push( v.replace('&','AMPERSAND') )
|
90
|
+
});
|
91
|
+
var new_str = 'values[]=' + new_arr.join('&values[]=');
|
92
|
+
return new_str;
|
93
|
+
}
|
94
|
+
|
83
95
|
$(document).ready(function() {
|
84
96
|
$('#option1').sortable({
|
85
97
|
update: function(event, ui) {
|
86
98
|
$.ajax({
|
87
99
|
url: '/admin/products/<%= p.id %>/variants/option1-sort-order',
|
88
100
|
type: 'put',
|
89
|
-
data: $('#option1').sortable('serialize'),
|
101
|
+
data: serial($('#option1').sortable('serialize')),
|
90
102
|
success: function(resp) {}
|
91
103
|
});
|
92
104
|
}
|
@@ -96,7 +108,7 @@ $(document).ready(function() {
|
|
96
108
|
$.ajax({
|
97
109
|
url: '/admin/products/<%= p.id %>/variants/option2-sort-order',
|
98
110
|
type: 'put',
|
99
|
-
data: $('#option2').sortable('serialize'),
|
111
|
+
data: serial($('#option2').sortable('serialize')),
|
100
112
|
success: function(resp) {}
|
101
113
|
});
|
102
114
|
}
|
@@ -106,7 +118,7 @@ $(document).ready(function() {
|
|
106
118
|
$.ajax({
|
107
119
|
url: '/admin/products/<%= p.id %>/variants/option3-sort-order',
|
108
120
|
type: 'put',
|
109
|
-
data: $('#option3').sortable('serialize'),
|
121
|
+
data: serial($('#option3').sortable('serialize')),
|
110
122
|
success: function(resp) {}
|
111
123
|
});
|
112
124
|
}
|
@@ -72,12 +72,12 @@ $(document).ready(function() {
|
|
72
72
|
allow_duplicate: false,
|
73
73
|
allow_advanced_edit: true,
|
74
74
|
fields: [
|
75
|
-
<% if p.option1 %>{ show: true , name: 'option1' , nice_name: <%= raw Caboose.json(p.option1) %> , sort: 'option1' , type: 'text' , value: function(v) { return v.option1 }, width:
|
76
|
-
<% if p.option2 %>{ show: true , name: 'option2' , nice_name: <%= raw Caboose.json(p.option2) %> , sort: 'option2' , type: 'text' , value: function(v) { return v.option2 }, width:
|
77
|
-
<% if p.option3 %>{ show: true , name: 'option3' , nice_name: <%= raw Caboose.json(p.option3) %> , sort: 'option3' , type: 'text' , value: function(v) { return v.option3 }, width:
|
75
|
+
<% if p.option1 %>{ show: true , name: 'option1' , nice_name: <%= raw Caboose.json(p.option1) %> , sort: 'option1' , type: 'text' , value: function(v) { return v.option1 }, width: 200, align: 'left' , bulk_edit: true },<% end %>
|
76
|
+
<% if p.option2 %>{ show: true , name: 'option2' , nice_name: <%= raw Caboose.json(p.option2) %> , sort: 'option2' , type: 'text' , value: function(v) { return v.option2 }, width: 200, align: 'left' , bulk_edit: true },<% end %>
|
77
|
+
<% if p.option3 %>{ show: true , name: 'option3' , nice_name: <%= raw Caboose.json(p.option3) %> , sort: 'option3' , type: 'text' , value: function(v) { return v.option3 }, width: 200, align: 'left' , bulk_edit: true },<% end %>
|
78
78
|
{ show: true , name: 'status' , nice_name: 'Status' , sort: 'status' , type: 'select' , options_url: '/admin/variants/status-options', value: function(v) { return v.status }, width: 75, align: 'left' , bulk_edit: true },
|
79
|
-
{ show: true , name: 'alternate_id' , nice_name: 'Alternate ID' , sort: 'alternate_id' , type: 'text' , value: function(v) { return v.alternate_id }, width:
|
80
|
-
{ show: true , name: 'sku' , nice_name: 'SKU' , sort: 'sku' , type: 'text' , value: function(v) { return v.sku }, width:
|
79
|
+
{ show: true , name: 'alternate_id' , nice_name: 'Alternate ID' , sort: 'alternate_id' , type: 'text' , value: function(v) { return v.alternate_id }, width: 150, align: 'left' , bulk_edit: true },
|
80
|
+
{ show: true , name: 'sku' , nice_name: 'SKU' , sort: 'sku' , type: 'text' , value: function(v) { return v.sku }, width: 150, align: 'left' , bulk_edit: true },
|
81
81
|
{ show: false , name: 'barcode' , nice_name: 'Barcode' , sort: 'barcode' , type: 'text' , value: function(v) { return v.barcode }, width: 75, align: 'left' , bulk_edit: true },
|
82
82
|
{ show: true , name: 'cost' , nice_name: 'Cost of Goods' , sort: 'cost' , type: 'text' , value: function(v) { return v.cost }, width: 75, align: 'right' , bulk_edit: true },
|
83
83
|
{ show: true , name: 'price' , nice_name: 'Price' , sort: 'price' , type: 'text' , value: function(v) { return v.price }, width: 75, align: 'right' , bulk_edit: true },
|
data/lib/caboose/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.160
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|