diff --git a/addons/hr_timesheet/models/project_project.py b/addons/hr_timesheet/models/project_project.py index 6e0a54c96e6..c5b200f3396 100644 --- a/addons/hr_timesheet/models/project_project.py +++ b/addons/hr_timesheet/models/project_project.py @@ -96,12 +96,16 @@ class Project(models.Model): raise ValueError(_('Invalid operator: %s') % operator) query = """ - SELECT P.id - FROM project_project P - LEFT JOIN project_task T ON P.id = T.project_id - WHERE p.allocated_hours != 0 AND p.allow_timesheets - GROUP BY P.id - HAVING P.allocated_hours - SUM(T.effective_hours) < 0 + SELECT Project.id + FROM project_project AS Project + JOIN project_task AS Task + ON Project.id = Task.project_id + WHERE Project.allocated_hours > 0 + AND Project.allow_timesheets = TRUE + AND Task.parent_id IS NULL + AND Task.is_closed IS FALSE + GROUP BY Project.id + HAVING Project.allocated_hours - SUM(Task.effective_hours) < 0 """ if (operator == '=' and value is True) or (operator == '!=' and value is False): operator_new = 'inselect'