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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6f105404cde1ab45780524ad90e755e522c01a385f39672a308ca8a863e58789
|
|
4
|
+
data.tar.gz: 6bbd904ed84f030a4e4bb8c2518995ca600812f7d6ca432e9845a83261bc0025
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
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.
|
|
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
|
+
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|