[FIX] crm : prevent a false positive warning ribbon for phone on lead

In the lead, we compute the phone number to make it formatted to match
with the international phone number format.

Before this commit, this formatted number was used for comparison with
partner's phone (which is not formatted), and so, even if both the
numbers are same, the warning ribbon appears due to different formats
which is not correct behavior.

This commit fixes the issue by comparing both the formatted number to
remove the false positive warning ribbon and thus making sure that it
appears only when there actually is a difference between lead's phone
and the phone number set on partner.

Task Id-2274752

closes odoo/odoo#54942

X-original-commit: d29862c1de6208f7fdb7c8104afe0d35241d130b
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
Lavish Chhatwani
2020-07-27 08:03:19 +00:00
committed by Thibault Delavallée
parent 89d5628c9d
commit 29c39dab3b
+2 -1
View File
@@ -367,8 +367,9 @@ class Lead(models.Model):
@api.depends('email_from', 'phone', 'partner_id')
def _compute_ribbon_message(self):
for lead in self:
partner_formatted_phone = lead.partner_id.phone and self.phone_format(lead.partner_id.phone)
will_write_email = lead.partner_id and lead.email_from != lead.partner_id.email
will_write_phone = lead.partner_id and lead.phone != lead.partner_id.phone
will_write_phone = lead.partner_id and lead.phone != partner_formatted_phone
if will_write_email and will_write_phone:
lead.ribbon_message = _('By saving this change, the customer email and phone number will also be updated.')