From 9c6f20a8537a55557688e9fcc28d32ac797b055e Mon Sep 17 00:00:00 2001 From: Kevin Baptiste Date: Tue, 5 Jul 2022 15:03:51 +0000 Subject: [PATCH] [FIX] fleet: properly archive Contract/Services When archiving a vehicle, the active state of its Contracts/Services were toggled, which was confusing (an archived Contract would suddently become unarchived on an archived vehicle). Now we only archive the Contracts/Services when the Vehicle is archived, and no unarchiving is done. task-2898104 closes odoo/odoo#95650 X-original-commit: 0be40d67c28b8575613f59ca5b4d8d6ea99638cb Signed-off-by: Kevin Baptiste --- addons/fleet/models/fleet_vehicle.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/fleet/models/fleet_vehicle.py b/addons/fleet/models/fleet_vehicle.py index 06d17958fc0..5a60a8de697 100644 --- a/addons/fleet/models/fleet_vehicle.py +++ b/addons/fleet/models/fleet_vehicle.py @@ -316,6 +316,10 @@ class FleetVehicle(models.Model): if self.vehicle_type == 'car': future_driver.sudo().write({'plan_to_change_car': True}) + if 'active' in vals and not vals['active']: + self.env['fleet.vehicle.log.contract'].search([('vehicle_id', 'in', self.ids)]).active = False + self.env['fleet.vehicle.log.services'].search([('vehicle_id', 'in', self.ids)]).active = False + res = super(FleetVehicle, self).write(vals) return res @@ -347,11 +351,6 @@ class FleetVehicle(models.Model): vehicle.driver_id = vehicle.future_driver_id vehicle.future_driver_id = False - def toggle_active(self): - self.env['fleet.vehicle.log.contract'].with_context(active_test=False).search([('vehicle_id', 'in', self.ids)]).toggle_active() - self.env['fleet.vehicle.log.services'].with_context(active_test=False).search([('vehicle_id', 'in', self.ids)]).toggle_active() - super(FleetVehicle, self).toggle_active() - @api.model def _read_group_stage_ids(self, stages, domain, order): return self.env['fleet.vehicle.state'].search([], order=order)