diff options
| author | Nasreddin (bon) <bon@odoo.com> | 2020-06-09 10:15:49 +0000 |
|---|---|---|
| committer | Nasreddin (bon) <bon@odoo.com> | 2020-06-11 10:39:10 +0000 |
| commit | 8f2be8560e96b683d79b82eb43a186f5a2dac3cf (patch) | |
| tree | e7cd07038e4cfaa79389e435e6bee7d55baec185 /addons | |
| parent | 329b6c2409bdd344ea5f79261210e86d559dc175 (diff) | |
[FIX] fleet: User is set to "Plan To Change Car" when set as future driver
Issue
- Install "Fleet" app and open it
- Add new car with user X as driver and set state as "Registered".
- Add new car with user X as future driver and set state as
'Waiting list'
The user is set as "Plan To Change Car".
Cause
When a user is set to a new car as a future driver,
the user will automaticly be set as "Plan To Change Car".
Solution
Add condition to set as "Plan To Change Car" only if the user
new car state is not "Waiting List".
opw-2259606
closes odoo/odoo#52836
X-original-commit: 6d35733e61b1d8b18acc3510046423aec7fe1c85
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/fleet/models/fleet_vehicle.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/addons/fleet/models/fleet_vehicle.py b/addons/fleet/models/fleet_vehicle.py index b5ea75d4a71..97ada5ad8cd 100644 --- a/addons/fleet/models/fleet_vehicle.py +++ b/addons/fleet/models/fleet_vehicle.py @@ -204,8 +204,11 @@ class FleetVehicle(models.Model): if 'driver_id' in vals and vals['driver_id']: res.create_driver_history(vals['driver_id']) if 'future_driver_id' in vals and vals['future_driver_id']: - future_driver = self.env['res.partner'].browse(vals['future_driver_id']) - future_driver.sudo().write({'plan_to_change_car': True}) + state_waiting_list = self.env.ref('fleet.fleet_vehicle_state_waiting_list', raise_if_not_found=False) + states = res.mapped('state_id').ids + if not state_waiting_list or state_waiting_list.id not in states: + future_driver = self.env['res.partner'].browse(vals['future_driver_id']) + future_driver.sudo().write({'plan_to_change_car': True}) return res def write(self, vals): @@ -214,8 +217,11 @@ class FleetVehicle(models.Model): self.filtered(lambda v: v.driver_id.id != driver_id).create_driver_history(driver_id) if 'future_driver_id' in vals and vals['future_driver_id']: - future_driver = self.env['res.partner'].browse(vals['future_driver_id']) - future_driver.sudo().write({'plan_to_change_car': True}) + state_waiting_list = self.env.ref('fleet.fleet_vehicle_state_waiting_list', raise_if_not_found=False) + states = self.mapped('state_id').ids if 'state_id' not in vals else [vals['state_id']] + if not state_waiting_list or state_waiting_list.id not in states: + future_driver = self.env['res.partner'].browse(vals['future_driver_id']) + future_driver.sudo().write({'plan_to_change_car': True}) res = super(FleetVehicle, self).write(vals) if 'active' in vals and not vals['active']: |
