diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index ac21121d8..b0743f28e 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -855,6 +855,15 @@ class PmsCheckinPartner(models.Model): record.update(vals) return True + def action_undo_onboard(self): + for record in self.filtered(lambda c: c.state == "onboard"): + vals = { + "state": "precheckin", + "arrival": False, + } + record.update(vals) + return True + def open_partner(self): """Utility method used to add an "View Customer" button in checkin partner views""" self.ensure_one() diff --git a/pms/models/pms_reservation.py b/pms/models/pms_reservation.py index 8a3275930..a5b453457 100644 --- a/pms/models/pms_reservation.py +++ b/pms/models/pms_reservation.py @@ -2441,6 +2441,15 @@ class PmsReservation(models.Model): ).action_done() return True + def action_undo_onboard(self): + for record in self: + # Undo onboard all checkin partners: + record.checkin_partner_ids.filtered( + lambda check: check.state == "onboard" + ).action_undo_onboard() + record.state = "confirm" + return True + def action_checkin_partner_view(self): self.ensure_one() tree_id = self.env.ref("pms.pms_checkin_partner_reservation_view_tree").id