blob: 78228b13eb869ad0eebb7ce4557ddadd332d4f02 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class FleetVehicle(models.Model):
_inherit = 'fleet.vehicle'
mobility_card = fields.Char(compute='_compute_mobility_card', store=True)
@api.depends('driver_id')
def _compute_mobility_card(self):
for vehicle in self:
employee = self.env['hr.employee']
if vehicle.driver_id:
employee = employee.search([('address_home_id', '=', vehicle.driver_id.id)], limit=1)
if not employee:
employee = employee.search([('user_id.partner_id', '=', vehicle.driver_id.id)], limit=1)
vehicle.mobility_card = employee.mobility_card
class HrEmployee(models.Model):
_inherit = "hr.employee"
def write(self, vals):
res = super().write(vals)
if 'mobility_card' in vals:
vehicles = self.env['fleet.vehicle'].search([('driver_id', 'in', (self.user_id.partner_id | self.sudo().address_home_id).ids)])
vehicles._compute_mobility_card()
return res
|