diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index adb6b9733aa..642451ba107 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -111,6 +111,7 @@ class Lead(models.Model): color = fields.Integer('Color Index', default=0) partner_address_name = fields.Char('Partner Contact Name', related='partner_id.name', readonly=True) partner_address_email = fields.Char('Partner Contact Email', related='partner_id.email', readonly=True) + partner_address_phone = fields.Char('Partner Contact Phone', related='partner_id.phone', readonly=True) company_currency = fields.Many2one(string='Currency', related='company_id.currency_id', readonly=True, relation="res.currency") user_email = fields.Char('User Email', related='user_id.email', readonly=True) user_login = fields.Char('User Login', related='user_id.login', readonly=True) @@ -1218,7 +1219,7 @@ class Lead(models.Model): emails = email_re.findall(partner_info['full_name'] or '') email = emails and emails[0] or '' if email and self.email_from and email.lower() == self.email_from.lower(): - partner_info['full_name'] = '%s <%s>' % (self.partner_name or self.contact_name, email) + partner_info['full_name'] = '%s <%s>' % (self.contact_name or self.partner_name, email) break return result diff --git a/addons/crm/models/res_partner.py b/addons/crm/models/res_partner.py index bc31c6b9c1a..350b2a630e5 100644 --- a/addons/crm/models/res_partner.py +++ b/addons/crm/models/res_partner.py @@ -14,6 +14,27 @@ class Partner(models.Model): opportunity_count = fields.Integer("Opportunity", compute='_compute_opportunity_count') meeting_count = fields.Integer("# Meetings", compute='_compute_meeting_count') + @api.model + def default_get(self, fields): + rec = super(Partner, self).default_get(fields) + active_model = self.env.context.get('active_model') + if active_model == 'crm.lead': + lead = self.env[active_model].browse(self.env.context.get('active_id')) + rec.update( + phone=lead.phone, + mobile=lead.mobile, + function=lead.function, + title=lead.title.id, + website=lead.website, + street=lead.street, + street2=lead.street2, + city=lead.city, + state_id=lead.state_id.id, + country_id=lead.country_id.id, + zip=lead.zip, + ) + return rec + @api.multi def _compute_opportunity_count(self): for partner in self: diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml index d896bc10c97..94cdb72bdd0 100644 --- a/addons/crm/views/crm_lead_views.xml +++ b/addons/crm/views/crm_lead_views.xml @@ -253,6 +253,13 @@ + + + + + + +