From 8897a601e8880c9c89aa47cdd3e397a0188db735 Mon Sep 17 00:00:00 2001 From: Samir Ladoui Date: Mon, 4 Aug 2025 09:06:57 +0100 Subject: [PATCH] [FIX] exp_official_mission --- .../models/hr_official_mission.py | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/odex25_hr/exp_official_mission/models/hr_official_mission.py b/odex25_hr/exp_official_mission/models/hr_official_mission.py index 2583368cd..1ac2d5cfb 100644 --- a/odex25_hr/exp_official_mission/models/hr_official_mission.py +++ b/odex25_hr/exp_official_mission/models/hr_official_mission.py @@ -1628,23 +1628,19 @@ class HrEmployee(models.Model): ('training', _('Training')), ('others', _('others'))], 'Work Status', default='work') + def get_employee_mission(self): for item in self: - item.mission_count = 0 - item.training_count = 0 - training = item.env['hr.official.mission'].search( - [('process_type', '=', 'training'), ('state', '=', 'approve')]) - mission = item.env['hr.official.mission'].search( - [('process_type', '=', 'mission'), ('state', '=', 'approve')]) - for tra in training: - for emp in tra.sudo().employee_ids: - if emp.sudo().employee_id.name == item.name: - item.training_count = len(tra) - return tra - for mi in mission: - for em in mi.sudo().employee_ids: - if em.sudo().employee_id.name == item.name: - item.mission_count = len(mi) + item.mission_count = item.env['hr.official.mission.employee'].search_count([ + ('official_mission_id.process_type', '=', 'mission'), + ('official_mission_id.state', '=', 'approve'), + ('employee_id', '=', item.id) + ]) + item.training_count = item.env['hr.official.mission.employee'].search_count([ + ('official_mission_id.process_type', '=', 'training'), + ('official_mission_id.state', '=', 'approve'), + ('employee_id', '=', item.id) + ]) def get_employee_active_mission(self): today = fields.Date.today()