effective_orders 6.25.3 → 6.26.0

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: b5810f60d95e3a7f06f066b6c1204bdb2a20b0d3b7a7700207d028c761d299ca
4
- data.tar.gz: e97c1d2b731673006b4c262c2a81798c084412ddce20425a60dc6fa4eca83438
3
+ metadata.gz: 5a6cc64b4d3c8818b17aef520b1f2df8d2fae53fd356a23d5894173dc8e8a912
4
+ data.tar.gz: 7ff8238897bd82324aa3371edf338b3990ce86799b370f8e14bbf3a24b040acd
5
5
  SHA512:
6
- metadata.gz: 1e7960a6685d4b047fd2d2b1de5c2376c13e54ac923e39050933cd3e24bd277f7d035be070dd2e77118fd6670a15bd6c0950a54a9007cc28ff21fa4725aad6a8
7
- data.tar.gz: 18dea18d2282f8a003c5706b5466b3738253bf417bffbd8b8ab6a5b4189155102487a52267c61556c73091edcb0d709569275df0c5f8eaa04ac321111e8a1fc4
6
+ metadata.gz: d2edd3b449476638442508c6e5bd7866200b0b5af446a7b637359a8e22bf34ff7424c7ac53ba8ce62727fdbd90e80fcf5002ad3d8a409bb403c779c166bf2475
7
+ data.tar.gz: 5d00adeedb3939c46283b4cc0335ce4301f587dc44ce9675216cec68b1cffcfef92eebab40b917039e86acac13a65bd018a98ab55344a8a2229ecdde3ffebec4
@@ -16,7 +16,7 @@ module Admin
16
16
 
17
17
  submit :save, 'Save', success: -> {
18
18
  message = flash_success(resource, params[:action])
19
- message << ". A request for payment has been sent to #{resource.emails_send_to}" if resource.send_payment_request_to_buyer?
19
+ message << ". A request for payment has been sent to #{resource.emails_send_to}" if resource.send_payment_request?
20
20
  message
21
21
  }
22
22
 
@@ -78,7 +78,7 @@ module Admin
78
78
  @order = Effective::Order.deep.was_not_purchased.find(params[:id])
79
79
  authorize_effective_order!
80
80
 
81
- if @order.send_payment_request_to_buyer!
81
+ if @order.send_payment_request!
82
82
  flash[:success] = "A request for payment has been sent to #{@order.emails_send_to}"
83
83
  else
84
84
  flash[:danger] = 'Unable to send payment request'
@@ -93,7 +93,7 @@ module Admin
93
93
  begin
94
94
  authorize_effective_order!
95
95
 
96
- @orders.each { |order| order.send_payment_request_to_buyer! }
96
+ @orders.each { |order| order.send_payment_request! }
97
97
  render json: { status: 200, message: "Successfully sent #{@orders.length} payment request emails"}
98
98
  rescue Exception => e
99
99
  render json: { status: 500, message: "Bulk send payment request error: #{e.message}" }
@@ -10,7 +10,7 @@ module Admin
10
10
 
11
11
  bulk_action(
12
12
  'Send invoice email to selected purchased orders',
13
- effective_orders.bulk_send_order_email_to_buyer_orders_path,
13
+ effective_orders.bulk_send_order_email_orders_path,
14
14
  data: { confirm: 'Send invoice emails?' }
15
15
  )
16
16
  end
@@ -26,7 +26,7 @@ module Effective
26
26
  raise('expected an Effective::Order') unless resource.kind_of?(Effective::Order)
27
27
 
28
28
  @order = resource
29
- @order_email = Effective::OrderEmail.new(resource)
29
+ @order_email = Effective::OrderEmail.new(resource, opts)
30
30
 
31
31
  subject = subject_for(__method__, @order_email.subject, @order, opts)
32
32
  headers = headers_for(@order, opts)
@@ -43,7 +43,7 @@ module Effective
43
43
  attr_accessor :confirmed_checkout # Set on the Checkout Step 1
