From 4f2b624cc78f8d87b791bf242f48af846b67d72b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Casaj=C3=BAs?= Date: Tue, 17 Jan 2023 11:56:00 +0100 Subject: [PATCH] Set the proper link for unsub newsletter (#1503) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Adrià Casajús --- app/handler/unsubscribe_encoder.py | 6 ++++-- app/newsletter_utils.py | 10 ++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/handler/unsubscribe_encoder.py b/app/handler/unsubscribe_encoder.py index 8d748291..bc079426 100644 --- a/app/handler/unsubscribe_encoder.py +++ b/app/handler/unsubscribe_encoder.py @@ -42,9 +42,11 @@ class UnsubscribeLink: class UnsubscribeEncoder: @staticmethod def encode( - action: UnsubscribeAction, data: Union[int, UnsubscribeOriginalData] + action: UnsubscribeAction, + data: Union[int, UnsubscribeOriginalData], + force_web: bool = False, ) -> UnsubscribeLink: - if config.UNSUBSCRIBER: + if config.UNSUBSCRIBER and not force_web: return UnsubscribeLink(UnsubscribeEncoder.encode_mailto(action, data), True) return UnsubscribeLink(UnsubscribeEncoder.encode_url(action, data), False) diff --git a/app/newsletter_utils.py b/app/newsletter_utils.py index 2a00c338..3be21ce9 100644 --- a/app/newsletter_utils.py +++ b/app/newsletter_utils.py @@ -27,13 +27,15 @@ def send_newsletter_to_user(newsletter, user) -> (bool, str): comm_alias_id = comm_alias.id unsubscribe_oneclick = unsubscribe_link - if via_email: + if via_email and comm_alias_id > -1: unsubscribe_oneclick = UnsubscribeEncoder.encode( - UnsubscribeAction.DisableAlias, comm_alias_id - ) + UnsubscribeAction.DisableAlias, + comm_alias_id, + force_web=True, + ).link send_email( - comm_alias.email, + comm_email, newsletter.subject, text_template.render( user=user,