You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

41 lines
1.4 KiB

from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class Subscribe(models.TransientModel):
_name = "beesdoo.shift.holiday"
_description = "beesdoo.shift.holiday"
_inherit = "beesdoo.shift.action_mixin"
holiday_start_day = fields.Date(
string="Start date for the holiday", default=fields.Date.today
)
holiday_end_day = fields.Date(string="End date for the holiday (included)")
@api.multi
def holidays(self):
self = self._check() # maybe a different group
status_id = self.env["cooperative.status"].search(
[("cooperator_id", "=", self.cooperator_id.id)]
)
if (
status_id.holiday_end_time
and status_id.holiday_end_time >= status_id.today
):
raise ValidationError(
_(
"You cannot encode new holidays since the previous "
"holidays encoded are not over yet "
)
)
status_id.sudo().write(
{
"holiday_start_time": self.holiday_start_day,
"holiday_end_time": self.holiday_end_day,
}
)
self.env["beesdoo.shift.shift"].sudo().unsubscribe_from_today(
[self.cooperator_id.id],
today=self.holiday_start_day,
end_date=self.holiday_end_day,
)