44
44
 
45
45
  # Settings in the /admin action forms
46
- attr_accessor :send_payment_request_to_buyer # Set by Admin::Orders#new. Should the payment request email be sent after creating an order?
46
+ attr_accessor :send_payment_request # Set by Admin::Orders#new. Should the payment request email be sent after creating an order?
47
47
  attr_accessor :send_mark_as_paid_email_to_buyer # Set by Admin::Orders#mark_as_paid
48
48
  attr_accessor :skip_buyer_validations # Set by Admin::Orders#create
49
49
  attr_accessor :mailer_preview # Set by the mailer preview. Disabled delayed payment validations
@@ -635,16 +635,17 @@ module Effective
635
635
  self.addresses.clear if addresses.any? { |address| address.valid? == false }
636
636
  save!
637
637
 
638
- if send_payment_request_to_buyer?
639
- after_commit { send_payment_request_to_buyer! }
638
+ if send_payment_request?
639
+ after_commit { send_payment_request! }
640
640
  end
641
641
 
642
642
  true
643
643
  end
644
644
 
645
- # Used by admin checkout only
645
+ # Used to indicate the order has a billing address and is ready for checkout
646
646
  def confirm!
647
647
  return false if purchased?
648
+ return save! if deferred?
648
649
  confirmed!
649
650
  end
650
651
 
@@ -892,6 +893,7 @@ module Effective
892
893
  false
893
894
  end
894
895
 
896
+ # Used internally to send emails to the buyer or admin depending on order status
895
897
  def send_order_emails!
896
898
  return false if skip_order_emails?
897
899
 
@@ -910,18 +912,24 @@ module Effective
910
912
  end
911
913
  end
912
914
 
913
- def send_payment_request_to_buyer?
914
- EffectiveResources.truthy?(send_payment_request_to_buyer)
915
+ def send_payment_request?
916
+ EffectiveResources.truthy?(send_payment_request)
915
917
  end
916
918
 
917
919
  # Admin datatable action
918
- def send_payment_request_to_buyer!
919
- EffectiveOrders.send_email(:order_email, self, payment_request: true) unless (purchased? || refund?)
920
+ def send_payment_request!
921
+ return if (purchased_or_deferred? || refund?)
922
+
923
+ EffectiveOrders.send_email(:order_email, self, payment_request: true)
924
+ EffectiveOrders.send_email(:order_email_to_admin, self, payment_request: true) if EffectiveOrders.send_payment_request_to_admin
920
925
  end
921
926
 
922
927
  # Admin datatable action
923
- def send_order_email_to_buyer!
924
- EffectiveOrders.send_email(:order_email, self) if purchased_or_deferred?
928
+ def send_order_email!
929
+ return unless purchased_or_deferred?
930
+
931
+ EffectiveOrders.send_email(:order_email, self)
932
+ EffectiveOrders.send_email(:order_email_to_admin, self) if EffectiveOrders.send_order_receipt_to_admin
925
933
  end
926
934
 
927
935
  def log_changes_formatted_value(attribute, value)
@@ -17,9 +17,9 @@
17
17
  = f.email_cc_field :cc, hint: "Cc the above on any emailed receipts or payment requests."
18
18
 
19
19
  - if f.object.new_record?
20
- = f.check_box :send_payment_request_to_buyer,
20
+ = f.check_box :send_payment_request,
21
21
  label: 'Yes, send a payment request email to the buyer and any cc.',
22
- value: (f.object.send_payment_request_to_buyer.nil? ? EffectiveOrders.send_payment_request_to_buyer : f.object.send_payment_request_to_buyer?)
22
+ value: (f.object.send_payment_request.nil? ? EffectiveOrders.send_payment_request_to_buyer : f.object.send_payment_request?)
23
23
 
24
24
  %hr
25
25
 
@@ -4,6 +4,6 @@
4
4
  - else
5
5
  = dropdown_link_to 'View', effective_orders.order_path(order)
