mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms: Add external code to reservation
This commit is contained in:
@@ -38,6 +38,9 @@ class PmsFolio(models.Model):
|
|||||||
external_reference = fields.Char(
|
external_reference = fields.Char(
|
||||||
string="External Reference",
|
string="External Reference",
|
||||||
help="Reference of this folio in an external system",
|
help="Reference of this folio in an external system",
|
||||||
|
compute="_compute_external_reference",
|
||||||
|
readonly=False,
|
||||||
|
store=True,
|
||||||
)
|
)
|
||||||
pms_property_id = fields.Many2one(
|
pms_property_id = fields.Many2one(
|
||||||
string="Property",
|
string="Property",
|
||||||
@@ -711,6 +714,20 @@ class PmsFolio(models.Model):
|
|||||||
]
|
]
|
||||||
return res
|
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")
|
@api.depends("partner_id", "invoice_status", "last_checkout", "partner_invoice_ids")
|
||||||
def _compute_autoinvoice_date(self):
|
def _compute_autoinvoice_date(self):
|
||||||
self.autoinvoice_date = False
|
self.autoinvoice_date = False
|
||||||
|
|||||||
@@ -26,6 +26,13 @@ class PmsReservation(models.Model):
|
|||||||
help="Reservation Code Identification",
|
help="Reservation Code Identification",
|
||||||
readonly=True,
|
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(
|
folio_sequence = fields.Integer(
|
||||||
string="Folio Sequence",
|
string="Folio Sequence",
|
||||||
help="Techinal field to get reservation name",
|
help="Techinal field to get reservation name",
|
||||||
@@ -668,6 +675,22 @@ class PmsReservation(models.Model):
|
|||||||
string="Language", comodel_name="res.lang", compute="_compute_lang"
|
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):
|
def _compute_date_order(self):
|
||||||
for record in self:
|
for record in self:
|
||||||
record.date_order = datetime.datetime.today()
|
record.date_order = datetime.datetime.today()
|
||||||
|
|||||||
@@ -436,6 +436,10 @@
|
|||||||
name="agency_id"
|
name="agency_id"
|
||||||
attrs="{'invisible': [('reservation_type', '!=', 'normal')]}"
|
attrs="{'invisible': [('reservation_type', '!=', 'normal')]}"
|
||||||
/>
|
/>
|
||||||
|
<field
|
||||||
|
name="external_reference"
|
||||||
|
attrs="{'invisible': [('agency_id', '=', False)]}"
|
||||||
|
/>
|
||||||
<field
|
<field
|
||||||
name="channel_type_id"
|
name="channel_type_id"
|
||||||
attrs="{'readonly':[('agency_id','!=', False)], 'invisible': [('reservation_type', '!=', 'normal')]}"
|
attrs="{'readonly':[('agency_id','!=', False)], 'invisible': [('reservation_type', '!=', 'normal')]}"
|
||||||
|
|||||||
Reference in New Issue
Block a user