diff --git a/addons/mail/i18n/mail.pot b/addons/mail/i18n/mail.pot index f76a19caec90a2d40c98bea4748e443e8330124b..6559226b383f28fec2c06ef07b67ac9e50139c93 100644 --- a/addons/mail/i18n/mail.pot +++ b/addons/mail/i18n/mail.pot @@ -41,6 +41,14 @@ msgstr "" msgid "%(activity_name)s: %(summary)s assigned to you" msgstr "" +#. module: mail +#: code:addons/mail/models/res_partner.py:0 +#, python-format +msgid "" +"%(email)s is not recognized as a valid email. This is required to create a " +"new customer." +msgstr "" + #. module: mail #: code:addons/mail/wizard/mail_wizard_invite.py:0 #, python-format diff --git a/addons/mail/models/res_partner.py b/addons/mail/models/res_partner.py index 88eb7184bb6e4b2a98f7c0ce456fa61209a5401a..e257def6702278a495e7b10a469ccdb90ddab7e8 100644 --- a/addons/mail/models/res_partner.py +++ b/addons/mail/models/res_partner.py @@ -83,6 +83,8 @@ class Partner(models.Model): raise ValueError(_('An email is required for find_or_create to work')) parsed_name, parsed_email = self._parse_partner_name(email) + if not parsed_email and assert_valid_email: + raise ValueError(_('%(email)s is not recognized as a valid email. This is required to create a new customer.')) if parsed_email: email_normalized = tools.email_normalize(parsed_email) if email_normalized: diff --git a/addons/mail/tests/test_res_partner.py b/addons/mail/tests/test_res_partner.py index c2fb68464c2997cb234d141d60f5338c285c2c3a..4a2f557653438a62d1acaab8ec20b31b09b58ae7 100644 --- a/addons/mail/tests/test_res_partner.py +++ b/addons/mail/tests/test_res_partner.py @@ -95,6 +95,9 @@ class TestPartner(MailCommon): check_partner=new6, should_create=True ) + with self.assertRaises(ValueError): + self.env['res.partner'].find_or_create("Raoul chirurgiens-dentistes.fr", assert_valid_email=True) + def test_res_partner_log_portal_group(self): Users = self.env['res.users'] subtype_note = self.env.ref('mail.mt_note')