Skip to content

Commit 4d9b4fe

Browse files
committed
Prevent confirmed subscriber becoming unconfirmed when re-subscribing. Closes #2987
1 parent bb1d87e commit 4d9b4fe

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

queries/subscribers.sql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,12 @@ INSERT INTO subscriber_lists (subscriber_id, list_id, status)
189189
SET status = (
190190
CASE
191191
WHEN $4='blocklisted' THEN 'unsubscribed'::subscription_status
192-
-- When $11 (allow resubscribe) is true, override existing statuses (used by public subscription form).
192+
-- When $11 (allow resubscribe) is true, override existing statuses except confirmed (used by
193+
-- public subscription form).
194+
WHEN subscriber_lists.status = 'confirmed' THEN 'confirmed'
193195
WHEN $11 = TRUE THEN $8::subscription_status
194196
-- When subscriber is edited from the admin form, retain the status. Otherwise, a blocklisted
195197
-- subscriber when being re-enabled, their subscription statuses change.
196-
WHEN subscriber_lists.status = 'confirmed' THEN 'confirmed'
197198
WHEN subscriber_lists.status = 'unsubscribed' THEN 'unsubscribed'::subscription_status
198199
ELSE $8::subscription_status
199200
END

0 commit comments

Comments
 (0)