27 lines
1.1 KiB
Python

from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
class ReservationHoliday(models.Model):
_name = 'reservation.holiday'
_description = 'Reservation Holiday/Override'
_order = 'date desc'
name = fields.Char(string='Description', required=True, placeholder="e.g. Christmas Day")
date = fields.Date(string='Date', required=True)
is_closed = fields.Boolean(string='Closed for Reservations', default=True)
opening_time = fields.Float(string='Override Opening Time', help="Leave empty to use regular schedule if not closed")
closing_time = fields.Float(string='Override Closing Time')
@api.constrains('opening_time', 'closing_time', 'is_closed')
def _check_times(self):
for rec in self:
if not rec.is_closed and (rec.opening_time or rec.closing_time):
if rec.opening_time >= rec.closing_time:
raise ValidationError(_("Override Opening time must be before closing time."))
_sql_constraints = [
('date_unique', 'unique(date)', 'An override for this date already exists!')
]