summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2016-09-20 17:36:04 +0200
committerThibault Delavallée <tde@odoo.com>2016-09-21 11:20:21 +0200
commitaaf5e6c3fb7e25034174f5a2c2e2e53a9e27ca7b (patch)
treef556e524e2a919c5597a2e32215fa0b37f5647d3
parent329cf0b48585c3aabec14bbe9076e2e9ba3e64ce (diff)
[IMP] res_partner: add email_formatted field on res.partner that is its email correctly formatted
It will be used in various email templates to avoid having either badly formatted emails either not formatted emails. As this is a not stored function field it does not impact model.
-rw-r--r--odoo/addons/base/res/res_partner.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/odoo/addons/base/res/res_partner.py b/odoo/addons/base/res/res_partner.py
index 75c99ab21b8..76e49b2ee52 100644
--- a/odoo/addons/base/res/res_partner.py
+++ b/odoo/addons/base/res/res_partner.py
@@ -8,6 +8,8 @@ import pytz
import threading
import urllib2
import urlparse
+
+from email.utils import formataddr
from lxml import etree
from odoo import api, fields, models, tools, _
@@ -188,6 +190,9 @@ class Partner(models.Model, FormatAddress):
state_id = fields.Many2one("res.country.state", string='State', ondelete='restrict')
country_id = fields.Many2one('res.country', string='Country', ondelete='restrict')
email = fields.Char()
+ email_formatted = fields.Char(
+ 'Formatted Email', compute='_compute_email_formatted',
+ help='Format email address "Name <email@domain>"')
phone = fields.Char()
fax = fields.Char()
mobile = fields.Char()
@@ -355,6 +360,11 @@ class Partner(models.Model, FormatAddress):
if not self.image and not self._context.get('yaml_onchange') and self.email:
self.image = self._get_gravatar_image(self.email)
+ @api.depends('name', 'email')
+ def _compute_email_formatted(self):
+ for partner in self:
+ partner.email_formatted = formataddr((partner.name, partner.email))
+
@api.depends('is_company')
def _compute_company_type(self):
for partner in self: