effective_orders 4.2.6 → 4.2.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d19a1e1d922e08fadb09424738cfd86ae5c12db5e7553cbed17d4fb8a55ca57e
4
- data.tar.gz: 0d65f0bbb387bbf804296a30f6822459bae66cdbd0053f82104f08af9d9b8c99
3
+ metadata.gz: f0bd383b484e3db946b0a7bb199f7afb8d7d8600019dcfad46b00bf6ddb3d798
4
+ data.tar.gz: 16db4fd12e60d5995ec3dbc9003a720dacc8e9c95b761c622ac7c7db294ea77b
5
5
  SHA512:
6
- metadata.gz: 5ca8aa77355e8edfcb23834ff7f735f1ce3d775869ae9c6682d062b5fa4e0189e3afd7f29745d04abbd82d712b8272ec188cec8d210f8f8b23ec00d2ef0ff850
7
- data.tar.gz: a4c3b95cfedd8600438a08e1f1b3ed93665e0f8ac45267ed6716a55079df483c731b2ffd4ce287a6d46488a4ccc8b9ec2ba04751f6d3e8338f04f84d0a0d5d45
6
+ metadata.gz: 19022b230c19a97bc5c1c9a203df1407c86be04b802f01b157929ba6204e8bf60ba9dd3967e32c992fa95a6bbf75aa30ac8781b79fb789f4b2dd37117b002541
7
+ data.tar.gz: 2808d79b39ecae2b23bf2fd17cc9ed36085f11103d8d217eba454fa1508207d81331c4241a25e8a92c03ba604a18f93197028d9e7adad74d018be7a8d2fabd48
@@ -16,7 +16,7 @@ $(document).on 'click', "#effective-orders-new-charge-form form [type='submit']"
16
16
  $form = obj.find('form').first()
17
17
  stripe = obj.data('stripe')
18
18
 
19
- EffectiveBootstrap.submitting($form)
19
+ EffectiveForm.submitting($form)
20
20
 
21
21
  stripeCheckoutHandler(stripe.key, $form).open
22
22
  image: stripe.image
@@ -21,6 +21,7 @@ module Effective
21
21
  )
22
22
 
23
23
  attr_accessor :terms_and_conditions # Yes, I agree to the terms and conditions
24
+ attr_accessor :confirmed_checkout # Set on the Checkout Step 1
24
25
 
25
26
  # Settings in the /admin action forms
26
27
  attr_accessor :send_payment_request_to_buyer # Set by Admin::Orders#new. Should the payment request email be sent after creating an order?
@@ -61,6 +62,10 @@ module Effective
61
62
  before_validation { assign_billing_name }
62
63
  before_validation { assign_last_address }
63
64
 
65
+ before_validation(if: -> { confirmed_checkout }) do
66
+ self.state = EffectiveOrders::CONFIRMED if pending?
67
+ end
68
+
64
69
  # Order validations
65
70
  validates :user_id, presence: true
66
71
  validates :order_items, presence: { message: 'No items are present. Please add additional items.' }
@@ -75,41 +80,41 @@ module Effective
75
80
  end
76
81
 
77
82
  # User validations -- An admin skips these when working in the admin/ namespace
78
- with_options unless: -> { pending? || skip_buyer_validations? } do |order|
79
- order.validates :tax_rate, presence: { message: "can't be determined based on billing address" }
80
- order.validates :tax, presence: true
83
+ with_options unless: -> { pending? || skip_buyer_validations? } do
84
+ validates :tax_rate, presence: { message: "can't be determined based on billing address" }
85
+ validates :tax, presence: true
81
86
 
82
87
  unless EffectiveOrders.skip_user_validation
83
- order.validates :billing_name, presence: true
84
- order.validates :user, associated: true
88
+ validates :billing_name, presence: true
89
+ validates :user, associated: true
85
90
  end
86
91
 
87
92
  if EffectiveOrders.billing_address
88
- order.validates :billing_address, presence: true
93
+ validates :billing_address, presence: true
89
94
  end
90
95
 
91
96
  if EffectiveOrders.shipping_address
92
- order.validates :shipping_address, presence: true
97
+ validates :shipping_address, presence: true
93
98
  end
94
99
 
95
100
  if EffectiveOrders.collect_note_required
96
- order.validates :note, presence: true
101
+ validates :note, presence: true
97
102
  end
98
103
  end
99
104
 
100
- with_options if: -> { confirmed? && !skip_buyer_validations? } do |order|
105
+ with_options if: -> { confirmed? && !skip_buyer_validations? } do
101
106
  if EffectiveOrders.terms_and_conditions
102
- order.validates :terms_and_conditions, presence: true
107
+ validates :terms_and_conditions, presence: true
103
108
  end
104
109
  end
105
110
 
106
111
  # When Purchased
107
- with_options if: -> { purchased? } do |order|
108
- order.validates :purchased_at, presence: true
109
- order.validates :payment, presence: true
112
+ with_options if: -> { purchased? } do
113
+ validates :purchased_at, presence: true
114
+ validates :payment, presence: true
110
115
 
