effective_orders 5.1.8 → 5.1.12
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/mailers/effective/orders_mailer.rb +1 -1
- data/app/models/effective/order.rb +28 -7
- data/app/views/admin/orders/_datatable_actions.html.haml +1 -1
- data/app/views/effective/orders/_order_actions.html.haml +1 -1
- data/app/views/effective/orders/_order_items.html.haml +1 -6
- data/app/views/effective/orders/mark_as_paid/_form.html.haml +5 -2
- data/config/routes.rb +1 -1
- data/lib/effective_orders/version.rb +1 -1
- data/lib/effective_orders.rb +10 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 436e77b078b12d2931ad0bf50e1f8572bfb6dca3cc7b021e0a867660ddd327c2
|
4
|
+
data.tar.gz: 128a0aece9b52ec31d4e5ff31ddd6a66f5179aeb7078542a5a5561d662745ebd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b567e4f3078270590a92a12c4f27326a9c525b30e3ec8b2ed9ab31bc7d34f48b0fbab6a9ba0be8d00da8fd132b5d8032072b58e8c20da74f1e9b4017601b848
|
7
|
+
data.tar.gz: 0127161fde74a4fb97aec8c54ade566fed751e5bfd49f9d694b6a18d64d27bdd020a4106399c11121f1a661e9f127c56368a3771c977586cdf55b542147ffa5e
|
@@ -43,7 +43,7 @@ module Effective
|
|
43
43
|
@order = (order_param.kind_of?(Effective::Order) ? order_param : Effective::Order.find(order_param))
|
44
44
|
@user = @order.user
|
45
45
|
|
46
|
-
@subject = subject_for(@order, :payment_request_to_buyer, "
|
46
|
+
@subject = subject_for(@order, :payment_request_to_buyer, "Payment request - Order ##{@order.to_param}")
|
47
47
|
|
48
48
|
mail({to: @order.email, cc: @order.cc, subject: @subject}.compact)
|
49
49
|
end
|
@@ -72,7 +72,7 @@ module Effective
|
|
72
72
|
before_validation { assign_user_address }
|
73
73
|
|
74
74
|
before_validation(if: -> { confirmed_checkout }) do
|
75
|
-
|
75
|
+
assign_attributes(state: EffectiveOrders::CONFIRMED) if pending?
|
76
76
|
end
|
77
77
|
|
78
78
|
before_save(if: -> { state_was == EffectiveOrders::PURCHASED }) do
|
@@ -143,6 +143,7 @@ module Effective
|
|
143
143
|
scope :confirmed, -> { where(state: EffectiveOrders::CONFIRMED) }
|
144
144
|
scope :deferred, -> { where(state: EffectiveOrders::DEFERRED) }
|
145
145
|
scope :declined, -> { where(state: EffectiveOrders::DECLINED) }
|
146
|
+
scope :abandoned, -> { where(state: EffectiveOrders::ABANDONED) }
|
146
147
|
scope :refunds, -> { purchased.where('total < ?', 0) }
|
147
148
|
|
148
149
|
# Effective::Order.new()
|
@@ -264,14 +265,30 @@ module Effective
|
|
264
265
|
end
|
265
266
|
|
266
267
|
def label
|
267
|
-
if refund?
|
268
|
-
|
268
|
+
if refund? && purchased?
|
269
|
+
'Refund'
|
269
270
|
elsif purchased?
|
270
|
-
|
271
|
-
elsif pending?
|
272
|
-
|
271
|
+
'Receipt'
|
272
|
+
elsif refund? && (pending? || confirmed?)
|
273
|
+
'Pending Refund'
|
274
|
+
elsif (pending? || confirmed?)
|
275
|
+
'Pending Order'
|
273
276
|
else
|
274
|
-
|
277
|
+
'Order'
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
def total_label
|
282
|
+
if refund? && purchased?
|
283
|
+
'Total Paid'
|
284
|
+
elsif purchased?
|
285
|
+
'Total Paid'
|
286
|
+
elsif refund? && (pending? || confirmed?)
|
287
|
+
'Total Due'
|
288
|
+
elsif (pending? || confirmed?)
|
289
|
+
'Total Due'
|
290
|
+
else
|
291
|
+
'Total'
|
275
292
|
end
|
276
293
|
end
|
277
294
|
|
@@ -334,6 +351,10 @@ module Effective
|
|
334
351
|
state == EffectiveOrders::DECLINED
|
335
352
|
end
|
336
353
|
|
354
|
+
def abandoned?
|
355
|
+
state == EffectiveOrders::ABANDONED
|
356
|
+
end
|
357
|
+
|
337
358
|
def purchasables
|
338
359
|
order_items.map { |order_item| order_item.purchasable }
|
339
360
|
end
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
- if order.purchased?
|
8
8
|
= dropdown_link_to 'Email receipt to buyer', effective_orders.send_buyer_receipt_order_path(order),
|
9
|
-
data: { confirm: "Send receipt to #{order.emails_send_to}?" }
|
9
|
+
data: { method: :post, confirm: "Send receipt to #{order.emails_send_to}?" }
|
10
10
|
|
11
11
|
- if order.pending? || order.confirmed? || order.deferred?
|
12
12
|
= dropdown_link_to 'Email request for payment to buyer', effective_orders.send_payment_request_admin_order_path(order),
|
@@ -5,7 +5,7 @@
|
|
5
5
|
- if order.purchased?
|
6
6
|
= link_to 'E-mail Receipt', effective_orders.send_buyer_receipt_order_path(order),
|
7
7
|
class: 'btn btn-secondary',
|
8
|
-
data: { confirm: "Send receipt to #{order.emails_send_to}?" }
|
8
|
+
data: { method: :post, confirm: "Send receipt to #{order.emails_send_to}?" }
|
9
9
|
|
10
10
|
- if order.persisted? && EffectiveResources.authorized?(controller, :admin, :effective_orders)
|
11
11
|
- if order.pending? || order.confirmed? || order.deferred?
|
@@ -5,7 +5,10 @@
|
|
5
5
|
= order.refund? ? 'Complete Refund' : 'Mark as Paid'
|
6
6
|
|
7
7
|
= effective_form_with(model: order, url: effective_orders.mark_as_paid_order_path(order), method: :post) do |f|
|
8
|
-
|
8
|
+
- if order.refund?
|
9
|
+
= f.hidden_field :purchased_at, value: Time.zone.now
|
10
|
+
- else
|
11
|
+
= f.date_field :purchased_at, required: true
|
9
12
|
|
10
13
|
= f.select :payment_provider, EffectiveOrders.payment_providers, required: true
|
11
14
|
|
@@ -23,4 +26,4 @@
|
|
23
26
|
|
24
27
|
= f.text_area :note_to_buyer, hint: 'This message will be displayed on the receipt.'
|
25
28
|
|
26
|
-
= f.submit order_checkout_label(order.refund? ? :refund : :mark_as_paid)
|
29
|
+
= f.submit 'Admin: ' + order_checkout_label(order.refund? ? :refund : :mark_as_paid)
|
data/config/routes.rb
CHANGED
data/lib/effective_orders.rb
CHANGED
@@ -10,7 +10,16 @@ module EffectiveOrders
|
|
10
10
|
DEFERRED = 'deferred' # Deferred providers. Cheque or Phone was selected.
|
11
11
|
PURCHASED = 'purchased' # Purchased by provider
|
12
12
|
DECLINED = 'declined' # Declined by provider
|
13
|
-
|
13
|
+
ABANDONED = 'abandoned' # Not set by this gem. Can be set outside it.
|
14
|
+
|
15
|
+
STATES = {
|
16
|
+
PENDING => PENDING,
|
17
|
+
CONFIRMED => CONFIRMED,
|
18
|
+
DEFERRED => DEFERRED,
|
19
|
+
PURCHASED => PURCHASED,
|
20
|
+
DECLINED => DECLINED,
|
21
|
+
ABANDONED => ABANDONED
|
22
|
+
}
|
14
23
|
|
15
24
|
# Subscription statuses (as per stripe)
|
16
25
|
ACTIVE = 'active'
|
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: 5.1.
|
4
|
+
version: 5.1.12
|
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: 2021-09-
|
11
|
+
date: 2021-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|