diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index 882ba4caf..c93376cff 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -55,6 +55,14 @@ class PmsCheckinPartner(models.Model): related="reservation_id.segmentation_ids", readonly=True, ) + checkin = fields.Date( + related="reservation_id.checkin", store=True, depends=["reservation_id.checkin"] + ) + checkout = fields.Date( + related="reservation_id.checkout", + store=True, + depends=["reservation_id.checkout"], + ) arrival = fields.Datetime("Enter") departure = fields.Datetime("Exit") state = fields.Selection( @@ -110,11 +118,18 @@ class PmsCheckinPartner(models.Model): else: record.state = "precheckin" - @api.depends("partner_id", "partner_id.name") + @api.depends( + "partner_id", + "partner_id.name", + "reservation_id", + "reservation_id.preferred_room_id", + ) def _compute_name(self): - for record in self: - if not record.name: - record.name = record.partner_id.name + self.name = False + for record in self.filtered("reservation_id.rooms"): + record.name = record.reservation_id.rooms + if record.partner_id: + record.name = record.name + " (" + record.partner_id.name + ")" @api.depends("partner_id", "partner_id.email") def _compute_email(self): @@ -132,8 +147,8 @@ class PmsCheckinPartner(models.Model): def _checkin_mandatory_fields(self, depends=False): # api.depends need "reservation_id.state" in the lambda function if depends: - return ["reservation_id.state", "name"] - return ["name"] + return ["reservation_id.state", "partner_id"] + return ["partner_id"] @api.model def _checkin_partner_fields(self): diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index f9c1ce934..35243f273 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -307,7 +307,7 @@ class PmsFolio(models.Model): compute="_compute_amount", store=True, tracking=True, - string="Payments", + string="Paid Out", ) amount_untaxed = fields.Monetary( string="Untaxed Amount", diff --git a/pms/models/pms_service_line.py b/pms/models/pms_service_line.py index 267d4970b..ab346eb68 100644 --- a/pms/models/pms_service_line.py +++ b/pms/models/pms_service_line.py @@ -9,6 +9,7 @@ class PmsServiceLine(models.Model): _name = "pms.service.line" _description = "Service by day" _order = "date" + _rec_name = "service_id" # Fields declaration service_id = fields.Many2one( @@ -18,6 +19,7 @@ class PmsServiceLine(models.Model): required=True, copy=False, ) + is_board_service = fields.Boolean(related="service_id.is_board_service", store=True) product_id = fields.Many2one(related="service_id.product_id", store=True) tax_ids = fields.Many2many( "account.tax", string="Taxes", related="service_id.tax_ids", readonly="True" diff --git a/pms/models/res_partner.py b/pms/models/res_partner.py index 8fbdc5132..432045521 100644 --- a/pms/models/res_partner.py +++ b/pms/models/res_partner.py @@ -68,7 +68,6 @@ class ResPartner(models.Model): "|", ("phone", operator, name), ("mobile", operator, name), - ("email", operator, name), ] partners = self.search( domain + args, diff --git a/pms/views/pms_checkin_partner_views.xml b/pms/views/pms_checkin_partner_views.xml index d47dfa6db..0c039750c 100644 --- a/pms/views/pms_checkin_partner_views.xml +++ b/pms/views/pms_checkin_partner_views.xml @@ -4,8 +4,10 @@ id="action_checkin_partner" name="Action checkin" res_model="pms.checkin.partner" - view_mode="kanban,tree,form" - domain="[('state', '!=', 'draft')]" + view_mode="kanban,tree,form,calendar,graph,pivot" + context="{ + 'search_default_future':1, + }" /> @@ -287,79 +293,72 @@ + + + + + + + + - - - - - - - - - + + + pms.checkin.partner.view.calendar + pms.checkin.partner + + + + + + + + + + + + + pms.checkin.partner.pivot + pms.checkin.partner + + + + + + + + + pms.checkin.partner.graph + pms.checkin.partner + + + + + + diff --git a/pms/views/pms_folio_views.xml b/pms/views/pms_folio_views.xml index cccfab938..cf6b79ba5 100644 --- a/pms/views/pms_folio_views.xml +++ b/pms/views/pms_folio_views.xml @@ -41,6 +41,19 @@
+