111
- order.validates :payment_provider, presence: true, inclusion: { in: EffectiveOrders.payment_providers }
112
- order.validates :payment_card, presence: true
116
+ validates :payment_provider, presence: true, inclusion: { in: EffectiveOrders.payment_providers }
117
+ validates :payment_card, presence: true
113
118
  end
114
119
 
115
120
  scope :deep, -> { includes(:user, order_items: :purchasable) }
@@ -1,34 +1,4 @@
1
1
  .effective-order
2
2
  = effective_form_with(model: order, url: checkout_step1_form_url(order, namespace)) do |f|
3
- = render partial: 'effective/orders/order_notes', locals: { order: order }
4
- = render partial: 'effective/orders/order_items', locals: { order: order }
5
-
6
- - if current_cart.present?
7
- .effective-order-change-items
8
- = link_to 'Change Items', effective_orders.cart_path, rel: :nofollow, class: 'btn btn-secondary'
9
-
10
- - if EffectiveOrders.collect_user_fields.present? && f.object.user.present?
11
- = render partial: 'effective/orders/order_user_fields', locals: { form: f, user: f.object.user }
12
-
13
- - num_addresses = [EffectiveOrders.billing_address, EffectiveOrders.shipping_address].count(true)
14
-
15
- - if num_addresses > 0
16
- .effective-order-addresses
17
- .row
18
- - if EffectiveOrders.billing_address
19
- %div{class: "col-md-#{12 / num_addresses}"}
20
- %h2 Billing Address
21
- = effective_address_fields(f, :billing_address)
22
-
23
- - if EffectiveOrders.shipping_address
24
- %div{class: "col-md-#{12 / num_addresses}"}
25
- %h2 Shipping Address
26
- = effective_address_fields(f, :shipping_address)
27
-
28
- - if EffectiveOrders.collect_note
29
- = render partial: 'effective/orders/order_note_fields', locals: { form: f }
30
-
31
- - if EffectiveOrders.terms_and_conditions
32
- = render partial: 'effective/orders/order_terms_and_conditions_fields', locals: { form: f }
33
-
3
+ = render('effective/orders/fields', order: order, form: f)
34
4
  = f.submit 'Proceed to Checkout'
@@ -0,0 +1,34 @@
1
+ - form ||= local_assigns[:form] || local_assigns[:f]
2
+
3
+ = render 'effective/orders/order_notes', order: form.object
4
+ = render 'effective/orders/order_items', order: form.object
5
+
6
+ = form.hidden_field :confirmed_checkout, value: true
7
+
8
+ - if current_cart.present?
9
+ .effective-order-change-items
10
+ = link_to 'Change Items', effective_orders.cart_path, rel: :nofollow, class: 'btn btn-secondary'
11
+
12
+ - if EffectiveOrders.collect_user_fields.present? && form.object.user.present?
13
+ = render 'effective/orders/order_user_fields', form: form, user: form.object.user
14
+
15
+ - num_addresses = [EffectiveOrders.billing_address, EffectiveOrders.shipping_address].count(true)
16
+
17
+ - if num_addresses > 0
18
+ .effective-order-addresses
19
+ .row
20
+ - if EffectiveOrders.billing_address
21
+ %div{class: "col-md-#{12 / num_addresses}"}
22
+ %h2 Billing Address
23
+ = effective_address_fields(form, :billing_address)
24
+
25
+ - if EffectiveOrders.shipping_address
26
+ %div{class: "col-md-#{12 / num_addresses}"}
27
+ %h2 Shipping Address
28
+ = effective_address_fields(form, :shipping_address)
29
+
30
+ - if EffectiveOrders.collect_note
31
+ = render 'effective/orders/order_note_fields', form: form
32
+
33
+ - if EffectiveOrders.terms_and_conditions
34
+ = render 'effective/orders/order_terms_and_conditions_fields', form: form
@@ -89,7 +89,7 @@ module EffectiveOrders
89
89
 
90
90
  def self.permitted_params
91
91
  [
92
- :note, :terms_and_conditions,
92
+ :note, :terms_and_conditions, :confirmed_checkout,
93
93
  billing_address: EffectiveAddresses.permitted_params,
94
94
  shipping_address: EffectiveAddresses.permitted_params,
95
95
  user_attributes: (EffectiveOrders.collect_user_fields || []),
@@ -1,3 +1,3 @@
1
1
  module EffectiveOrders
2
- VERSION = '4.2.6'.freeze
2
+ VERSION = '4.2.7'.freeze
3
3
  end
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: 4.2.6
4
+ version: 4.2.7
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: 2020-03-30 00:00:00.000000000 Z
11
+ date: 2020-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -190,6 +190,7 @@ files:
190
190
  - app/views/effective/orders/_checkout_actions.html.haml
191
191
  - app/views/effective/orders/_checkout_step1.html.haml
192
192
  - app/views/effective/orders/_checkout_step2.html.haml
193
+ - app/views/effective/orders/_fields.html.haml
193
194
  - app/views/effective/orders/_order.html.haml
194
195
  - app/views/effective/orders/_order_actions.html.haml
195
196
  - app/views/effective/orders/_order_footer.html.haml