diff --git a/pms/models/pms_property.py b/pms/models/pms_property.py index 1b0c055cb..63ff0ee50 100644 --- a/pms/models/pms_property.py +++ b/pms/models/pms_property.py @@ -237,6 +237,11 @@ class PmsProperty(models.Model): string="Image in checkin", default=get_default_logo(), ) + block_create_past_reservations = fields.Boolean( + string="Block Create Past Reservations", + help="Block the creation of reservations in the past", + default=False, + ) @api.depends_context( "checkin", diff --git a/pms/models/pms_reservation_line.py b/pms/models/pms_reservation_line.py index 56d334c06..2ef76e172 100644 --- a/pms/models/pms_reservation_line.py +++ b/pms/models/pms_reservation_line.py @@ -570,3 +570,10 @@ class PmsReservationLine(models.Model): ) if duplicated: raise ValidationError(_("Duplicated reservation line date")) + + @api.constrains("date") + def _check_past_reservations(self): + for record in self: + if record.pms_property_id.block_create_past_reservations: + if record.date < fields.Date.today(): + raise ValidationError(_("You can't create past reservations")) diff --git a/pms/views/pms_property_views.xml b/pms/views/pms_property_views.xml index b70761089..415f26032 100644 --- a/pms/views/pms_property_views.xml +++ b/pms/views/pms_property_views.xml @@ -74,6 +74,9 @@ > + + +