spree_emails 5.4.3 → 5.5.0.rc1

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: da84825bada326b818e3fc0e2eb80adac7d80557c7d12f247b2637933cd76c74
4
- data.tar.gz: 225fa9fad5e23168d98e371fb9bf635d663e4161ae8263e2a3472b3b3d821496
3
+ metadata.gz: 6f105404cde1ab45780524ad90e755e522c01a385f39672a308ca8a863e58789
4
+ data.tar.gz: 6bbd904ed84f030a4e4bb8c2518995ca600812f7d6ca432e9845a83261bc0025
5
5
  SHA512:
6
- metadata.gz: c544d1cbdb7f9d9251f2ed26f0d623dd32679df7e6f269b88ca2a940db2bff3d4a111dcf31eefbe1af4b9cfb3ff92a342b36ebe1eb935100f1cc8a2a766ad007
7
- data.tar.gz: 7dd7c1b33f4c33e928e175dc2afdadfdd60f1da725d81ac05b617cffcc9f7ab2f2f8cb82b7fc943f56f3e2731b43c7924ea29f6a3186c0c2c69ea4dda0c70db8
6
+ metadata.gz: b159c2f14073cfabb93ac4811a7ddfdc66bf58b0b36b3f4e53d92d2fba71f8ce72c7bffcf52597d3dfa0af665aa6a6c9f2ed468718c19209b70721a4c46bfe55
7
+ data.tar.gz: 92f88380e7bcf0d088fa075516d64974390dba7b59a29d2792c451eccd3869d01a5b76230702be42653d86ffb4766382050f9c22c806f02c143f85a980ab044a
@@ -15,13 +15,5 @@ module Spree
15
15
  def store_logo
16
16
  @store_logo ||= current_store&.mailer_logo || current_store&.logo
17
17
  end
18
-
19
- def logo_path
20
- Spree::Deprecation.warn('logo_path is deprecated and will be removed in Spree 5.5. Please use Active Storage URL helpers instead.')
21
-
22
- return main_app.cdn_image_url(store_logo.variant(resize_to_limit: [244, 104])) if store_logo&.variable?
23
-
24
- return main_app.cdn_image_url(store_logo) if store_logo&.image?
25
- end
26
18
  end
27
19
  end
@@ -1,9 +1,26 @@
1
1
  module Spree
2
2
  class NewsletterMailer < BaseMailer
3
- def email_confirmation(subscriber)
3
+ def email_confirmation(subscriber, redirect_url: nil)
4
4
  @subscriber = subscriber
5
- @confirm_email_url = spree.verify_newsletter_subscribers_url(token: @subscriber.verification_token, host: Spree::Current.store.storefront_url)
5
+ store = subscriber.store || Spree::Current.store || Spree::Store.default
6
+ base_url = redirect_url.presence || store.storefront_url
7
+ @confirm_email_url = append_token(base_url, @subscriber.verification_token)
6
8
  mail(to: @subscriber.email, from: from_address, subject: Spree.t('newsletter_mailer.email_confirmation.subject'))
7
9
  end
10
+
11
+ private
12
+
13
+ # URI-based merge preserves existing query params and fragments so the token
14
+ # doesn't get swallowed by a `#section` or clobber an existing `?source=`.
15
+ def append_token(url, token)
16
+ uri = URI.parse(url.to_s)
17
+ params = URI.decode_www_form(uri.query || '')
18
+ params << ['token', token.to_s]
19
+ uri.query = URI.encode_www_form(params)
20
+ uri.to_s
21
+ rescue URI::InvalidURIError
22
+ separator = url.include?('?') ? '&' : '?'
23
+ "#{url}#{separator}token=#{CGI.escape(token.to_s)}"
24
+ end
8
25
  end
9
26
  end
@@ -2,17 +2,17 @@
2
2
 
3
3
  module Spree
4
4
  class NewsletterSubscriberEmailSubscriber < Spree::Subscriber
5
- subscribes_to 'newsletter_subscriber.subscribed'
5
+ subscribes_to 'newsletter_subscriber.subscription_requested'
6
6
 
7
7
  def handle(event)
8
8
  subscriber = find_subscriber(event)
9
9
  return unless subscriber
10
10
  return if subscriber.verified?
11
11
 
12
- store = Spree::Current.store || Spree::Store.default
12
+ store = subscriber.store || Spree::Current.store || Spree::Store.default
13
13
  return unless store.prefers_send_consumer_transactional_emails?
14
14
 
15
- NewsletterMailer.email_confirmation(subscriber).deliver_later
15
+ NewsletterMailer.email_confirmation(subscriber, redirect_url: event.payload['redirect_url']).deliver_later
16
16
  end
17
17
 
18
18
  private
@@ -14,6 +14,7 @@ module Spree
14
14
  order = find_order(event)
15
15
  return unless order
16
16
  return if order.confirmation_delivered?
17
+ return if event.payload['notify_customer'] == false
17
18
 
18
19
  store = order.store
19
20
  return unless store.prefers_send_consumer_transactional_emails?
@@ -38,6 +39,7 @@ module Spree
38
39
  def send_cancel_email(event)
39
40
  order = find_order(event)
40
41
  return unless order
42
+ return if event.payload['notify_customer'] == false
41
43
 
42
44
  OrderMailer.cancel_email(order.id).deliver_later
43
45
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_emails
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.3
4
+ version: 5.5.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-05-19 00:00:00.000000000 Z
13
+ date: 2026-06-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: spree
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 5.4.3
21
+ version: 5.5.0.rc1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 5.4.3
28
+ version: 5.5.0.rc1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: email_spec
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -101,9 +101,9 @@ licenses:
101
101
  - BSD-3-Clause
102
102
  metadata:
103
103
  bug_tracker_uri: https://github.com/spree/spree/issues
104
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.3
104
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.5.0.rc1
105
105
  documentation_uri: https://docs.spreecommerce.org/
106
- source_code_uri: https://github.com/spree/spree/tree/v5.4.3
106
+ source_code_uri: https://github.com/spree/spree/tree/v5.5.0.rc1
107
107
  post_install_message:
108
108
  rdoc_options: []
109
109
  require_paths: