Do not create contact mechanism for invalid email from Shopify

Closes #14368
(grafted from 643142484aee74972d3caee2c4a449f8f4abba7e)

--HG--
branch : 7.0
This commit is contained in:
Cédric Krier
2025-11-17 14:38:07 +01:00
parent 7234ab36af
commit b54654ed4c
+11
View File
@@ -1,10 +1,15 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import logging
from trytond.pool import Pool, PoolMeta
from trytond.tools import remove_forbidden_chars
from trytond.tools.email_ import EmailNotValidError, validate_email
from .common import IdentifiersMixin, setattr_changed
logger = logging.getLogger(__name__)
class Party(IdentifiersMixin, metaclass=PoolMeta):
__name__ = 'party.party'
@@ -34,6 +39,12 @@ class Party(IdentifiersMixin, metaclass=PoolMeta):
value, contact_mechanism.type))):
break
else:
if types[0] == 'email':
try:
validate_email(value)
except EmailNotValidError as e:
logger.info("Skip email %s", value, exc_info=e)
continue
contact_mechanisms.append(ContactMechanism(
type=types[0], value=value))
party.contact_mechanisms = contact_mechanisms