From 319692bb1dffc098408167a69229e5c127786c6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 19 Jan 2026 12:30:41 +0100 Subject: [PATCH] Do not try to add parameters to empty URL Closes #14505 (grafted from a014cc36dac8a16f6c3ebd2450f1ba930a7f614f) --HG-- branch : 7.0 --- modules/marketing_email/marketing.py | 10 ++++++++-- modules/web_user/user.py | 12 +++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/modules/marketing_email/marketing.py b/modules/marketing_email/marketing.py index b452bda5c5..42b3aeb603 100644 --- a/modules/marketing_email/marketing.py +++ b/modules/marketing_email/marketing.py @@ -183,7 +183,10 @@ class Email(DeactivableMixin, ModelSQL, ModelView): def get_email_subscribe_url(self, url=None): if url is None: url = config.get('marketing', 'email_subscribe_url') - return _add_params(url, token=self.email_token) + if url is not None: + return _add_params(url, token=self.email_token) + else: + return '' @classmethod def subscribe_url(cls, url): @@ -215,7 +218,10 @@ class Email(DeactivableMixin, ModelSQL, ModelView): def get_email_unsubscribe_url(self, url=None): if url is None: url = config.get('marketing', 'email_unsubscribe_url') - return _add_params(url, token=self.email_token) + if url is not None: + return _add_params(url, token=self.email_token) + else: + return '' @classmethod def unsubscribe_url(cls, url): diff --git a/modules/web_user/user.py b/modules/web_user/user.py index 74759c9154..007567782a 100644 --- a/modules/web_user/user.py +++ b/modules/web_user/user.py @@ -318,7 +318,10 @@ class User(avatar_mixin(100), DeactivableMixin, ModelSQL, ModelView): def get_email_validation_url(self, url=None): if url is None: url = config.get('web', 'email_validation_url') - return _add_params(url, token=self.email_token) + if url is not None: + return _add_params(url, token=self.email_token) + else: + return '' @classmethod def validate_email_url(cls, url): @@ -372,8 +375,11 @@ class User(avatar_mixin(100), DeactivableMixin, ModelSQL, ModelView): def get_email_reset_password_url(self, url=None): if url is None: url = config.get('web', 'reset_password_url') - return _add_params( - url, token=self.reset_password_token, email=self.email) + if url is not None: + return _add_params( + url, token=self.reset_password_token, email=self.email) + else: + return '' @classmethod def set_password_url(cls, url, password):