caboose-cms 0.9.29 → 0.9.30
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/checkout/checkout_controller.js +19 -15
- data/app/assets/javascripts/caboose/checkout/shipping_address_controller.js +20 -19
- data/app/assets/javascripts/caboose/checkout/shipping_method_controller.js +29 -9
- data/app/assets/javascripts/caboose/checkout/stripe_payment_method_controller.js +6 -6
- 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: eb82d8896301aa81a5dd5c31515e674a8d94ca3e
|
4
|
+
data.tar.gz: a99eeebf6c56d93dc437fd3ec6126e57f8ea360d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91bfbab79102337d1f8faa9e7ddd389d27a88a4e0e0286c41a196976d8deea9bcb42d29c335a1c6897839cecc367c873de0d6de8a90264c5b7275f7614e63ac9
|
7
|
+
data.tar.gz: 409be109f1ab404760d03222a93b180e97c099d878604cd508d310e9419b1428eb04d90aa2317e2d9f89656d628882f78fffb96fb778c6306ca4bf28c1269a1e
|
@@ -81,7 +81,7 @@ CheckoutController.prototype = {
|
|
81
81
|
success: function(resp) {
|
82
82
|
that.invoice = resp;
|
83
83
|
$.each(that.invoice.invoice_packages, function(i, op) {
|
84
|
-
that.invoice.invoice_packages[i].shipping_method_controller = new ShippingMethodController({ cc: that, invoice_package_id: op.id });
|
84
|
+
that.invoice.invoice_packages[i].shipping_method_controller = new ShippingMethodController({ cc: that, invoice_package_id: op.id, package_number: i });
|
85
85
|
});
|
86
86
|
if (!that.invoice.shipping_address) that.invoice.shipping_address = that.empty_address();
|
87
87
|
//if (!that.invoice.billing_address) that.invoice.billing_address = that.empty_address();
|
@@ -188,31 +188,35 @@ CheckoutController.prototype = {
|
|
188
188
|
|
189
189
|
print_ready_message: function()
|
190
190
|
{
|
191
|
-
var that = this;
|
192
|
-
var
|
193
|
-
if (!that.
|
194
|
-
|
191
|
+
var that = this;
|
192
|
+
var msg = that.shipping_address_controller.ready_error();
|
193
|
+
if (!msg && that.invoice.payment_terms == 'pia') msg = that.payment_method_controller.ready_error()
|
194
|
+
$.each(that.invoice.invoice_packages, function(i, op) {
|
195
|
+
if (!msg) msg = that.invoice.invoice_packages[i].shipping_method_controller.ready_error();
|
196
|
+
});
|
195
197
|
|
196
|
-
if (
|
198
|
+
if (msg)
|
197
199
|
{
|
198
|
-
$('#message').empty().append($('<p/>').
|
199
|
-
that.print(true);
|
200
|
-
})));
|
200
|
+
$('#message').empty().append($('<p/>').addClass('note warning').append(msg));
|
201
201
|
}
|
202
202
|
else
|
203
203
|
{
|
204
|
-
$('#message').empty().append($('<p/>').
|
204
|
+
$('#message').empty().append($('<p/>').append($('<input/>').attr('type', 'button').val('Continue to Confirmation').click(function(e) {
|
205
|
+
that.print(true);
|
206
|
+
})));
|
205
207
|
}
|
206
208
|
},
|
207
209
|
|
208
210
|
print_confirm_message: function()
|
209
211
|
{
|
210
212
|
var that = this;
|
211
|
-
var
|
212
|
-
if (!that.
|
213
|
-
|
214
|
-
|
215
|
-
|
213
|
+
var msg = that.shipping_address_controller.ready_error();
|
214
|
+
if (!msg && that.invoice.payment_terms == 'pia') msg = that.payment_method_controller.ready_error();
|
215
|
+
$.each(that.invoice.invoice_packages, function(i, op) {
|
216
|
+
if (!msg) msg = that.invoice.invoice_packages[i].shipping_method_controller.ready_error();
|
217
|
+
});
|
218
|
+
|
219
|
+
if (msg)
|
216
220
|
{
|
217
221
|
that.refresh_and_print();
|
218
222
|
return;
|
@@ -83,33 +83,34 @@ ShippingAddressController.prototype = {
|
|
83
83
|
update_url: '/checkout/shipping-address',
|
84
84
|
authenticity_token: that.cc.authenticity_token,
|
85
85
|
attributes: [
|
86
|
-
{ name: 'first_name' , wrapper_class: 'first_name' , nice_name: 'First Name' , type: 'text' , value: sa.first_name , width: '50%' , fixed_placeholder: false },
|
87
|
-
{ name: 'last_name' , wrapper_class: 'last_name' , nice_name: 'Last Name' , type: 'text' , value: sa.last_name , width: '50%' , fixed_placeholder: false },
|
88
|
-
{ name: 'company' , wrapper_class: 'company' , nice_name: 'Company' , type: 'text' , value: sa.company , width: '100%' , fixed_placeholder: false },
|
89
|
-
{ name: 'address1' , wrapper_class: 'address1' , nice_name: 'Address 1' , type: 'text' , value: sa.address1 , width: '100%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function()
|
90
|
-
{ name: 'address2' , wrapper_class: 'address2' , nice_name: 'Address 2' , type: 'text' , value: sa.address2 , width: '100%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function()
|
91
|
-
{ name: 'city' , wrapper_class: 'city' , nice_name: 'City' , type: 'text' , value: sa.city , width: '25%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function()
|
92
|
-
{ name: 'zip' , wrapper_class: 'zip' , nice_name: 'Zip' , type: 'text' , value: sa.zip , width: '25%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function()
|
93
|
-
{ name: 'state' , wrapper_class: 'state' , nice_name: 'State' , type: 'select' , value: sa.state , width: '25%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function()
|
86
|
+
{ name: 'first_name' , wrapper_class: 'first_name' , nice_name: 'First Name' , type: 'text' , value: sa.first_name , width: '50%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.first_name = this.value; that.cc.print_ready_message(); }},
|
87
|
+
{ name: 'last_name' , wrapper_class: 'last_name' , nice_name: 'Last Name' , type: 'text' , value: sa.last_name , width: '50%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.last_name = this.value; that.cc.print_ready_message(); }},
|
88
|
+
{ name: 'company' , wrapper_class: 'company' , nice_name: 'Company' , type: 'text' , value: sa.company , width: '100%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.company = this.value; that.cc.print_ready_message(); }},
|
89
|
+
{ name: 'address1' , wrapper_class: 'address1' , nice_name: 'Address 1' , type: 'text' , value: sa.address1 , width: '100%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.address1 = this.value; if (this.value != this.value_old) that.cc.refresh_cart(function() { that.cc.print_ready_message(); }); }},
|
90
|
+
{ name: 'address2' , wrapper_class: 'address2' , nice_name: 'Address 2' , type: 'text' , value: sa.address2 , width: '100%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.address2 = this.value; if (this.value != this.value_old) that.cc.refresh_cart(function() { that.cc.print_ready_message(); }); }},
|
91
|
+
{ name: 'city' , wrapper_class: 'city' , nice_name: 'City' , type: 'text' , value: sa.city , width: '25%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.city = this.value; if (this.value != this.value_old) that.cc.refresh_cart(function() { that.cc.print_ready_message(); }); }},
|
92
|
+
{ name: 'zip' , wrapper_class: 'zip' , nice_name: 'Zip' , type: 'text' , value: sa.zip , width: '25%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.zip = this.value; if (this.value != this.value_old) that.cc.refresh_cart(function() { that.cc.print_ready_message(); }); }},
|
93
|
+
{ name: 'state' , wrapper_class: 'state' , nice_name: 'State' , type: 'select' , value: sa.state , width: '25%' , fixed_placeholder: false , before_update: function() { this.value_old = this.value_clean; }, after_update: function() { that.cc.invoice.shipping_address.state = this.value; if (this.value != this.value_old) that.cc.refresh_cart(function() { that.cc.print_ready_message(); }); }, options_url: '/checkout/state-options', show_empty_option: true, empty_text: '-- State --' }
|
94
94
|
]
|
95
95
|
});
|
96
96
|
},
|
97
97
|
|
98
|
-
|
98
|
+
ready_error: function()
|
99
99
|
{
|
100
100
|
var that = this;
|
101
|
-
if (that.cc.allow_instore_pickup && that.cc.invoice.instore_pickup) return
|
102
|
-
if (that.cc.all_downloadable()) return
|
103
|
-
if (that.cc.is_empty_address(that.cc.invoice.shipping_address))
|
101
|
+
if (that.cc.allow_instore_pickup && that.cc.invoice.instore_pickup) return null;
|
102
|
+
if (that.cc.all_downloadable()) return null;
|
103
|
+
if (that.cc.is_empty_address(that.cc.invoice.shipping_address))
|
104
|
+
return "Please enter your shipping address";
|
104
105
|
|
105
106
|
var sa = that.cc.invoice.shipping_address;
|
106
|
-
if (!sa.first_name || sa.first_name.length == 0) return
|
107
|
-
if (!sa.last_name || sa.last_name.length == 0) return
|
108
|
-
if (!sa.address1 || sa.address1.length == 0) return
|
109
|
-
if (!sa.city || sa.city.length == 0) return
|
110
|
-
if (!sa.state || sa.state.length == 0) return
|
111
|
-
if (!sa.zip || sa.zip.length == 0) return
|
107
|
+
if (!sa.first_name || sa.first_name.length == 0) return "Please enter your shipping address first name";
|
108
|
+
if (!sa.last_name || sa.last_name.length == 0) return "Please enter your shipping address last name";
|
109
|
+
if (!sa.address1 || sa.address1.length == 0) return "Please enter your shipping address";
|
110
|
+
if (!sa.city || sa.city.length == 0) return "Please enter your shipping address city";
|
111
|
+
if (!sa.state || sa.state.length == 0) return "Please enter your shipping address state";
|
112
|
+
if (!sa.zip || sa.zip.length == 0) return "Please enter your shipping address zip";
|
112
113
|
|
113
|
-
return
|
114
|
+
return null;
|
114
115
|
}
|
115
116
|
};
|
@@ -5,12 +5,15 @@ ShippingMethodController.prototype = {
|
|
5
5
|
|
6
6
|
cc: false, // CheckoutController
|
7
7
|
invoice_package_id: false,
|
8
|
+
invoice_package: false,
|
9
|
+
package_number: false,
|
8
10
|
|
9
11
|
init: function(params)
|
10
12
|
{
|
11
13
|
var that = this;
|
12
14
|
for (var i in params)
|
13
15
|
that[i] = params[i];
|
16
|
+
that.invoice_package = that.cc.invoice_package_for_id(that.invoice_package_id);
|
14
17
|
},
|
15
18
|
|
16
19
|
print: function()
|
@@ -19,7 +22,7 @@ ShippingMethodController.prototype = {
|
|
19
22
|
var div = $('<div/>');
|
20
23
|
|
21
24
|
var sa = that.cc.invoice.shipping_address;
|
22
|
-
var op = that.
|
25
|
+
var op = that.invoice_package;
|
23
26
|
var sm = op && op.shipping_method ? op.shipping_method : false;
|
24
27
|
|
25
28
|
if (!op)
|
@@ -53,7 +56,7 @@ ShippingMethodController.prototype = {
|
|
53
56
|
{
|
54
57
|
var that = this;
|
55
58
|
var div = $('<div/>').append($('<p/>').addClass('loading').html("Getting rates..."));
|
56
|
-
var op = that.
|
59
|
+
var op = that.invoice_package;
|
57
60
|
|
58
61
|
$('#invoice_package_' + that.invoice_package_id + '_shipping_method').empty().append(div);
|
59
62
|
|
@@ -91,7 +94,7 @@ ShippingMethodController.prototype = {
|
|
91
94
|
});
|
92
95
|
select.change(function(e) {
|
93
96
|
var opt = $(this).find('option').filter(':selected');
|
94
|
-
that.update(opt.val(), opt.data('total'));
|
97
|
+
that.update(opt.val(), opt.data('total'));
|
95
98
|
});
|
96
99
|
}
|
97
100
|
div = $('<div/>')
|
@@ -103,9 +106,7 @@ ShippingMethodController.prototype = {
|
|
103
106
|
},
|
104
107
|
|
105
108
|
update: function(shipping_method_id, total)
|
106
|
-
{
|
107
|
-
//console.log('shipping_method_id = ' + shipping_method_id);
|
108
|
-
//console.log('total = ' + total);
|
109
|
+
{
|
109
110
|
var that = this;
|
110
111
|
$.ajax({
|
111
112
|
url: '/checkout/shipping',
|
@@ -115,10 +116,29 @@ ShippingMethodController.prototype = {
|
|
115
116
|
shipping_method_id: shipping_method_id,
|
116
117
|
total: total
|
117
118
|
},
|
118
|
-
success: function(resp) {
|
119
|
+
success: function(resp) {
|
119
120
|
if (resp.error) $('#invoice_package_' + that.invoice_package_id + '_message').html("<p class='note error'>" + resp.error + "</p>");
|
120
|
-
if (resp.success)
|
121
|
+
if (resp.success)
|
122
|
+
{
|
123
|
+
that.invoice_package.shipping_method_id = shipping_method_id;
|
124
|
+
that.invoice_package.total = total;
|
125
|
+
that.cc.refresh_totals();
|
126
|
+
}
|
127
|
+
that.cc.print_ready_message();
|
121
128
|
}
|
122
129
|
});
|
123
|
-
}
|
130
|
+
},
|
131
|
+
|
132
|
+
ready_error: function()
|
133
|
+
{
|
134
|
+
var that = this;
|
135
|
+
if (that.cc.allow_instore_pickup && that.cc.invoice.instore_pickup) return null;
|
136
|
+
if (that.cc.all_downloadable()) return null;
|
137
|
+
|
138
|
+
var op = that.invoice_package;
|
139
|
+
if (!op) return "Please select a shipping method for package " + (that.package_number + 1);
|
140
|
+
if (!op.shipping_method_id) return "Please select a shipping method for package " + (that.package_number + 1);
|
141
|
+
|
142
|
+
return null;
|
143
|
+
}
|
124
144
|
};
|
@@ -212,13 +212,13 @@ StripePaymentMethodController.prototype = {
|
|
212
212
|
});
|
213
213
|
},
|
214
214
|
|
215
|
-
|
215
|
+
ready_error: function()
|
216
216
|
{
|
217
217
|
var that = this;
|
218
|
-
if (that.cc.invoice.total <= 0.00) return
|
219
|
-
if (!that.customer_id ) return
|
220
|
-
if (!that.card_brand ) return
|
221
|
-
if (!that.card_last4 ) return
|
222
|
-
return
|
218
|
+
if (that.cc.invoice.total <= 0.00) return null;
|
219
|
+
if (!that.customer_id ) return "Please enter your credit card information.";
|
220
|
+
if (!that.card_brand ) return "Please enter your credit card information.";
|
221
|
+
if (!that.card_last4 ) return "Please enter your credit card information.";
|
222
|
+
return null;
|
223
223
|
}
|
224
224
|
};
|
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.30
|
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-11-
|
11
|
+
date: 2016-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|