diff --git a/addons/hr_fleet/controllers/main.py b/addons/hr_fleet/controllers/main.py index 0a27163c3cd..953358035b6 100644 --- a/addons/hr_fleet/controllers/main.py +++ b/addons/hr_fleet/controllers/main.py @@ -19,11 +19,11 @@ class HrFleet(Controller): return request.not_found() employee = request.env['hr.employee'].search([('id', '=', employee_id)], limit=1) - partner_id = employee.user_id.partner_id.id - if not employee or not partner_id: + partner_ids = (employee.user_id.partner_id | employee.address_home_id).ids + if not employee or not partner_ids: return request.not_found() - car_assignation_logs = request.env['fleet.vehicle.assignation.log'].search([('driver_id', '=', partner_id)]) + car_assignation_logs = request.env['fleet.vehicle.assignation.log'].search([('driver_id', 'in', partner_ids)]) doc_list = request.env['ir.attachment'].search([ ('res_model', '=', 'fleet.vehicle.assignation.log'), ('res_id', 'in', car_assignation_logs.ids)], order='create_date') diff --git a/addons/hr_fleet/models/employee.py b/addons/hr_fleet/models/employee.py index 57c7441e732..998de7f8661 100644 --- a/addons/hr_fleet/models/employee.py +++ b/addons/hr_fleet/models/employee.py @@ -12,7 +12,7 @@ class Employee(models.Model): def action_open_employee_cars(self): self.ensure_one() cars = self.env['fleet.vehicle.assignation.log'].search([ - ('driver_id', '=', self.user_id.partner_id.id)]).mapped('vehicle_id') + ('driver_id', 'in', (self.user_id.partner_id | self.address_home_id).ids)]).mapped('vehicle_id') return { "type": "ir.actions.act_window", @@ -23,12 +23,12 @@ class Employee(models.Model): } def _compute_employee_cars_count(self): - driver_ids = self.mapped('user_id.partner_id').ids + driver_ids = (self.mapped('user_id.partner_id') | self.mapped('address_home_id')).ids fleet_data = self.env['fleet.vehicle.assignation.log'].read_group( domain=[('driver_id', 'in', driver_ids)], fields=['driver_id'], groupby=['driver_id']) mapped_data = dict([(m['driver_id'][0], m['driver_id_count']) for m in fleet_data]) for employee in self: - employee.employee_cars_count = mapped_data.get(employee.user_id.partner_id.id, 0) + employee.employee_cars_count = mapped_data.get(employee.user_id.partner_id.id, 0) + mapped_data.get(employee.address_home_id.id, 0) def action_get_claim_report(self): self.ensure_one()