diff --git a/pms_api_rest/datamodels/pms_folio.py b/pms_api_rest/datamodels/pms_folio.py index 12aeae4ed..735630669 100644 --- a/pms_api_rest/datamodels/pms_folio.py +++ b/pms_api_rest/datamodels/pms_folio.py @@ -38,6 +38,8 @@ class PmsFolioInfo(Datamodel): internalComment = fields.String(required=False, allow_none=True) # REVIEW: Mail workflow folio sendConfirmationMail = fields.Boolean(required=False, allow_none=True) + cancelReservations = fields.Boolean(required=False, allow_none=True) + confirmReservations = fields.Boolean(required=False, allow_none=True) invoiceStatus = fields.String(required=False, allow_none=True) diff --git a/pms_api_rest/services/pms_folio_service.py b/pms_api_rest/services/pms_folio_service.py index 2f74a16bc..62a3f384e 100644 --- a/pms_api_rest/services/pms_folio_service.py +++ b/pms_api_rest/services/pms_folio_service.py @@ -478,9 +478,13 @@ class PmsFolioService(Component): def update_folio(self, folio_id, pms_folio_info): folio = self.env["pms.folio"].browse(folio_id) folio_vals = {} - if folio: + if not folio: raise MissingError(_("Folio not found")) - + if pms_folio_info.cancelReservations: + folio.action_cancel() + if pms_folio_info.confirmReservations: + for reservation in folio.reservation_ids: + reservation.confirm() if pms_folio_info.internalComment is not None: folio_vals["internal_comment"]: pms_folio_info.internalComment