summaryrefslogtreecommitdiff
path: root/addons/hr_fleet/models/employee.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-01-28 13:58:11 +0000
committerChristophe Simonis <chs@odoo.com>2019-01-28 13:58:11 +0000
commitcf52a04979d7634908c2f0d8eb6a83b7dd614f64 (patch)
tree2f8c25f3fab45268400c4ac6addfa15f1f2d37f0 /addons/hr_fleet/models/employee.py
parentcd1f57e9ded2e8ca81d7290e4b5b95a8776045c6 (diff)
parentd3b8422c9c44557256836bdc0da5480f553eec4d (diff)
[MERGE] forward port branch saas-12.1 up to d3b8422c9c4
closes odoo/odoo#30614
Diffstat (limited to 'addons/hr_fleet/models/employee.py')
-rw-r--r--addons/hr_fleet/models/employee.py9
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()