diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index e4c1d5649..cbee96c30 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -160,6 +160,7 @@ class PmsCheckinPartner(models.Model): record.update(vals) if record.reservation_id.state == "confirm": record.reservation_id.state = "onboard" + # keep the checkin reservations popup open to checkin reservation hosts if self._context.get("popup"): self.ensure_one() kanban_id = self.env.ref("pms.pms_checkin_partner_kanban_view").id @@ -178,12 +179,10 @@ class PmsCheckinPartner(models.Model): } def action_done(self): - for record in self: - if record.state == "onboard": - hour = record._get_departure_hour() - vals = { - "state": "done", - "departure_hour": hour, - } - record.update(vals) + for record in self.filtered(lambda c: c.state == "onboard"): + vals = { + "state": "done", + "arrival": fields.Datetime.now(), + } + record.update(vals) return True diff --git a/pms/models/pms_reservation.py b/pms/models/pms_reservation.py index 70bcf692a..40c261508 100644 --- a/pms/models/pms_reservation.py +++ b/pms/models/pms_reservation.py @@ -1308,7 +1308,7 @@ class PmsReservation(models.Model): "edit": True, "popup": True, }, - "domain": [("reservation_id", "=", self.id), ("state", "=", "precheckin")], + "domain": [("reservation_id", "=", self.id)], "target": "new", } diff --git a/pms/views/pms_checkin_partner_views.xml b/pms/views/pms_checkin_partner_views.xml index b9fbf1eb8..a166885ab 100644 --- a/pms/views/pms_checkin_partner_views.xml +++ b/pms/views/pms_checkin_partner_views.xml @@ -19,6 +19,9 @@ pms.checkin.partner + + + @@ -35,7 +38,6 @@ - @@ -161,50 +163,12 @@ - - + - - - - - - - - - - - - + widget="label_selection" + options="{'classes': {'draft': 'default', 'precheckin': 'info', 'onboard': 'warning', 'onboard': 'success', 'done': 'secondary'}}" + />