diff options
| author | Raphael Collet <rco@odoo.com> | 2019-06-24 14:03:46 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2019-07-04 11:32:22 +0000 |
| commit | 6230f72d2be58069dfd264623944a45c84c99ba4 (patch) | |
| tree | 4d3e919cde4a35809085d4b3a7cfceb8def073cc | |
| parent | 3520eee8eb04b18af6c664b550b7d6a887886d99 (diff) | |
[FIX] mail: avoid crashing for users without email address
| -rw-r--r-- | addons/mail/models/mail_thread.py | 6 | ||||
| -rw-r--r-- | addons/mail/wizard/mail_compose_message.py | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py index ac5bb415ee0..a7245bb476f 100644 --- a/addons/mail/models/mail_thread.py +++ b/addons/mail/models/mail_thread.py @@ -1929,9 +1929,13 @@ class MailThread(models.AbstractModel): self.ensure_one() if author_id: author = self.env['res.partner'].sudo().browse(author_id) - else: + elif self.env.user.email: author = self.env.user.partner_id author_id = author.id + else: + # the current user has no email address (like the public user) + author = self.env.user.browse(SUPERUSER_ID).partner_id + author_id = author.id if not author.email: raise exceptions.UserError(_("Unable to log message, please configure the sender's email address.")) diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index 18deb40800b..f5ad45c0a56 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -63,7 +63,7 @@ class MailComposer(models.TransientModel): if 'author_id' not in result: result['author_id'] = self.env.user.partner_id.id if 'email_from' not in result: - result['email_from'] = formataddr((self.env.user.name, self.env.user.email)) + result['email_from'] = formataddr((self.env.user.name, self.env.user.email or "")) else: if 'email_from' not in result: author = self.env['res.partner'].browse(result['author_id']) |
