[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>
This commit is contained in:
@@ -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']:
|
||||
|
||||
Reference in New Issue
Block a user