diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index e5b52a40d..da999918f 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -76,6 +76,13 @@ class PmsCheckinPartner(models.Model): store=True, compute="_compute_mobile", ) + phone = fields.Char( + string="Phone", + help="Checkin Partner Phone", + readonly=False, + store=True, + compute="_compute_phone", + ) image_128 = fields.Image( string="Image", help="Checkin Partner Image, it corresponds with Partner Image associated", @@ -148,6 +155,52 @@ class PmsCheckinPartner(models.Model): compute="_compute_state_id", comodel_name="res.country.state", ) + residence_street = fields.Char( + string="Street", + help="Street of the guest's residence", + readonly=False, + store=True, + compute="_compute_residence_street", + ) + residence_street2 = fields.Char( + string="Street2", + help="Second street of the guest's residence", + readonly=False, + store=True, + compute="_compute_residence_street2", + ) + residence_zip = fields.Char( + string="Zip", + help="Zip of the guest's residence", + readonly=False, + store=True, + compute="_compute_residence_zip", + change_default=True, + ) + residence_city = fields.Char( + string="City", + help="City of the guest's residence", + readonly=False, + store=True, + compute="_compute_residence_city", + ) + residence_country_id = fields.Many2one( + string="Country of residence", + help="Country of the guest's residence", + readonly=False, + store=True, + compute="_compute_residence_country_id", + comodel_name="res.country", + ) + residence_state_id = fields.Many2one( + string="State of residence", + help="State of the guest's residence", + readonly=False, + store=True, + compute="_compute_residence_state_id", + comodel_name="res.country.state", + ) + firstname = fields.Char( string="First Name", help="host firstname", @@ -224,6 +277,10 @@ class PmsCheckinPartner(models.Model): inverse_name="checkin_partner_possible_customer_id", ) + partner_relationship = fields.Char( + string="Partner relationship", help="Family relationship between travelers" + ) + @api.depends("partner_id") def _compute_document_number(self): for record in self: @@ -311,6 +368,57 @@ class PmsCheckinPartner(models.Model): elif not record.state_id: record.state_id = False + @api.depends("partner_id") + def _compute_residence_street(self): + for record in self: + if not record.residence_street and record.partner_id.residence_street: + record.residence_street = record.partner_id.residence_street + elif not record.residence_street: + record.residence_street = False + + @api.depends("partner_id") + def _compute_residence_street2(self): + for record in self: + if not record.residence_street2 and record.partner_id.residence_street2: + record.residence_street2 = record.partner_id.residence_street2 + elif not record.residence_street2: + record.residence_street2 = False + + @api.depends("partner_id") + def _compute_residence_zip(self): + for record in self: + if not record.residence_zip and record.partner_id.residence_zip: + record.residence_zip = record.partner_id.residence_zip + elif not record.residence_zip: + record.residence_zip = False + + @api.depends("partner_id") + def _compute_residence_city(self): + for record in self: + if not record.residence_city and record.partner_id.residence_city: + record.residence_city = record.partner_id.residence_city + elif not record.residence_city: + record.residence_city = False + + @api.depends("partner_id") + def _compute_residence_country_id(self): + for record in self: + if ( + not record.residence_country_id + and record.partner_id.residence_country_id + ): + record.residence_country_id = record.partner_id.residence_country_id + elif not record.residence_country_id: + record.residence_country_id = False + + @api.depends("partner_id") + def _compute_residence_state_id(self): + for record in self: + if not record.residence_state_id and record.partner_id.residence_state_id: + record.residence_state_id = record.partner_id.residence_state_id + elif not record.residence_state_id: + record.residence_state_id = False + @api.depends("reservation_id", "reservation_id.folio_id") def _compute_folio_id(self): for record in self.filtered("reservation_id"): @@ -348,14 +456,26 @@ class PmsCheckinPartner(models.Model): @api.depends("partner_id") def _compute_email(self): for record in self: - if not record.email or record.partner_id.email: + if not record.email and record.partner_id.email: record.email = record.partner_id.email + elif not record.email: + record.email = False @api.depends("partner_id") def _compute_mobile(self): for record in self: - if not record.mobile or record.partner_id.mobile: + if not record.mobile and record.partner_id.mobile: record.mobile = record.partner_id.mobile + elif not record.mobile: + record.mobile = False + + @api.depends("partner_id") + def _compute_phone(self): + for record in self: + if not record.phone and record.partner_id.phone: + record.phone = record.partner_id.phone + elif not record.phone: + record.phone = False @api.depends("partner_id") def _compute_document_id(self): diff --git a/pms/views/pms_checkin_partner_views.xml b/pms/views/pms_checkin_partner_views.xml index eee4a1467..bd6325ad7 100644 --- a/pms/views/pms_checkin_partner_views.xml +++ b/pms/views/pms_checkin_partner_views.xml @@ -70,8 +70,44 @@ + +