6
6
 
7
- - if EffectiveResources.authorized?(controller, :send_order_email_to_buyer, order)
8
- = dropdown_link_to 'E-mail Receipt', effective_orders.send_order_email_to_buyer_order_path(order),
7
+ - if EffectiveResources.authorized?(controller, :send_order_email, order)
8
+ = dropdown_link_to 'E-mail Receipt', effective_orders.send_order_email_order_path(order),
9
9
  data: { method: :post, confirm: "Send receipt to #{order.emails.first}?" }
@@ -1,4 +1,4 @@
1
1
  = render 'layout' do
2
2
  %h1.effective-heading= @page_title
3
3
 
4
- = render_checkout_step1(@order)
4
+ .mb-4= render_checkout_step1(@order)
@@ -106,9 +106,9 @@ EffectiveOrders.setup do |config|
106
106
  config.send_order_declined_to_admin = false
107
107
  config.send_order_declined_to_buyer = false
108
108
  config.send_payment_request_to_buyer = true
109
- config.send_pending_order_invoice_to_buyer = true
110
- config.send_refund_notification_to_admin = true
109
+ config.send_payment_request_to_admin = true
111
110
 
111
+ config.send_refund_notification_to_admin = true
112
112
  config.send_order_receipts_when_mark_as_paid = true
113
113
  config.send_order_receipts_when_free = true
114
114
 
@@ -6,8 +6,8 @@ en:
6
6
  activerecord:
7
7
  actions:
8
8
  effective/order:
9
- send_order_email_to_buyer: 'Send order email'
10
- send_order_email_to_buyer_confirm: 'Send order email to @resource.emails_send_to?'
9
+ send_order_email: 'Send order email'
10
+ send_order_email_confirm: 'Send order email to @resource.emails_send_to?'
11
11
 
12
12
  datatables:
13
13
  admin/report_transactions_datatable: 'Report: Individual Transactions'
data/config/routes.rb CHANGED
@@ -7,7 +7,7 @@ EffectiveOrders::Engine.routes.draw do
7
7
  get :purchased
8
8
  get :deferred
9
9
  get :declined
10
- post :send_order_email_to_buyer
10
+ post :send_order_email
11
11
 
12
12
  post :cheque
13
13
  post :deluxe # 1-off payment and purchase
@@ -25,7 +25,7 @@ EffectiveOrders::Engine.routes.draw do
25
25
  end
26
26
 
27
27
  collection do
28
- post :bulk_send_order_email_to_buyer
28
+ post :bulk_send_order_email
29
29
 
30
30
  post :moneris_postback
31
31
  post :paypal_postback
@@ -56,7 +56,7 @@ EffectiveOrders::Engine.routes.draw do
56
56
  resources :orders do
57
57
  member do
58
58
  post :send_payment_request
59
- post :send_order_email_to_buyer
59
+ post :send_order_email
60
60
 
61
61
  delete :void
62
62
  post :unvoid
@@ -1,3 +1,3 @@
1
1
  module EffectiveOrders
2
- VERSION = '6.25.3'.freeze
2
+ VERSION = '6.26.0'.freeze
3
3
  end
@@ -36,7 +36,7 @@ module EffectiveOrders
36
36
  # Emails
37
37
  :send_order_receipt_to_admin, :send_order_receipt_to_buyer,
38
38
  :send_order_declined_to_admin, :send_order_declined_to_buyer,
39
- :send_payment_request_to_buyer, :send_pending_order_invoice_to_buyer,
39
+ :send_payment_request_to_admin, :send_payment_request_to_buyer,
40
40
  :send_order_receipts_when_mark_as_paid, :send_order_receipts_when_free,
41
41
  :send_subscription_events,
42
42
  :send_subscription_trialing, :send_subscription_trial_expired,
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: 6.25.3
4
+ version: 6.26.0
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: 2025-05-23 00:00:00.000000000 Z
11
+ date: 2025-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails