[FIX] hr: search method of member_of_department
Before this commit, when the parameters given to the `_search_part_of_department` is: - `operator='!='` - `value=False` Then the domain returned by the method does not take into account the False value. This commit fixes the issue by changing the `=` into `!=` when the value is False instead of changing `!=` into `=` when the value is False. closes odoo/odoo#108589 X-original-commit: 814cdc9a7bccf4dca1cf93403295cf1280ca6c10 Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com> Signed-off-by: Kevin Baptiste <kba@odoo.com> Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This commit is contained in:
committed by
Kevin Baptiste
parent
ec201d2205
commit
b34c458311
@@ -92,7 +92,7 @@ class HrEmployeeBase(models.AbstractModel):
|
||||
raise UserError(_('Operation not supported'))
|
||||
# Double negation
|
||||
if not value:
|
||||
operator = '=' if operator == '!=' else '='
|
||||
operator = '!=' if operator == '=' else '='
|
||||
if not self.env.user.employee_id.department_id:
|
||||
return [('id', operator, self.env.user.employee_id.id)]
|
||||
return (['!'] if operator == '!=' else []) + [('department_id', 'child_of', self.env.user.employee_id.department_id.id)]
|
||||
|
||||
@@ -124,6 +124,19 @@ class TestHrEmployee(TestHrCommon):
|
||||
self.assertTrue(emp_sub_sub.member_of_department)
|
||||
self.assertFalse(emp_other.member_of_department)
|
||||
self.assertFalse(emp_parent.member_of_department)
|
||||
employees = emp + emp_sub + emp_sub_sub + emp_other + emp_parent
|
||||
self.assertEqual(
|
||||
employees.filtered_domain(employees._search_part_of_department('=', True)),
|
||||
emp + emp_sub + emp_sub_sub)
|
||||
self.assertEqual(
|
||||
employees.filtered_domain(employees._search_part_of_department('!=', False)),
|
||||
emp + emp_sub + emp_sub_sub)
|
||||
self.assertEqual(
|
||||
employees.filtered_domain(employees._search_part_of_department('=', False)),
|
||||
emp_other + emp_parent)
|
||||
self.assertEqual(
|
||||
employees.filtered_domain(employees._search_part_of_department('!=', True)),
|
||||
emp_other + emp_parent)
|
||||
|
||||
def test_employee_create_from_user(self):
|
||||
employee = self.env['hr.employee'].create({
|
||||
|
||||
Reference in New Issue
Block a user