[FIX] hr_attendance: not filter attendance without check out

Currently, an error occurs when the user tries to open an employees
who checks in but does not check out.

Steps to produce:
1. Install 'hr_attendance'
2. Open Attendence > Attendences > create new
3. Set check In date previous month and no add Check out
4. Open employees > try to open current user

Error:  `'<=' not supported between instances of 'bool' and 'datetime.datetime'`

This is because https://github.com/odoo/odoo/pull/140629 added [1] in the
filter, but in certain cases, the `att.check_out` may not be present.

This commit fixes the above issue by filtering attendees who have
a check-out date.

[1]-https://github.com/odoo/odoo/blob/46f2a019bd141389233257f24f0ddae05b0fa008/addons/hr_attendance/models/hr_employee.py#L82

sentry-4616207347

closes odoo/odoo#141771

X-original-commit: b0cb1ad7b43a296b91377df80b30cbd3976553b4
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
This commit is contained in:
Mahamadasif Ansari
2023-11-13 14:38:36 +00:00
committed by sofiagvaladze
parent fe20e29c1e
commit 679c813ec7
+1 -1
View File
@@ -101,7 +101,7 @@ class HrEmployee(models.Model):
hours = sum(
att.worked_hours or 0
for att in employee.attendance_ids.filtered(
lambda att: att.check_in >= start_naive and att.check_out <= end_naive
lambda att: att.check_in >= start_naive and att.check_out and att.check_out <= end_naive
)
)