diff --git a/addons/hr_holidays/models/hr_leave_type.py b/addons/hr_holidays/models/hr_leave_type.py index 4093f0d66dff8..44c72709a2775 100644 --- a/addons/hr_holidays/models/hr_leave_type.py +++ b/addons/hr_holidays/models/hr_leave_type.py @@ -283,7 +283,7 @@ def _search_virtual_remaining_leaves(self, operator, value): leave_types = self.env['hr.leave.type'].search([]) def is_valid(leave_type): - return not leave_type.requires_allocation or op(leave_type.virtual_remaining_leaves) + return not leave_type.requires_allocation or op(leave_type.virtual_remaining_leaves, value) return [('id', 'in', leave_types.filtered(is_valid).ids)] @api.depends_context('employee_id', 'default_employee_id', 'leave_date_from', 'default_date_from') diff --git a/addons/hr_holidays/tests/test_hr_leave_type.py b/addons/hr_holidays/tests/test_hr_leave_type.py index b7732013987c5..64d7bbd9fdecd 100644 --- a/addons/hr_holidays/tests/test_hr_leave_type.py +++ b/addons/hr_holidays/tests/test_hr_leave_type.py @@ -114,3 +114,12 @@ def test_users_tz_shift_back(self): ).search([('has_valid_allocation', '=', True)], limit=1) self.assertFalse(leave_types, "Got valid leaves outside vaild period") + + def test_search_virtual_remaining_leaves(self): + self.env['hr.leave.type'].create({ + 'name': 'virtual_remaining_leaves_testing_type', + 'time_type': 'leave', + 'requires_allocation': True, + }) + + self.assertIn('virtual_remaining_leaves_testing_type', self.env['hr.leave.type'].search(domain=[('virtual_remaining_leaves', '>', -1)]).mapped('name'))