From fdfacce7bf320694cbbc54b251b0088e08e72ce5 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 : 6.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 86c6aba2d7..ffb4a838d6 100644 --- a/modules/marketing_email/marketing.py +++ b/modules/marketing_email/marketing.py @@ -161,7 +161,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): @@ -193,7 +196,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 be499a3576..6f252f5433 100644 --- a/modules/web_user/user.py +++ b/modules/web_user/user.py @@ -297,7 +297,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): @@ -351,8 +354,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):