effective_orders 6.28.1 → 6.29.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: 6477d34267ded2c975f03936571b38a8dfc28c11e4cbda6318ec901e086e48df
4
- data.tar.gz: 33da274e05b05c90c8204efc77dd4f657c9b713dad089b72c6b617f35b5e7e2f
3
+ metadata.gz: d996e08b837f4c718389356de10e99bb96f9e4c700610dfc52e4f0073ff6ca93
4
+ data.tar.gz: 504220bd762a516da3a315e67ffd7c768aea2ce39e3d83971b952d05e2bcb86f
5
5
  SHA512:
6
- metadata.gz: d4c88c677d7bf31d52f7f8fbdcd3cddbb540b916b6c0301fb17bf8e44a92877c475f534a18b96da5b27a678487ddac6a7a83eac0d9fcb50f78c50238f00c98cc
7
- data.tar.gz: 8f3516e94faa3a264ad172c0e2ead1b745fd249fbcb16c5e9ae591c5b6fa59b6453b1661be88b06c55787ca6dd6ecfdde6140abffaf2b0ea061e7a4ca9c35ae1
6
+ metadata.gz: 7adf267def1cc4485468a2adc96b0d41260f9f7202f77969486e406095ed87f84cbaa8599284c7944d25ddc7aab28e2160a47bfd97e95cfcd9a4604300223913
7
+ data.tar.gz: 929ac92776551b457655800a81bd5ec684a3bac710284fddc2827cfdd7c50be84e6c0a2380758d9badfb50a7da0170072edc560c419ceb825983db7cd4a5b28a
@@ -59,7 +59,7 @@ module Effective
59
59
 
60
60
  params[:invoiceRequest][:lineItems] = order.order_items.map do |item|
61
61
  {
62
- description: item.name,
62
+ description: scrub(item.name),
63
63
  quantity: item.quantity,
64
64
  price: ('%.2f' % item.price_to_f),
65
65
  total: ('%.2f' % item.subtotal_to_f),
@@ -301,6 +301,13 @@ module Effective
301
301
 
302
302
  private
303
303
 
304
+ def scrub(value)
305
+ return value unless value.kind_of?(String)
306
+
307
+ value = value.gsub("<br>", " ")
308
+ ActionController::Base.helpers.strip_tags(value)
309
+ end
310
+
304
311
  def headers
305
312
  {
306
313
  "Accept": "application/json",
@@ -949,6 +949,10 @@ module Effective
949
949
  EffectiveOrders.send_email(:order_email_to_admin, self) if EffectiveOrders.send_order_receipt_to_admin
950
950
  end
951
951
 
952
+ def send_event_registrants_cancelled_email!
953
+ EffectiveOrders.send_email(:order_email, self, event_registrants_cancelled: true)
954
+ end
955
+
952
956
  def log_changes_formatted_value(attribute, value)
953
957
  "#{value.to_s.first(8)}...#{value.to_s.last(4)}" if attribute == :delayed_payment_intent && value.present?
954
958
  end
@@ -27,6 +27,7 @@ module Effective
27
27
  # The very first line of the email body
28
28
  def header
29
29
  if event.present? && order.purchased_or_deferred?
30
+ return "Your tickets have been cancelled" if event_registrants_cancelled?
30
31
  return "Your tickets have been confirmed!" if event_none_waitlisted?
31
32
  return "Some of your tickets have been confirmed, but some are on the waitlist" if event_some_waitlisted?
32
33
  return "Your tickets are on the waitlist!" if event_all_waitlisted?
@@ -43,6 +44,7 @@ module Effective
43
44
 
44
45
  def subject
45
46
  if event.present? && order.purchased_or_deferred?
47
+ return "Tickets cancelled - #{event}" if event_registrants_cancelled?
46
48
  return "Receipt - Order ##{order.to_param}" if order.purchased? && order.delayed_payment_date_past?
47
49
  return "Confirmation - #{event}" if event_none_waitlisted?
48
50
  return "Confirmation & Waitlist - #{event}" if event_some_waitlisted?
@@ -103,5 +105,10 @@ module Effective
103
105
  return false unless event_registrants.present?
104
106
  event_registrants.all? { |er| er.waitlisted_not_promoted? || er.archived? }
105
107
  end
108
+
109
+ def event_registrants_cancelled?
110
+ opts[:event_registrants_cancelled] == true
111
+ end
112
+
106
113
  end
107
114
  end
@@ -1,4 +1,14 @@
1
- - if order.delayed? && order.deferred? && order.delayed_payment_date_upcoming?
1
+ - if order_email.event_registrants_cancelled?
2
+ %hr
3
+
4
+ %p
5
+ %strong Important
6
+
7
+ %ul
8
+ %li No payments will be made for these tickets.
9
+ %li If payment has already been made, we will issue a refund.
10
+
11
+ - elsif order.delayed? && order.deferred? && order.delayed_payment_date_upcoming?
2
12
  %hr
3
13
 
4
14
  %p
@@ -0,0 +1,9 @@
1
+ .effective-order-items
2
+ - present_order_items = order.order_items.select(&:archived?)
3
+
4
+ %p
5
+ %strong Cancelled tickets
6
+
7
+ %ul
8
+ - present_order_items.each do |item|
9
+ %li= item.name.html_safe
@@ -1,6 +1,11 @@
1
1
  - # This is the order email
2
2
  = render('effective/order_emails/header', order_email: order_email, order: order)
3
3
  = render('effective/order_emails/info', order_email: order_email, order: order)
4
- = render('effective/order_emails/items', order_email: order_email, order: order)
4
+
5
+ - if order_email.event_registrants_cancelled?
6
+ = render('effective/order_emails/items_cancelled', order_email: order_email, order: order)
7
+ - else
8
+ = render('effective/order_emails/items', order_email: order_email, order: order)
9
+
5
10
  = render('effective/order_emails/signature', order_email: order_email, order: order)
6
11
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveOrders
2
- VERSION = '6.28.1'.freeze
2
+ VERSION = '6.29.0'.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: 6.28.1
4
+ version: 6.29.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-09-19 00:00:00.000000000 Z
11
+ date: 2025-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -292,6 +292,7 @@ files:
292
292
  - app/views/effective/order_emails/_header.html.haml
293
293
  - app/views/effective/order_emails/_info.html.haml
294
294
  - app/views/effective/order_emails/_items.html.haml
295
+ - app/views/effective/order_emails/_items_cancelled.html.haml
295
296
  - app/views/effective/order_emails/_order_email.html.haml
296
297
  - app/views/effective/order_emails/_signature.html.haml
297
298
  - app/views/effective/orders/_checkout_actions.html.haml