effective_orders 2.1.5 → 2.1.6
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/effective/orders_controller.rb +2 -6
- data/app/helpers/effective_orders_helper.rb +8 -6
- data/app/models/effective/order.rb +1 -6
- data/app/views/effective/orders/_checkout_step1.html.haml +3 -7
- data/lib/effective_orders.rb +3 -3
- data/lib/effective_orders/version.rb +1 -1
- data/spec/controllers/orders_controller_spec.rb +9 -18
- data/spec/dummy/log/test.log +10 -0
- metadata +4 -5
- data/app/assets/javascripts/effective_orders/shipping_address_toggle.js.coffee +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f067a482a08a63b26a23649c3ff1cbeabdf5a3c9
|
4
|
+
data.tar.gz: b1c1adc7ce23f8196a072155261e3a9139761d0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 253b5d1cb1877f869558aceaf15be0230f896bddc419821d3bb322a00aff98f576db9103ad8829fe08706a1dca1d2aa03d39398a558b4cad9999a7ec97dce2e7
|
7
|
+
data.tar.gz: 2f0d3b522ad5c12632f9d6263459b13a26e2064a1ae838aa9a41dac3fc183a6998207f3937c1dabf6a08c7d47f0010c19cf4b20b828a4fe4a358c6232622efa1
|
@@ -73,14 +73,10 @@ module Effective
|
|
73
73
|
@order.attributes = order_params
|
74
74
|
@order.user_id = current_user.id
|
75
75
|
|
76
|
-
if EffectiveOrders.require_shipping_address
|
77
|
-
if @order.shipping_address_same_as_billing? && @order.billing_address.present?
|
78
|
-
@order.shipping_address = @order.billing_address
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
76
|
EffectiveOrders.authorized?(self, (@order.persisted? ? :update : :create), @order)
|
83
77
|
|
78
|
+
@order.valid? # This makes sure the correct shipping_address is copied from billing_address if shipping_address_same_as_billing
|
79
|
+
|
84
80
|
Effective::Order.transaction do
|
85
81
|
begin
|
86
82
|
if @order.save_billing_address? && @order.user.respond_to?(:billing_address=) && @order.billing_address.present?
|
@@ -165,16 +165,18 @@ module EffectiveOrdersHelper
|
|
165
165
|
end
|
166
166
|
|
167
167
|
def payment_card_label(card)
|
168
|
-
|
169
|
-
|
168
|
+
card = card.to_s.downcase.gsub(' ', '').strip
|
169
|
+
|
170
|
+
case card
|
171
|
+
when ''
|
170
172
|
'None'
|
171
|
-
when 'v'
|
173
|
+
when 'v', 'visa'
|
172
174
|
'Visa'
|
173
|
-
when 'm'
|
175
|
+
when 'm', 'mc', 'master', 'mastercard'
|
174
176
|
'MasterCard'
|
175
|
-
when 'a'
|
177
|
+
when 'a', 'ax', 'american', 'americanexpress'
|
176
178
|
'American Express'
|
177
|
-
when 'd'
|
179
|
+
when 'd', 'discover'
|
178
180
|
'Discover'
|
179
181
|
else
|
180
182
|
card.to_s
|
@@ -11,7 +11,7 @@ module Effective
|
|
11
11
|
:shipping => { singular: true, use_full_name: EffectiveOrders.use_address_full_name }
|
12
12
|
)
|
13
13
|
|
14
|
-
attr_accessor :save_billing_address, :save_shipping_address
|
14
|
+
attr_accessor :save_billing_address, :save_shipping_address # save these addresses to the user if selected
|
15
15
|
attr_accessor :terms_and_conditions # Yes, I agree to the terms and conditions
|
16
16
|
|
17
17
|
# Settings in the /admin action forms
|
@@ -126,7 +126,6 @@ module Effective
|
|
126
126
|
# Set up defaults
|
127
127
|
self.save_billing_address = true
|
128
128
|
self.save_shipping_address = true
|
129
|
-
self.shipping_address_same_as_billing = true
|
130
129
|
|
131
130
|
self.user = user || (items.first.user if items.first.kind_of?(Effective::Cart))
|
132
131
|
|
@@ -290,10 +289,6 @@ module Effective
|
|
290
289
|
::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(self.send_mark_as_paid_email_to_buyer)
|
291
290
|
end
|
292
291
|
|
293
|
-
def shipping_address_same_as_billing?
|
294
|
-
::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(self.shipping_address_same_as_billing)
|
295
|
-
end
|
296
|
-
|
297
292
|
def skip_buyer_validations?
|
298
293
|
::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(self.skip_buyer_validations)
|
299
294
|
end
|
@@ -25,13 +25,9 @@
|
|
25
25
|
- if EffectiveOrders.require_shipping_address
|
26
26
|
%div{class: "col-sm-#{12 / num_addresses}"}
|
27
27
|
%h3 Shipping Address
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
- if f.object.user.respond_to?(:shipping_address=)
|
32
|
-
= f.input :save_shipping_address, as: :boolean, label: 'Save as my default shipping address', required: false
|
33
|
-
|
34
|
-
= f.input :shipping_address_same_as_billing, as: :boolean, label: 'My shipping address is the same as my billing address', required: false
|
28
|
+
= effective_address_fields(f, :shipping_address)
|
29
|
+
- if f.object.user.respond_to?(:shipping_address=)
|
30
|
+
= f.input :save_shipping_address, as: :boolean, label: 'Save as my default shipping address', required: false
|
35
31
|
|
36
32
|
- if EffectiveOrders.collect_note
|
37
33
|
= render partial: 'effective/orders/order_note_fields', locals: { form: f }
|
data/lib/effective_orders.rb
CHANGED
@@ -118,9 +118,9 @@ module EffectiveOrders
|
|
118
118
|
|
119
119
|
def self.permitted_params
|
120
120
|
[
|
121
|
-
:note, :save_billing_address, :save_shipping_address, :
|
122
|
-
billing_address:
|
123
|
-
shipping_address:
|
121
|
+
:note, :save_billing_address, :save_shipping_address, :terms_and_conditions,
|
122
|
+
billing_address: EffectiveAddresses.permitted_params,
|
123
|
+
shipping_address: EffectiveAddresses.permitted_params,
|
124
124
|
user_attributes: (EffectiveOrders.collect_user_fields || []),
|
125
125
|
order_items_attributes: [:stripe_coupon_id, :class, :id]
|
126
126
|
]
|
@@ -93,7 +93,6 @@ describe Effective::OrdersController, type: :controller do
|
|
93
93
|
post :create, effective_order: {
|
94
94
|
billing_address: billing_atts, save_billing_address: false,
|
95
95
|
shipping_address: shipping_atts, save_shipping_address: false,
|
96
|
-
shipping_address_same_as_billing: false,
|
97
96
|
user_attributes: {first_name: 'First', last_name: 'Last', email: 'email@somwhere.com'}
|
98
97
|
}
|
99
98
|
|
@@ -108,7 +107,6 @@ describe Effective::OrdersController, type: :controller do
|
|
108
107
|
post :create, effective_order: {
|
109
108
|
billing_address: billing_atts, save_billing_address: false,
|
110
109
|
shipping_address: shipping_atts, save_shipping_address: false,
|
111
|
-
shipping_address_same_as_billing: false
|
112
110
|
}
|
113
111
|
|
114
112
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -123,8 +121,7 @@ describe Effective::OrdersController, type: :controller do
|
|
123
121
|
it 'assign addresses to the order and the user' do
|
124
122
|
post :create, effective_order: {
|
125
123
|
billing_address: billing_atts, save_billing_address: true,
|
126
|
-
shipping_address: shipping_atts, save_shipping_address: true
|
127
|
-
shipping_address_same_as_billing: false
|
124
|
+
shipping_address: shipping_atts, save_shipping_address: true
|
128
125
|
}
|
129
126
|
|
130
127
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -141,8 +138,7 @@ describe Effective::OrdersController, type: :controller do
|
|
141
138
|
it 'does not assign the billing_address to user if save_billing_address is false' do
|
142
139
|
post :create, effective_order: {
|
143
140
|
billing_address: billing_atts, save_billing_address: false,
|
144
|
-
shipping_address: shipping_atts, save_shipping_address: true
|
145
|
-
shipping_address_same_as_billing: false
|
141
|
+
shipping_address: shipping_atts, save_shipping_address: true
|
146
142
|
}
|
147
143
|
|
148
144
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -159,8 +155,7 @@ describe Effective::OrdersController, type: :controller do
|
|
159
155
|
it 'does not assign the shipping_address to user if save_shipping_address is false' do
|
160
156
|
post :create, effective_order: {
|
161
157
|
billing_address: billing_atts, save_billing_address: true,
|
162
|
-
shipping_address: shipping_atts, save_shipping_address: false
|
163
|
-
shipping_address_same_as_billing: false
|
158
|
+
shipping_address: shipping_atts, save_shipping_address: false
|
164
159
|
}
|
165
160
|
|
166
161
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -177,8 +172,7 @@ describe Effective::OrdersController, type: :controller do
|
|
177
172
|
it 'assign billing address to the order shipping_address when shipping_address_same_as_billing' do
|
178
173
|
post :create, effective_order: {
|
179
174
|
billing_address: billing_atts, save_billing_address: true,
|
180
|
-
shipping_address: shipping_atts, save_shipping_address: true,
|
181
|
-
shipping_address_same_as_billing: true
|
175
|
+
shipping_address: shipping_atts.merge(shipping_address_same_as_billing: 1), save_shipping_address: true,
|
182
176
|
}
|
183
177
|
|
184
178
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -194,8 +188,7 @@ describe Effective::OrdersController, type: :controller do
|
|
194
188
|
|
195
189
|
it 'assign billing address to the order shipping_address when shipping_address_same_as_billing and no shipping provided' do
|
196
190
|
post :create, effective_order: {
|
197
|
-
billing_address: billing_atts, save_billing_address: true,
|
198
|
-
shipping_address_same_as_billing: true
|
191
|
+
billing_address: billing_atts, save_billing_address: true, shipping_address: { shipping_address_same_as_billing: 1 }
|
199
192
|
}
|
200
193
|
|
201
194
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -211,9 +204,8 @@ describe Effective::OrdersController, type: :controller do
|
|
211
204
|
|
212
205
|
it 'assign billing address to the order shipping_address but not the user when shipping_address_same_as_billing provided' do
|
213
206
|
post :create, effective_order: {
|
214
|
-
billing_address: billing_atts, save_billing_address: false,
|
215
|
-
save_shipping_address: false
|
216
|
-
shipping_address_same_as_billing: true
|
207
|
+
billing_address: billing_atts, save_billing_address: false, shipping_address: { shipping_address_same_as_billing: 1 },
|
208
|
+
save_shipping_address: false
|
217
209
|
}
|
218
210
|
|
219
211
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq true
|
@@ -230,8 +222,7 @@ describe Effective::OrdersController, type: :controller do
|
|
230
222
|
it 'is invalid when passed an invalid address' do
|
231
223
|
post :create, effective_order: {
|
232
224
|
billing_address: billing_atts, save_billing_address: true,
|
233
|
-
shipping_address: shipping_atts.tap { |x| x[:address1] = nil }, save_shipping_address: true
|
234
|
-
shipping_address_same_as_billing: false
|
225
|
+
shipping_address: shipping_atts.tap { |x| x[:address1] = nil }, save_shipping_address: true
|
235
226
|
}
|
236
227
|
|
237
228
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq false
|
@@ -277,7 +268,7 @@ describe Effective::OrdersController, type: :controller do
|
|
277
268
|
end
|
278
269
|
|
279
270
|
it 'prevents the order from proceeding when missing a required address' do
|
280
|
-
post :create, effective_order: { billing_address: billing_atts, save_billing_address: true
|
271
|
+
post :create, effective_order: { billing_address: billing_atts, save_billing_address: true }
|
281
272
|
|
282
273
|
(assigns(:order).valid? && assigns(:order).persisted?).should eq false
|
283
274
|
assigns(:order).errors[:shipping_address].present?.should eq true
|
data/spec/dummy/log/test.log
CHANGED
@@ -8,3 +8,13 @@
|
|
8
8
|
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
9
9
|
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
10
10
|
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
11
|
+
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
12
|
+
[1m[36m (0.2ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
13
|
+
[1m[36m (0.2ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
14
|
+
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
15
|
+
[1m[36m (0.2ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
16
|
+
[1m[36m (0.2ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
17
|
+
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
18
|
+
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
19
|
+
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
20
|
+
[1m[36m (0.1ms)[0m [1mSELECT MAX("orders"."id") FROM "orders"[0m
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_orders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: 1.6.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.
|
124
|
+
version: 1.6.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: stripe-ruby-mock
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -265,7 +265,6 @@ files:
|
|
265
265
|
- app/assets/javascripts/effective_orders.js
|
266
266
|
- app/assets/javascripts/effective_orders/providers/stripe_charges.js.coffee
|
267
267
|
- app/assets/javascripts/effective_orders/providers/stripe_subscriptions.js.coffee
|
268
|
-
- app/assets/javascripts/effective_orders/shipping_address_toggle.js.coffee
|
269
268
|
- app/assets/stylesheets/effective_orders.scss
|
270
269
|
- app/assets/stylesheets/effective_orders/_order.scss
|
271
270
|
- app/controllers/admin/customers_controller.rb
|
@@ -1,30 +0,0 @@
|
|
1
|
-
hideShippingAddressFields = (shipping_address) ->
|
2
|
-
shipping_address.hide().find('input,select').removeAttr('required')
|
3
|
-
|
4
|
-
showShippingAddressFields = (shipping_address) ->
|
5
|
-
shipping_address.show().find("input:not([name$='[address2]']),select:not([name$='[state_code]'])").prop('required', true)
|
6
|
-
|
7
|
-
initShippingAddressFields = ->
|
8
|
-
effective_order = $('.effective-order').first()
|
9
|
-
|
10
|
-
if effective_order.length > 0
|
11
|
-
shipping_address_same_as_billing = effective_order.find('#effective_order_shipping_address_same_as_billing')
|
12
|
-
shipping_address = effective_order.find('.shipping_address_fields')
|
13
|
-
|
14
|
-
if shipping_address_same_as_billing.length > 0 && shipping_address.length > 0
|
15
|
-
if shipping_address_same_as_billing.is(':checked')
|
16
|
-
hideShippingAddressFields(shipping_address)
|
17
|
-
else
|
18
|
-
showShippingAddressFields(shipping_address)
|
19
|
-
|
20
|
-
$ -> initShippingAddressFields()
|
21
|
-
$(document).on 'page:change', -> initShippingAddressFields()
|
22
|
-
|
23
|
-
$(document).on 'change', '#effective_order_shipping_address_same_as_billing', (event) ->
|
24
|
-
obj = $(event.currentTarget)
|
25
|
-
shipping_address = obj.closest('form').find('.shipping_address_fields')
|
26
|
-
|
27
|
-
if obj.is(':checked')
|
28
|
-
hideShippingAddressFields(shipping_address)
|
29
|
-
else
|
30
|
-
showShippingAddressFields(shipping_address)
|