caboose-cms 0.8.24 → 0.8.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/caboose/variant_children_controller.js +236 -0
- data/app/controllers/caboose/line_items_controller.rb +1 -1
- data/app/controllers/caboose/products_controller.rb +41 -2
- data/app/controllers/caboose/store_controller.rb +64 -8
- data/app/controllers/caboose/variant_children_controller.rb +84 -0
- data/app/controllers/caboose/variants_controller.rb +27 -6
- data/app/models/caboose/product_default.rb +25 -0
- data/app/models/caboose/schema.rb +49 -3
- data/app/models/caboose/site.rb +12 -0
- data/app/models/caboose/utilities/schema.rb +4 -3
- data/app/models/caboose/variant.rb +18 -4
- data/app/models/caboose/variant_child.rb +13 -0
- data/app/models/caboose/variant_default.rb +39 -0
- data/app/views/caboose/products/_admin_header.html.erb +4 -2
- data/app/views/caboose/products/admin_edit_categories.html.erb +6 -0
- data/app/views/caboose/products/admin_edit_description.html.erb +6 -0
- data/app/views/caboose/products/admin_edit_general.html.erb +4 -0
- data/app/views/caboose/products/admin_edit_images.html.erb +6 -0
- data/app/views/caboose/products/admin_edit_options.html.erb +7 -1
- data/app/views/caboose/products/admin_index.html.erb +5 -0
- data/app/views/caboose/store/admin_edit_defaults.html.erb +90 -0
- data/app/views/caboose/variants/admin_edit.html.erb +50 -25
- data/app/views/caboose/variants/admin_index.html.erb +6 -0
- data/lib/caboose/version.rb +1 -1
- metadata +8 -2
@@ -27,6 +27,10 @@ date_available = p.date_available ? p.date_available.strftime('%F') : ''
|
|
27
27
|
%>
|
28
28
|
$(document).ready(function() {
|
29
29
|
|
30
|
+
add_to_crumbtrail('/admin', 'Admin');
|
31
|
+
add_to_crumbtrail('/admin/products', 'Products');
|
32
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>', <%= raw Caboose.json(p.title) %>);
|
33
|
+
|
30
34
|
m = new ModelBinder({
|
31
35
|
name: 'Product',
|
32
36
|
id: <%= p.id %>,
|
@@ -55,6 +55,12 @@ p = @product
|
|
55
55
|
|
56
56
|
var controller = false;
|
57
57
|
$(document).ready(function() {
|
58
|
+
|
59
|
+
add_to_crumbtrail('/admin', 'Admin');
|
60
|
+
add_to_crumbtrail('/admin/products', 'Products');
|
61
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>', <%= raw Caboose.json(p.title) %>);
|
62
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>/images', 'Images');
|
63
|
+
|
58
64
|
controller = new MediaController({
|
59
65
|
top_cat_id: <%= raw Caboose.json(@media_category ? @top_media_category.id : false) %>,
|
60
66
|
cat_id: <%= raw Caboose.json(@media_category ? @media_category.id : false) %>,
|
@@ -40,7 +40,13 @@ may_delete3 = p.variants.collect{|v| v.option3 }.uniq.count == 1
|
|
40
40
|
<script type='text/javascript'>
|
41
41
|
|
42
42
|
var mods_controller = false;
|
43
|
-
$(document).ready(function() {
|
43
|
+
$(document).ready(function() {
|
44
|
+
|
45
|
+
add_to_crumbtrail('/admin', 'Admin');
|
46
|
+
add_to_crumbtrail('/admin/products', 'Products');
|
47
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>', <%= raw Caboose.json(p.title) %>);
|
48
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>/options', 'Options');
|
49
|
+
|
44
50
|
m = new ModelBinder({
|
45
51
|
name: 'Product',
|
46
52
|
id: <%= p.id %>,
|
@@ -1,3 +1,4 @@
|
|
1
|
+
<div id='crumbtrail'></div>
|
1
2
|
<h1>Products</h1>
|
2
3
|
|
3
4
|
<p style="margin: 12px 0">
|
@@ -32,6 +33,10 @@ function tiny_product_image(p) {
|
|
32
33
|
|
33
34
|
$(document).ready(function() {
|
34
35
|
var that = this;
|
36
|
+
|
37
|
+
add_to_crumbtrail('/admin', 'Admin');
|
38
|
+
add_to_crumbtrail('/admin/products', 'Products');
|
39
|
+
|
35
40
|
var table = new IndexTable({
|
36
41
|
form_authenticity_token: '<%= form_authenticity_token %>',
|
37
42
|
container: 'products',
|
@@ -0,0 +1,90 @@
|
|
1
|
+
<%
|
2
|
+
sc = @store_config
|
3
|
+
pd = @product_default
|
4
|
+
vd = @variant_default
|
5
|
+
%>
|
6
|
+
<%= render :partial => 'caboose/store/admin_header' %>
|
7
|
+
|
8
|
+
<h2>Product Defaults</h2>
|
9
|
+
<div id='productdefault_<%= pd.id %>_product_vendor_id' ></div>
|
10
|
+
<div id='productdefault_<%= pd.id %>_product_option1' ></div>
|
11
|
+
<div id='productdefault_<%= pd.id %>_product_option2' ></div>
|
12
|
+
<div id='productdefault_<%= pd.id %>_product_option3' ></div>
|
13
|
+
<div id='productdefault_<%= pd.id %>_product_status' ></div>
|
14
|
+
<div id='productdefault_<%= pd.id %>_product_on_sale' ></div>
|
15
|
+
<div id='productdefault_<%= pd.id %>_product_allow_gift_wrap' ></div>
|
16
|
+
<div id='productdefault_<%= pd.id %>_product_gift_wrap_price' ></div>
|
17
|
+
|
18
|
+
<h2>Variant Defaults</h2>
|
19
|
+
<div id='variantdefault_<%= vd.id %>_variant_cost' ></div>
|
20
|
+
<div id='variantdefault_<%= vd.id %>_variant_price' ></div>
|
21
|
+
<div id='variantdefault_<%= vd.id %>_variant_available' ></div>
|
22
|
+
<div id='variantdefault_<%= vd.id %>_variant_quantity_in_stock' ></div>
|
23
|
+
<div id='variantdefault_<%= vd.id %>_variant_ignore_quantity' ></div>
|
24
|
+
<div id='variantdefault_<%= vd.id %>_variant_allow_backorder' ></div>
|
25
|
+
<div id='variantdefault_<%= vd.id %>_variant_weight' ></div>
|
26
|
+
<div id='variantdefault_<%= vd.id %>_variant_length' ></div>
|
27
|
+
<div id='variantdefault_<%= vd.id %>_variant_width' ></div>
|
28
|
+
<div id='variantdefault_<%= vd.id %>_variant_height' ></div>
|
29
|
+
<div id='variantdefault_<%= vd.id %>_variant_volume' ></div>
|
30
|
+
<div id='variantdefault_<%= vd.id %>_variant_cylinder' ></div>
|
31
|
+
<div id='variantdefault_<%= vd.id %>_variant_requires_shipping' ></div>
|
32
|
+
<div id='variantdefault_<%= vd.id %>_variant_taxable' ></div>
|
33
|
+
<div id='variantdefault_<%= vd.id %>_variant_status' ></div>
|
34
|
+
<div id='variantdefault_<%= vd.id %>_variant_downloadable' ></div>
|
35
|
+
<div id='variantdefault_<%= vd.id %>_variant_is_bundle' ></div>
|
36
|
+
|
37
|
+
<%= render :partial => 'caboose/store/admin_footer' %>
|
38
|
+
|
39
|
+
<% content_for :caboose_js do %>
|
40
|
+
<script type="text/javascript">
|
41
|
+
|
42
|
+
$(document).ready(function() {
|
43
|
+
|
44
|
+
new ModelBinder({
|
45
|
+
name: 'ProductDefault',
|
46
|
+
id: <%= pd.id %>,
|
47
|
+
update_url: '/admin/store',
|
48
|
+
authenticity_token: '<%= form_authenticity_token %>',
|
49
|
+
attributes: [
|
50
|
+
{ name: 'product_vendor_id' , nice_name: 'Vendor' , type: 'select' , value: <%= raw Caboose.json(pd.vendor_id ) %>, width: 400, options_url: '/admin/vendors/options' },
|
51
|
+
{ name: 'product_option1' , nice_name: 'Option 1' , type: 'text' , value: <%= raw Caboose.json(pd.option1 ) %>, width: 400 },
|
52
|
+
{ name: 'product_option2' , nice_name: 'Option 2' , type: 'text' , value: <%= raw Caboose.json(pd.option2 ) %>, width: 400 },
|
53
|
+
{ name: 'product_option3' , nice_name: 'Option 3' , type: 'text' , value: <%= raw Caboose.json(pd.option3 ) %>, width: 400 },
|
54
|
+
{ name: 'product_status' , nice_name: 'Status' , type: 'select' , value: <%= raw Caboose.json(pd.status ) %>, width: 400, options_url: '/admin/products/status-options' },
|
55
|
+
{ name: 'product_on_sale' , nice_name: 'On Sale' , type: 'checkbox' , value: <%= raw Caboose.json(pd.on_sale ) %>, width: 400 },
|
56
|
+
{ name: 'product_allow_gift_wrap' , nice_name: 'Allow gift wrap' , type: 'checkbox' , value: <%= raw Caboose.json(pd.allow_gift_wrap ) %>, width: 400 },
|
57
|
+
{ name: 'product_gift_wrap_price' , nice_name: 'Gift wrap price' , type: 'text' , value: <%= raw Caboose.json(pd.gift_wrap_price ) %>, width: 400 }
|
58
|
+
]
|
59
|
+
});
|
60
|
+
new ModelBinder({
|
61
|
+
name: 'VariantDefault',
|
62
|
+
id: <%= vd.id %>,
|
63
|
+
update_url: '/admin/store',
|
64
|
+
authenticity_token: '<%= form_authenticity_token %>',
|
65
|
+
attributes: [
|
66
|
+
{ name: 'variant_cost' , nice_name: 'Cost' , type: 'text' , value: <%= raw Caboose.json(vd.cost ) %>, width: 400 },
|
67
|
+
{ name: 'variant_price' , nice_name: 'Price' , type: 'text' , value: <%= raw Caboose.json(vd.price ) %>, width: 400 },
|
68
|
+
{ name: 'variant_available' , nice_name: 'Available' , type: 'checkbox' , value: <%= raw Caboose.json(vd.available ) %>, width: 400 },
|
69
|
+
{ name: 'variant_quantity_in_stock' , nice_name: 'Quantity in Stock' , type: 'text' , value: <%= raw Caboose.json(vd.quantity_in_stock ) %>, width: 400 },
|
70
|
+
{ name: 'variant_ignore_quantity' , nice_name: 'Ignore quantity' , type: 'checkbox' , value: <%= raw Caboose.json(vd.ignore_quantity ) %>, width: 400 },
|
71
|
+
{ name: 'variant_allow_backorder' , nice_name: 'Allow backorder' , type: 'checkbox' , value: <%= raw Caboose.json(vd.allow_backorder ) %>, width: 400 },
|
72
|
+
{ name: 'variant_weight' , nice_name: 'Weight' , type: 'text' , value: <%= raw Caboose.json(vd.weight ) %>, width: 400 },
|
73
|
+
{ name: 'variant_length' , nice_name: 'Length' , type: 'text' , value: <%= raw Caboose.json(vd.length ) %>, width: 400 },
|
74
|
+
{ name: 'variant_width' , nice_name: 'Width' , type: 'text' , value: <%= raw Caboose.json(vd.width ) %>, width: 400 },
|
75
|
+
{ name: 'variant_height' , nice_name: 'Height' , type: 'text' , value: <%= raw Caboose.json(vd.height ) %>, width: 400 },
|
76
|
+
{ name: 'variant_volume' , nice_name: 'Volume' , type: 'text' , value: <%= raw Caboose.json(vd.volume ) %>, width: 400 },
|
77
|
+
{ name: 'variant_cylinder' , nice_name: 'Cylinder' , type: 'checkbox' , value: <%= raw Caboose.json(vd.cylinder ) %>, width: 400 },
|
78
|
+
{ name: 'variant_requires_shipping' , nice_name: 'Requires shipping' , type: 'checkbox' , value: <%= raw Caboose.json(vd.requires_shipping ) %>, width: 400 },
|
79
|
+
{ name: 'variant_taxable' , nice_name: 'Taxable' , type: 'checkbox' , value: <%= raw Caboose.json(vd.taxable ) %>, width: 400 },
|
80
|
+
{ name: 'variant_status' , nice_name: 'Status' , type: 'select' , value: <%= raw Caboose.json(vd.status ) %>, width: 400 },
|
81
|
+
{ name: 'variant_status' , nice_name: 'Status' , type: 'select' , value: <%= raw Caboose.json(vd.status ) %>, width: 400 , options_url: '/admin/variants/status-options' },
|
82
|
+
{ name: 'variant_downloadable' , nice_name: 'Downloadable' , type: 'checkbox' , value: <%= raw Caboose.json(vd.downloadable ) %>, width: 400 },
|
83
|
+
{ name: 'variant_is_bundle' , nice_name: 'Is bundle' , type: 'checkbox' , value: <%= raw Caboose.json(vd.is_bundle ) %>, width: 400 }
|
84
|
+
]
|
85
|
+
});
|
86
|
+
|
87
|
+
});
|
88
|
+
|
89
|
+
</script>
|
90
|
+
<% end %>
|
@@ -2,21 +2,19 @@
|
|
2
2
|
p = @product
|
3
3
|
v = @variant
|
4
4
|
%>
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
<% if p.
|
12
|
-
<% if p.
|
13
|
-
<% if p.option3 %><div id='variant_<%= v.id %>_option3'></div><% end %>
|
5
|
+
<%= render :partial => 'caboose/products/admin_header' %>
|
6
|
+
|
7
|
+
<!--<p><strong>Product:</strong> <%= p.title %></p>-->
|
8
|
+
|
9
|
+
<h2>General Options</h2>
|
10
|
+
<% if p.option1 && p.option1.strip.length > 0 %><div id='variant_<%= v.id %>_option1'></div><% end %>
|
11
|
+
<% if p.option2 && p.option2.strip.length > 0 %><div id='variant_<%= v.id %>_option2'></div><% end %>
|
12
|
+
<% if p.option3 && p.option3.strip.length > 0 %><div id='variant_<%= v.id %>_option3'></div><% end %>
|
14
13
|
<div id='variant_<%= v.id %>_status' ></div>
|
15
14
|
<div id='variant_<%= v.id %>_allow_backorder' ></div>
|
16
15
|
<div id='variant_<%= v.id %>_taxable' ></div>
|
17
|
-
<div id='variant_<%= v.id %>_downloadable' ></div>
|
18
16
|
<div id='variant_<%= v.id %>_requires_shipping' ></div>
|
19
|
-
|
17
|
+
|
20
18
|
<h2>Inventory</h2>
|
21
19
|
<div id='variant_<%= v.id %>_alternate_id' ></div>
|
22
20
|
<div id='variant_<%= v.id %>_sku' ></div>
|
@@ -25,14 +23,14 @@ v = @variant
|
|
25
23
|
<div id='variant_<%= v.id %>_price' ></div>
|
26
24
|
<div id='variant_<%= v.id %>_quantity_in_stock' ></div>
|
27
25
|
<div id='variant_<%= v.id %>_ignore_quantity' ></div>
|
28
|
-
|
26
|
+
|
29
27
|
<h2>Dimensions</h2>
|
30
28
|
<div id='variant_<%= v.id %>_cylinder' ></div>
|
31
29
|
<div id='variant_<%= v.id %>_weight' ></div>
|
32
30
|
<div id='variant_<%= v.id %>_length' ></div>
|
33
31
|
<div id='variant_<%= v.id %>_width' ></div>
|
34
32
|
<div id='variant_<%= v.id %>_height' ></div>
|
35
|
-
|
33
|
+
|
36
34
|
<h2>Sale</h2>
|
37
35
|
<div id='variant_<%= v.id %>_sale_price' ></div>
|
38
36
|
<div id='variant_<%= v.id %>_date_sale_starts' ></div>
|
@@ -41,32 +39,45 @@ v = @variant
|
|
41
39
|
<div id='variant_<%= v.id %>_time_sale_ends' ></div>
|
42
40
|
<div id='variant_<%= v.id %>_clearance' ></div>
|
43
41
|
<div id='variant_<%= v.id %>_clearance_price' ></div>
|
44
|
-
|
45
|
-
<td valign='top' colspan='4'4>
|
42
|
+
|
46
43
|
<h2>Flat Rate Shipping</h2>
|
47
44
|
<div id='variant_<%= v.id %>_flat_rate_shipping' ></div>
|
48
45
|
<div id='variant_<%= v.id %>_flat_rate_shipping_single' ></div>
|
49
46
|
<div id='variant_<%= v.id %>_flat_rate_shipping_combined' ></div>
|
50
47
|
<div id='variant_<%= v.id %>_flat_rate_shipping_package_method_id'></div>
|
51
|
-
|
52
|
-
|
53
|
-
|
48
|
+
|
49
|
+
<h2>Downloadable Options</h2>
|
50
|
+
<div id='variant_<%= v.id %>_downloadable' ></div>
|
54
51
|
<div id='variant_<%= v.id %>_download_path' ></div>
|
52
|
+
<p><input type='button' value='Generate Download URL' onclick="download_url();" /></p>
|
53
|
+
|
54
|
+
<h2>Bundling</h2>
|
55
|
+
<div id='variant_<%= v.id %>_is_bundle'></div>
|
56
|
+
<div id='variant_children'></div>
|
57
|
+
|
58
|
+
<h2>Delete Variant</h2>
|
55
59
|
<div id='message'></div>
|
56
|
-
<p>
|
57
|
-
|
58
|
-
|
59
|
-
<input type='button' value='Delete Variant' onclick="delete_variant(<%= v.id %>);" />
|
60
|
-
</p>
|
60
|
+
<p><input type='button' value='Delete Variant' onclick="delete_variant(<%= v.id %>);" /></p>
|
61
|
+
|
62
|
+
<%= render :partial => 'caboose/products/admin_footer' %>
|
61
63
|
|
62
64
|
<% content_for :caboose_js do %>
|
63
65
|
<%= javascript_include_tag "caboose/model/all" %>
|
64
66
|
<%= javascript_include_tag "caboose/admin_products" %>
|
67
|
+
<%= javascript_include_tag "caboose/variant_children_controller" %>
|
65
68
|
<script type='text/javascript'>
|
66
69
|
<%
|
67
70
|
sc = @site.store_config
|
68
71
|
%>
|
72
|
+
var vcc = false;
|
69
73
|
$(document).ready(function() {
|
74
|
+
|
75
|
+
add_to_crumbtrail('/admin', 'Admin');
|
76
|
+
add_to_crumbtrail('/admin/products', 'Products');
|
77
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>', <%= raw Caboose.json(p.title) %>);
|
78
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>/variants', 'Inventory & Variants');
|
79
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>/variants/<%= v.id %>', <%= raw Caboose.json(v.options.count > 0 ? v.options.join(', ') : 'Default Variant') %>);
|
80
|
+
|
70
81
|
m = new ModelBinder({
|
71
82
|
name: 'Variant',
|
72
83
|
id: <%= v.id %>,
|
@@ -105,9 +116,23 @@ $(document).ready(function() {
|
|
105
116
|
{ name: 'flat_rate_shipping_package_method_id' , nice_name: 'Package method' , type: 'select' , align: 'right' , width: 250, options_url: '/admin/shipping-packages/package-method-options',
|
106
117
|
value: <%= raw Caboose.json("#{v.flat_rate_shipping_package_id}_#{v.flat_rate_shipping_method_id}") %>,
|
107
118
|
text: <%= raw Caboose.json(v.flat_rate_shipping_package && v.flat_rate_shipping_method ? "#{v.flat_rate_shipping_package.name} - #{v.flat_rate_shipping_method.service_name}" : '') %>
|
108
|
-
}
|
119
|
+
},
|
120
|
+
{ name: 'is_bundle' , nice_name: 'Is Bundle' , type: 'checkbox' , align: 'right' , width: 175, value: <%= raw Caboose.json(v.is_bundle ? 1 : 0 ) %> ,
|
121
|
+
after_update: function() {
|
122
|
+
if ($('#variant_<%= v.id %>_is_bundle').is(':checked'))
|
123
|
+
vcc.print();
|
124
|
+
else
|
125
|
+
vcc.hide();
|
126
|
+
}
|
127
|
+
}
|
109
128
|
]
|
110
|
-
});
|
129
|
+
});
|
130
|
+
vcc = new VariantChildrenController({
|
131
|
+
product_id: <%= v.product_id %>,
|
132
|
+
variant_id: <%= v.id %>,
|
133
|
+
authenticity_token: '<%= raw form_authenticity_token %>',
|
134
|
+
hide_on_init: <% if v.is_bundle %>false<% else %>true<% end %>
|
135
|
+
});
|
111
136
|
});
|
112
137
|
|
113
138
|
function download_url(expires_in)
|
@@ -57,6 +57,12 @@ sc = @site.store_config
|
|
57
57
|
|
58
58
|
$(document).ready(function() {
|
59
59
|
var that = this;
|
60
|
+
|
61
|
+
add_to_crumbtrail('/admin', 'Admin');
|
62
|
+
add_to_crumbtrail('/admin/products', 'Products');
|
63
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>', <%= raw Caboose.json(p.title) %>);
|
64
|
+
add_to_crumbtrail('/admin/products/<%= p.id %>/variants', 'Inventory & Variants');
|
65
|
+
|
60
66
|
var table = new IndexTable({
|
61
67
|
form_authenticity_token: '<%= form_authenticity_token %>',
|
62
68
|
container: 'variants',
|
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.8.
|
4
|
+
version: 0.8.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
@@ -600,6 +600,7 @@ files:
|
|
600
600
|
- app/assets/javascripts/caboose/station.js
|
601
601
|
- app/assets/javascripts/caboose/testing.js
|
602
602
|
- app/assets/javascripts/caboose/united_states.js
|
603
|
+
- app/assets/javascripts/caboose/variant_children_controller.js
|
603
604
|
- app/assets/javascripts/chartjs/Chart.min.js
|
604
605
|
- app/assets/javascripts/chartjs/gulpfile.js
|
605
606
|
- app/assets/javascripts/plupload/Moxie.swf
|
@@ -794,6 +795,7 @@ files:
|
|
794
795
|
- app/controllers/caboose/store_controller.rb
|
795
796
|
- app/controllers/caboose/subscriptions_controller.rb
|
796
797
|
- app/controllers/caboose/users_controller.rb
|
798
|
+
- app/controllers/caboose/variant_children_controller.rb
|
797
799
|
- app/controllers/caboose/variants_controller.rb
|
798
800
|
- app/controllers/caboose/vendors_controller.rb
|
799
801
|
- app/helpers/caboose/application_helper.rb
|
@@ -883,6 +885,7 @@ files:
|
|
883
885
|
- app/models/caboose/post_custom_field_value.rb
|
884
886
|
- app/models/caboose/product.rb
|
885
887
|
- app/models/caboose/product_category_sort.rb
|
888
|
+
- app/models/caboose/product_default.rb
|
886
889
|
- app/models/caboose/product_image.rb
|
887
890
|
- app/models/caboose/product_image_variant.rb
|
888
891
|
- app/models/caboose/retargeting_config.rb
|
@@ -914,6 +917,8 @@ files:
|
|
914
917
|
- app/models/caboose/user_subscription.rb
|
915
918
|
- app/models/caboose/utilities/schema.rb
|
916
919
|
- app/models/caboose/variant.rb
|
920
|
+
- app/models/caboose/variant_child.rb
|
921
|
+
- app/models/caboose/variant_default.rb
|
917
922
|
- app/models/caboose/vendor.rb
|
918
923
|
- app/models/caboose/wish_list.rb
|
919
924
|
- app/models/caboose/wish_list_line_item.rb
|
@@ -1170,6 +1175,7 @@ files:
|
|
1170
1175
|
- app/views/caboose/station/index.html.erb
|
1171
1176
|
- app/views/caboose/store/_admin_footer.html.erb
|
1172
1177
|
- app/views/caboose/store/_admin_header.html.erb
|
1178
|
+
- app/views/caboose/store/admin_edit_defaults.html.erb
|
1173
1179
|
- app/views/caboose/store/admin_edit_general.html.erb
|
1174
1180
|
- app/views/caboose/store/admin_edit_packages.html.erb
|
1175
1181
|
- app/views/caboose/store/admin_edit_payment.html.erb
|