diff --git a/hr_employee_calendar_planning/__manifest__.py b/hr_employee_calendar_planning/__manifest__.py index 606c79f65191..02025bedad4d 100644 --- a/hr_employee_calendar_planning/__manifest__.py +++ b/hr_employee_calendar_planning/__manifest__.py @@ -9,7 +9,11 @@ "license": "AGPL-3", "installable": True, "depends": ["hr"], - "data": ["security/ir.model.access.csv", "views/hr_employee_views.xml"], + "data": [ + "security/ir.model.access.csv", + "views/hr_employee_views.xml", + "views/resource_calendar_views.xml", + ], "post_init_hook": "post_init_hook", "maintainers": ["victoralmau", "pedrobaeza"], } diff --git a/hr_employee_calendar_planning/models/resource_calendar.py b/hr_employee_calendar_planning/models/resource_calendar.py index 718e6e9b1e69..3e21a6567847 100644 --- a/hr_employee_calendar_planning/models/resource_calendar.py +++ b/hr_employee_calendar_planning/models/resource_calendar.py @@ -11,12 +11,18 @@ class ResourceCalendar(models.Model): active = fields.Boolean(default=True) auto_generate = fields.Boolean() + employee_calendar_ids = fields.One2many("hr.employee.calendar", "calendar_id") @api.constrains("active") def _check_active(self): for item in self: total_items = self.env["hr.employee.calendar"].search_count( - [("calendar_id", "=", item.id)] + [ + ("calendar_id", "=", item.id), + "|", + ("date_end", "=", False), + ("date_end", "<=", fields.Date.today()), + ] ) if total_items: raise ValidationError( diff --git a/hr_employee_calendar_planning/views/resource_calendar_views.xml b/hr_employee_calendar_planning/views/resource_calendar_views.xml new file mode 100644 index 000000000000..83f86bf9feec --- /dev/null +++ b/hr_employee_calendar_planning/views/resource_calendar_views.xml @@ -0,0 +1,23 @@ + + + + + resource.calendar + + + + + + + + + + + + + + + + +