details: https://code.tryton.org/tryton/commit/3f014f4df054
branch: default
user: Cédric Krier <[email protected]>
date: Tue Sep 29 17:17:01 2026 +0200
description:
Ensure street format is stripped as empty when substituted with empty
values
diffstat:
modules/party/address.py | 7 ++++++-
modules/party/message.xml | 3 +++
2 files changed, 9 insertions(+), 1 deletions(-)
diffs (34 lines):
diff -r 40e3efe13239 -r 3f014f4df054 modules/party/address.py
--- a/modules/party/address.py Tue Sep 29 17:15:28 2026 +0200
+++ b/modules/party/address.py Tue Sep 29 17:17:01 2026 +0200
@@ -571,11 +571,16 @@
substitutions = address._get_street_substitutions()
for format_ in formats:
try:
- Template(format_.street_format).substitute(**substitutions)
+ value = Template(format_.street_format).substitute(
+ **substitutions)
except Exception as exception:
raise InvalidFormat(gettext('party.msg_invalid_format',
format=format_.street_format,
exception=exception)) from exception
+ if value := Address._strip(value, doublespace=True):
+ raise InvalidFormat(gettext('party.msg_invalid_format_strip',
+ format=format_.format_,
+ value=value)) from ValueError(value)
@classmethod
def check_number_format(cls, formats, field_names=None):
diff -r 40e3efe13239 -r 3f014f4df054 modules/party/message.xml
--- a/modules/party/message.xml Tue Sep 29 17:15:28 2026 +0200
+++ b/modules/party/message.xml Tue Sep 29 17:17:01 2026 +0200
@@ -48,6 +48,9 @@
<record model="ir.message" id="msg_invalid_format">
<field name="text">Invalid format "%(format)s" with exception
"%(exception)s".</field>
</record>
+ <record model="ir.message" id="msg_invalid_format_strip">
+ <field name="text">Invalid format "%(format)s". Empty address
generates "%(value)s".</field>
+ </record>
<record model="ir.message" id="msg_category_name_unique">
<field name="text">The name of party category must be unique by
parent.</field>
</record>