From 28e93b32d3a7778340c944858633e658f1a6c229 Mon Sep 17 00:00:00 2001 From: braisab Date: Wed, 14 Feb 2024 21:35:51 +0100 Subject: [PATCH] [FIX]pms_l10n_es: support number is not overwritten if the field does not exist in the last saved checkin --- pms_l10n_es/models/res_partner_id_number.py | 26 ++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/pms_l10n_es/models/res_partner_id_number.py b/pms_l10n_es/models/res_partner_id_number.py index ef9cc5c8e..80a2f1855 100644 --- a/pms_l10n_es/models/res_partner_id_number.py +++ b/pms_l10n_es/models/res_partner_id_number.py @@ -8,6 +8,8 @@ class ResPartnerIdNumber(models.Model): support_number = fields.Char( string="Support number", help="DNI support number", + store=True, + readonly=False, compute="_compute_support_number", ) @@ -16,17 +18,19 @@ class ResPartnerIdNumber(models.Model): if hasattr(super(), "_compute_support_number"): super()._compute_support_number() for record in self: - if not record.support_number and record.partner_id.pms_checkin_partner_ids: - support_number = list( - set( - record.partner_id.pms_checkin_partner_ids.mapped( - "support_number" + if record.partner_id.pms_checkin_partner_ids: + last_update_support_number = ( + record.partner_id.pms_checkin_partner_ids.filtered( + lambda x: x.write_date + == max( + record.partner_id.pms_checkin_partner_ids.mapped( + "write_date" + ) ) ) ) - if len(support_number) == 1: - record.support_number = support_number[0] - else: - record.support_number = False - elif not record.support_number: - record.support_number = False + if ( + last_update_support_number + and last_update_support_number[0].support_number + ): + record.support_number = last_update_support_number[0].support_number