diff --git a/addons/hr/models/hr_employee.py b/addons/hr/models/hr_employee.py index da7e57f20e3..93817bc75c6 100644 --- a/addons/hr/models/hr_employee.py +++ b/addons/hr/models/hr_employee.py @@ -120,6 +120,7 @@ class HrEmployeePrivate(models.Model): message_main_attachment_id = fields.Many2one(groups="hr.group_hr_user") id_card = fields.Binary(string="ID Card Copy", groups="hr.group_hr_user") driving_license = fields.Binary(string="Driving License", groups="hr.group_hr_user") + private_car_plate = fields.Char(groups="hr.group_hr_user", help="If you have more than one car, just separate the plates by a space.") _sql_constraints = [ ('barcode_uniq', 'unique (barcode)', "The Badge ID must be unique, this one is already assigned to another employee."), diff --git a/addons/hr/views/hr_employee_public_views.xml b/addons/hr/views/hr_employee_public_views.xml index adc59f9edaf..cd627019ecf 100644 --- a/addons/hr/views/hr_employee_public_views.xml +++ b/addons/hr/views/hr_employee_public_views.xml @@ -8,10 +8,12 @@ - - + + + + - + @@ -22,10 +24,6 @@ - - - - diff --git a/addons/hr/views/hr_employee_views.xml b/addons/hr/views/hr_employee_views.xml index 91079577d61..105ae341f90 100644 --- a/addons/hr/views/hr_employee_views.xml +++ b/addons/hr/views/hr_employee_views.xml @@ -8,9 +8,14 @@ - - + + + + + + + @@ -31,10 +36,6 @@ - - - - @@ -147,6 +148,9 @@ Km + + + diff --git a/addons/hr_fleet/models/employee.py b/addons/hr_fleet/models/employee.py index b1e1ad67783..de98725a292 100644 --- a/addons/hr_fleet/models/employee.py +++ b/addons/hr_fleet/models/employee.py @@ -13,6 +13,7 @@ class Employee(models.Model): 'fleet.vehicle', 'driver_employee_id', string='Vehicles (private)', groups="fleet.fleet_group_manager,hr.group_hr_user", ) + license_plate = fields.Char(compute="_compute_license_plate", search="_search_license_plate") mobility_card = fields.Char(groups="fleet.fleet_group_user") def action_open_employee_cars(self): @@ -27,6 +28,18 @@ class Employee(models.Model): "name": "History Employee Cars", } + @api.depends('private_car_plate', 'car_ids.license_plate') + def _compute_license_plate(self): + for employee in self: + if employee.private_car_plate and employee.car_ids.license_plate: + employee.license_plate = ' '.join([employee.car_ids.license_plate, employee.private_car_plate]) + else: + employee.license_plate = employee.car_ids.license_plate or employee.private_car_plate + + def _search_license_plate(self, operator, value): + employees = self.env['hr.employee'].search(['|', ('car_ids.license_plate', operator, value), ('private_car_plate', operator, value)]) + return [('id', 'in', employees.ids)] + def _compute_employee_cars_count(self): rg = self.env['fleet.vehicle.assignation.log']._read_group([ ('driver_employee_id', 'in', self.ids), diff --git a/addons/hr_fleet/views/employee_views.xml b/addons/hr_fleet/views/employee_views.xml index 8decc02b63f..c16279a1457 100644 --- a/addons/hr_fleet/views/employee_views.xml +++ b/addons/hr_fleet/views/employee_views.xml @@ -28,9 +28,8 @@ hr.employee - - + + diff --git a/addons/hr_skills/views/hr_views.xml b/addons/hr_skills/views/hr_views.xml index e0d1eaae6b4..724dd6ca1c9 100644 --- a/addons/hr_skills/views/hr_views.xml +++ b/addons/hr_skills/views/hr_views.xml @@ -21,7 +21,7 @@ hr.employee.public - +