From b72ac423c93b84c66b13d623d1ad99c76c3fa1e7 Mon Sep 17 00:00:00 2001 From: miguelpadin Date: Mon, 16 Dec 2024 11:06:39 +0000 Subject: [PATCH] [FIX] pms-l10n_es: fix mandatory fields for childrens --- pms/models/pms_checkin_partner.py | 9 +++++++-- pms_l10n_es/models/pms_checkin_partner.py | 18 ++++++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index cc453936f..aadd6bf21 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -452,6 +452,7 @@ class PmsCheckinPartner(models.Model): for field in record._checkin_mandatory_fields( residence_country=record.residence_country_id, document_type=record.document_type, + birthdate_date=record.birthdate_date, ) ): record.state = "draft" @@ -782,7 +783,7 @@ class PmsCheckinPartner(models.Model): dummy_checkins = reservation.checkin_partner_ids.filtered( lambda c: c.state == "dummy" ) - if len(reservation.checkin_partner_ids) < reservation.adults: + if len(reservation.checkin_partner_ids) < (reservation.adults + reservation.children): return super(PmsCheckinPartner, self).create(vals) if len(dummy_checkins) > 0: dummy_checkins[0].write(vals) @@ -819,6 +820,10 @@ class PmsCheckinPartner(models.Model): "residence_city", "residence_country_id", "residence_state_id", + "document_country_id", + "document_type", + + ] return manual_fields @@ -833,7 +838,7 @@ class PmsCheckinPartner(models.Model): self, residence_country=False, document_type=False, birthdate_date=False ): mandatory_fields = [ - "name", + "firstname", ] return mandatory_fields diff --git a/pms_l10n_es/models/pms_checkin_partner.py b/pms_l10n_es/models/pms_checkin_partner.py index cf32b9424..e790a53ee 100644 --- a/pms_l10n_es/models/pms_checkin_partner.py +++ b/pms_l10n_es/models/pms_checkin_partner.py @@ -85,8 +85,8 @@ class PmsCheckinPartner(models.Model): ] ) - # Checkins with age greater than 14 must have an identity document if birthdate_date: + # Checkins with age greater than 14 must have an identity document if birthdate_date <= fields.Date.today() - relativedelta(years=14): mandatory_fields.extend( [ @@ -96,6 +96,14 @@ class PmsCheckinPartner(models.Model): "document_country_id", ] ) + # Checkins with age lower than 18 must have a relationship with another checkin partner + if birthdate_date > fields.Date.today() - relativedelta(years=18): + mandatory_fields.extend( + [ + "ses_partners_relationship", + "ses_related_checkin_partner_id", + ] + ) if residence_country and residence_country.code == CODE_SPAIN: mandatory_fields.extend( @@ -120,7 +128,13 @@ class PmsCheckinPartner(models.Model): @api.model def _checkin_manual_fields(self, country=False): manual_fields = super(PmsCheckinPartner, self)._checkin_manual_fields() - manual_fields.extend(["support_number"]) + manual_fields.extend( + [ + "support_number", + "ses_partners_relationship", + "ses_related_checkin_partner_id", + ] + ) return manual_fields def get_document_vals(self):