[FIX] pms: computed fields and duplicate document_id solved

This commit is contained in:
Sara Lago
2021-06-08 12:13:34 +02:00
parent ac8274d8bd
commit fb027d42d3
2 changed files with 33 additions and 24 deletions

View File

@@ -204,7 +204,7 @@ class PmsCheckinPartner(models.Model):
if record.partner_id.id_numbers:
record.document_number = record.partner_id.id_numbers[0].name
@api.depends("partner_id", "partner_id.id_numbers", "document_type")
@api.depends("partner_id", "partner_id.id_numbers")
def _compute_document_type(self):
for record in self:
if record.partner_id and record.partner_id.id_numbers:
@@ -229,25 +229,25 @@ class PmsCheckinPartner(models.Model):
@api.depends("partner_id", "partner_id.firstname")
def _compute_firstname(self):
for record in self:
if not record.firstname:
if not record.firstname or record.partner_id.firstname:
record.firstname = record.partner_id.firstname
@api.depends("partner_id", "partner_id.lastname")
def _compute_lastname(self):
for record in self:
if not record.lastname:
if not record.lastname or record.partner_id.lastname:
record.lastname = record.partner_id.lastname
@api.depends("partner_id", "partner_id.lastname2")
def _compute_lastname2(self):
for record in self:
if not record.lastname2:
if not record.lastname2 or record.partner_id.lastname2:
record.lastname2 = record.partner_id.lastname2
@api.depends("partner_id", "partner_id.birthdate_date")
def _compute_birth_date(self):
for record in self:
if not record.birthdate_date:
if not record.birthdate_date or record.partner_id.birthdate_date:
record.birthdate_date = record.partner_id.birthdate_date
@api.depends(
@@ -256,13 +256,13 @@ class PmsCheckinPartner(models.Model):
)
def _compute_gender(self):
for record in self:
if not record.gender and record.partner_id.gender:
if not record.gender or record.partner_id.gender:
record.gender = record.partner_id.gender
@api.depends("partner_id", "partner_id.lastname")
def _compute_nationality(self):
for record in self:
if not record.nationality_id:
if not record.nationality_id or record.partner_id.nationality_id:
record.nationality_id = record.partner_id.nationality_id
@api.depends("reservation_id", "folio_id", "reservation_id.preferred_room_id")
@@ -311,19 +311,19 @@ class PmsCheckinPartner(models.Model):
)
def _compute_name(self):
for record in self:
if not record.name:
if not record.name or record.partner_id.name:
record.name = record.partner_id.name
@api.depends("partner_id", "partner_id.email")
def _compute_email(self):
for record in self:
if not record.email:
if not record.email or record.partner_id.email:
record.email = record.partner_id.email
@api.depends("partner_id", "partner_id.mobile")
def _compute_mobile(self):
for record in self:
if not record.mobile:
if not record.mobile or record.partner_id.mobile:
record.mobile = record.partner_id.mobile
@api.depends("partner_id")
@@ -335,14 +335,23 @@ class PmsCheckinPartner(models.Model):
and record.document_number
and record.document_type
):
id_number_id = self.env["res.partner.id_number"].create(
{
"partner_id": record.partner_id.id,
"name": record.document_number,
"category_id": record.document_type.id,
"valid_from": record.document_expedition_date,
}
id_number_id = self.env["res.partner.id_number"].search(
[
("partner_id", "=", record.partner_id.id),
("name", "=", record.document_number),
("category_id", "=", record.document_type.id),
]
)
if not id_number_id:
id_number_id = self.env["res.partner.id_number"].create(
{
"partner_id": record.partner_id.id,
"name": record.document_number,
"category_id": record.document_type.id,
"valid_from": record.document_expedition_date,
}
)
record.document_id = id_number_id
else:
record.document_id = False

View File

@@ -116,7 +116,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
gender = record.pms_checkin_partner_ids.mapped("gender")
if not record.gender and gender:
if gender:
record.gender = gender[0]
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.birthdate_date")
@@ -134,7 +134,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
nationality = record.pms_checkin_partner_ids.nationality_id
if not record.nationality_id and nationality:
if nationality:
record.nationality_id = nationality[0]
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.email")
@@ -143,7 +143,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
email = record.pms_checkin_partner_ids.mapped("email")
if not record.email and email:
if email:
record.email = email[0]
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.mobile")
@@ -152,7 +152,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
mobile = record.pms_checkin_partner_ids.mapped("mobile")
if not record.mobile and mobile:
if mobile:
record.mobile = mobile[0]
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.firstname")
@@ -161,7 +161,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
firstname = record.pms_checkin_partner_ids.mapped("firstname")
if not record.firstname and firstname:
if firstname:
record.firstname = firstname[0]
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.lastname")
@@ -170,7 +170,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
lastname = record.pms_checkin_partner_ids.mapped("lastname")
if not record.lastname and lastname:
if lastname:
record.lastname = lastname[0]
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.lastname2")
@@ -179,7 +179,7 @@ class ResPartner(models.Model):
super()._compute_field()
for record in self:
lastname2 = record.pms_checkin_partner_ids.mapped("lastname2")
if not record.lastname2 and lastname2:
if lastname2:
record.lastname2 = lastname2[0]
def _compute_reservations_count(self):