[IMP]pms: Add external code to reservation

This commit is contained in:
Darío Lodeiros
2022-04-15 11:29:09 +02:00
parent 8ba1493d53
commit 376c93b5bc
3 changed files with 44 additions and 0 deletions

View File

@@ -38,6 +38,9 @@ class PmsFolio(models.Model):
external_reference = fields.Char(
string="External Reference",
help="Reference of this folio in an external system",
compute="_compute_external_reference",
readonly=False,
store=True,
)
pms_property_id = fields.Many2one(
string="Property",
@@ -711,6 +714,20 @@ class PmsFolio(models.Model):
]
return res
@api.depends("reservation_ids", "reservation_ids.external_reference")
def _compute_external_reference(self):
for folio in self:
folio.external_reference = folio._get_folio_external_reference()
def _get_folio_external_reference(self):
self.ensure_one()
references = list(set(self.reservation_ids.mapped("external_reference")))
references = list(filter(bool, references))
if references:
return ",".join(references)
else:
return False
@api.depends("partner_id", "invoice_status", "last_checkout", "partner_invoice_ids")
def _compute_autoinvoice_date(self):
self.autoinvoice_date = False

View File

@@ -26,6 +26,13 @@ class PmsReservation(models.Model):
help="Reservation Code Identification",
readonly=True,
)
external_reference = fields.Char(
string="External Reference",
help="Reference of this folio in an external system",
compute="_compute_external_reference",
store=True,
readonly=False,
)
folio_sequence = fields.Integer(
string="Folio Sequence",
help="Techinal field to get reservation name",
@@ -668,6 +675,22 @@ class PmsReservation(models.Model):
string="Language", comodel_name="res.lang", compute="_compute_lang"
)
@api.depends("folio_id", "folio_id.external_reference")
def _compute_external_reference(self):
for reservation in self:
if not reservation.external_reference:
reservation.external_reference = (
reservation._get_reservation_external_reference()
)
def _get_reservation_external_reference(self):
self.ensure_one()
folio = self.folio_id
if folio and folio.external_reference:
return folio.external_reference
else:
return False
def _compute_date_order(self):
for record in self:
record.date_order = datetime.datetime.today()

View File

@@ -436,6 +436,10 @@
name="agency_id"
attrs="{'invisible': [('reservation_type', '!=', 'normal')]}"
/>
<field
name="external_reference"
attrs="{'invisible': [('agency_id', '=', False)]}"
/>
<field
name="channel_type_id"
attrs="{'readonly':[('agency_id','!=', False)], 'invisible': [('reservation_type', '!=', 'normal')]}"