From d4674489f254ed610067b4dc125001f6aa8eb884 Mon Sep 17 00:00:00 2001 From: micheledic Date: Fri, 29 Mar 2024 11:27:48 +0100 Subject: [PATCH] [FIX] hr: fix TypeError: '>' not supported between instances of 'bool' and 'datetime.datetime' if there the new_hire_field is False, an error appear. This Commit will check that the field is not false closes odoo/odoo#159859 Signed-off-by: Yannick Tivisse (yti) --- addons/hr/models/hr_employee_base.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/addons/hr/models/hr_employee_base.py b/addons/hr/models/hr_employee_base.py index 3d72e397501..ea961480ec9 100644 --- a/addons/hr/models/hr_employee_base.py +++ b/addons/hr/models/hr_employee_base.py @@ -4,7 +4,7 @@ from ast import literal_eval from pytz import timezone, UTC, utc -from datetime import timedelta +from datetime import timedelta, datetime from odoo import _, api, fields, models from odoo.exceptions import UserError @@ -74,7 +74,12 @@ class HrEmployeeBase(models.AbstractModel): new_hire_field = self._get_new_hire_field() new_hire_date = fields.Datetime.now() - timedelta(days=90) for employee in self: - employee.newly_hired = employee[new_hire_field] > new_hire_date + if not employee[new_hire_field]: + employee.newly_hired = False + elif not isinstance(employee[new_hire_field], datetime): + employee.newly_hired = employee[new_hire_field] > new_hire_date.date() + else: + employee.newly_hired = employee[new_hire_field] > new_hire_date def _search_newly_hired(self, operator, value): new_hire_field = self._get_new_hire_field()