summaryrefslogtreecommitdiff
path: root/addons/fleet
diff options
context:
space:
mode:
authorNasreddin (bon) <bon@odoo.com>2020-06-09 10:15:49 +0000
committerNasreddin (bon) <bon@odoo.com>2020-06-11 10:39:10 +0000
commit8f2be8560e96b683d79b82eb43a186f5a2dac3cf (patch)
treee7cd07038e4cfaa79389e435e6bee7d55baec185 /addons/fleet
parent329b6c2409bdd344ea5f79261210e86d559dc175 (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/fleet')
-rw-r--r--addons/fleet/models/fleet_vehicle.py14
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']: