27 lines
1.1 KiB
Python
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!')
|
|
]
|