mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[FIX] pms: computed fields and duplicate document_id solved
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user