details: https://code.tryton.org/tryton/commit/a1af49a7f770
branch: 7.8
user: Cédric Krier <[email protected]>
date: Mon Jan 19 12:30:41 2026 +0100
description:
Do not try to add parameters to empty URL
Closes #14505
(grafted from a014cc36dac8a16f6c3ebd2450f1ba930a7f614f)
diffstat:
modules/marketing_email/marketing.py | 10 ++++++++--
modules/web_user/user.py | 12 +++++++++---
2 files changed, 17 insertions(+), 5 deletions(-)
diffs (56 lines):
diff -r c2b7841c8362 -r a1af49a7f770 modules/marketing_email/marketing.py
--- a/modules/marketing_email/marketing.py Thu Jan 29 10:26:59 2026 +0100
+++ b/modules/marketing_email/marketing.py Mon Jan 19 12:30:41 2026 +0100
@@ -151,7 +151,10 @@
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):
@@ -183,7 +186,10 @@
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 -r c2b7841c8362 -r a1af49a7f770 modules/web_user/user.py
--- a/modules/web_user/user.py Thu Jan 29 10:26:59 2026 +0100
+++ b/modules/web_user/user.py Mon Jan 19 12:30:41 2026 +0100
@@ -245,7 +245,10 @@
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):
@@ -299,8 +302,11 @@
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):