From 41b6e9b08686e295bf2152ff6837799235db45ce Mon Sep 17 00:00:00 2001 From: Eric Antones Date: Tue, 22 Jun 2021 10:06:56 +0200 Subject: [PATCH] [FIX] pms: minor bugfixes --- pms/models/folio_sale_line.py | 2 +- pms/models/pms_folio.py | 37 +++++++++++++++++++---------------- pms/views/pms_folio_views.xml | 14 +++++++++++++ 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/pms/models/folio_sale_line.py b/pms/models/folio_sale_line.py index f2bc50420..5910bd8af 100644 --- a/pms/models/folio_sale_line.py +++ b/pms/models/folio_sale_line.py @@ -450,7 +450,7 @@ class FolioSaleLine(models.Model): currency=line.folio_id.currency_id, quantity=line.product_uom_qty, product=line.product_id, - partner=line.folio_id.partner_shipping_id, + partner=line.folio_id.partner_id, )["total_excluded"] if any( diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index d1258ce8c..1e0d152c3 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -63,6 +63,12 @@ class PmsFolio(models.Model): store="True", compute="_compute_number_of_rooms", ) + number_of_cancelled_rooms = fields.Integer( + string="Number of Cancelled Rooms", + help="Number of cancelled rooms in folio.", + store="True", + compute="_compute_number_of_cancelled_rooms", + ) number_of_services = fields.Integer( string="Number of Services", help="Number of services in the folio", @@ -203,10 +209,6 @@ class PmsFolio(models.Model): store=True, compute="_compute_count_rooms_pending_arrival", ) - checkins_ratio = fields.Integer( - string="Pending Arrival Ratio", - compute="_compute_checkins_ratio", - ) pending_checkin_data = fields.Integer( string="Checkin Data", compute="_compute_pending_checkin_data", @@ -396,14 +398,6 @@ class PmsFolio(models.Model): compute="_compute_amount_all", tracking=True, ) - reservation_pending_arrival_ids = fields.One2many( - string="Pending Arrival Rooms", - comodel_name="pms.checkin.partner", - compute="_compute_reservations_pending_arrival", - ) - reservations_pending_count = fields.Integer( - compute="_compute_reservations_pending_arrival" - ) max_reservation_priority = fields.Integer( string="Max reservation priority on the entire folio", help="Max reservation priority on the entire folio", @@ -581,6 +575,13 @@ class PmsFolio(models.Model): folio.reservation_ids.filtered(lambda a: a.state != "cancelled") ) + @api.depends("reservation_ids", "reservation_ids.state") + def _compute_number_of_cancelled_rooms(self): + for folio in self: + folio.number_of_cancelled_rooms = len( + folio.reservation_ids.filtered(lambda a: a.state == "cancelled") + ) + @api.depends("service_ids", "service_ids.product_qty") def _compute_number_of_services(self): for folio in self: @@ -1132,11 +1133,13 @@ class PmsFolio(models.Model): return True def action_confirm(self): - for folio in self.filtered( - lambda folio: folio.partner_id not in folio.message_partner_ids - ): - folio.message_subscribe([folio.partner_id.id]) - self.write({"state": "confirm", "confirmation_date": fields.Datetime.now()}) + self.filtered(lambda x: x.state != "confirm").write( + {"state": "confirm", "confirmation_date": fields.Datetime.now()} + ) + + if self.env.context.get("confirm_all_reservations"): + self.reservation_ids.confirm() + # if self.env.context.get('send_email'): # self.force_quotation_send() diff --git a/pms/views/pms_folio_views.xml b/pms/views/pms_folio_views.xml index ec74d0327..109711ac2 100644 --- a/pms/views/pms_folio_views.xml +++ b/pms/views/pms_folio_views.xml @@ -71,6 +71,20 @@ string="Rooms" /> +