diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py index f22dfe7..ffca892 100755 --- a/cor_custom/models/analytic.py +++ b/cor_custom/models/analytic.py @@ -224,3 +224,17 @@ class AccountAnalyticLine(models.Model): for rec in self: if rec.start_datetime: rec.date = rec.start_datetime.date() + + @api.constrains('start_datetime', 'end_datetime', 'employee_id') + def _check_date(self): + for entry in self.filtered('employee_id'): + domain = [ + ('start_datetime', '<', entry.end_datetime), + ('end_datetime', '>', entry.start_datetime), + ('employee_id', '=', entry.employee_id.id), + ('id', '!=', entry.id), + ] + entries = self.search_count(domain) + if entries: + raise ValidationError( + _('You can not set 2 timesheet entries that overlaps on the same day for the same employee.'))