diff options
Diffstat (limited to 'addons/hr_fleet/models/employee.py')
| -rw-r--r-- | addons/hr_fleet/models/employee.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/addons/hr_fleet/models/employee.py b/addons/hr_fleet/models/employee.py index 998de7f8661..dc0d6c214d1 100644 --- a/addons/hr_fleet/models/employee.py +++ b/addons/hr_fleet/models/employee.py @@ -7,12 +7,12 @@ from odoo import fields, models class Employee(models.Model): _inherit = 'hr.employee' - employee_cars_count = fields.Integer(compute="_compute_employee_cars_count", string="Cars", group="fleet_manager") + employee_cars_count = fields.Integer(compute="_compute_employee_cars_count", string="Cars", groups="fleet.fleet_group_manager") def action_open_employee_cars(self): self.ensure_one() cars = self.env['fleet.vehicle.assignation.log'].search([ - ('driver_id', 'in', (self.user_id.partner_id | self.address_home_id).ids)]).mapped('vehicle_id') + ('driver_id', 'in', (self.user_id.partner_id | self.sudo().address_home_id).ids)]).mapped('vehicle_id') return { "type": "ir.actions.act_window", @@ -23,12 +23,13 @@ class Employee(models.Model): } def _compute_employee_cars_count(self): - driver_ids = (self.mapped('user_id.partner_id') | self.mapped('address_home_id')).ids + driver_ids = (self.mapped('user_id.partner_id') | self.sudo().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) + mapped_data.get(employee.address_home_id.id, 0) + drivers = employee.user_id.partner_id | employee.sudo().address_home_id + employee.employee_cars_count = sum(mapped_data.get(pid, 0) for pid in drivers.ids) def action_get_claim_report(self): self.ensure_one() |
