diff --git a/addons/fleet/models/fleet_vehicle.py b/addons/fleet/models/fleet_vehicle.py
index a74add5e386..fc880e94d49 100644
--- a/addons/fleet/models/fleet_vehicle.py
+++ b/addons/fleet/models/fleet_vehicle.py
@@ -58,7 +58,7 @@ class FleetVehicle(models.Model):
location = fields.Char(help='Location of the vehicle (garage, ...)')
seats = fields.Integer('Seats Number', help='Number of seats of the vehicle')
model_year = fields.Char('Model Year', help='Year of the model')
- doors = fields.Integer('Doors Number', help='Number of doors of the vehicle', default=5)
+ doors = fields.Integer('Doors Number', help='Number of doors of the vehicle', compute="_compute_doors", store=True, readonly=True)
tag_ids = fields.Many2many('fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags', copy=False)
odometer = fields.Float(compute='_get_odometer', inverse='_set_odometer', string='Last Odometer',
help='Odometer measure of the vehicle at the moment of this log')
@@ -89,7 +89,16 @@ class FleetVehicle(models.Model):
net_car_value = fields.Float(string="Purchase Value", help="Purchase value of the vehicle")
residual_value = fields.Float()
plan_to_change_car = fields.Boolean(related='driver_id.plan_to_change_car', store=True, readonly=False)
+ plan_to_change_bike = fields.Boolean(related='driver_id.plan_to_change_bike', store=True, readonly=False)
vehicle_type = fields.Selection(related='model_id.vehicle_type')
+ frame_type = fields.Selection([('diamant', 'Diamant'), ('trapez', 'Trapez'), ('wave', 'Wave')], help="Frame type of the bike")
+ electric_assistance = fields.Boolean()
+ frame_size = fields.Float()
+
+ @api.depends('vehicle_type')
+ def _compute_doors(self):
+ for record in self:
+ record.doors = 5 if record.model_id.vehicle_type == 'car' else 0
@api.depends('model_id.brand_id.name', 'model_id.name', 'license_plate')
def _compute_vehicle_name(self):
@@ -208,7 +217,10 @@ class FleetVehicle(models.Model):
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})
+ if self.vehicle_type == 'bike':
+ future_driver.sudo().write({'plan_to_change_bike': True})
+ if self.vehicle_type == 'car':
+ future_driver.sudo().write({'plan_to_change_car': True})
return res
def write(self, vals):
@@ -221,7 +233,10 @@ class FleetVehicle(models.Model):
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})
+ if self.vehicle_type == 'bike':
+ future_driver.sudo().write({'plan_to_change_bike': True})
+ if self.vehicle_type == 'car':
+ future_driver.sudo().write({'plan_to_change_car': True})
res = super(FleetVehicle, self).write(vals)
if 'active' in vals and not vals['active']:
@@ -252,7 +267,10 @@ class FleetVehicle(models.Model):
vehicles._close_driver_history()
for vehicle in self:
- vehicle.future_driver_id.sudo().write({'plan_to_change_car': False})
+ if vehicle.vehicle_type == 'bike':
+ vehicle.future_driver_id.sudo().write({'plan_to_change_bike': False})
+ if vehicle.vehicle_type == 'car':
+ vehicle.future_driver_id.sudo().write({'plan_to_change_car': False})
vehicle.driver_id = vehicle.future_driver_id
vehicle.future_driver_id = False
diff --git a/addons/fleet/models/res_partner.py b/addons/fleet/models/res_partner.py
index e2cb7c1b72b..95f80e6622c 100644
--- a/addons/fleet/models/res_partner.py
+++ b/addons/fleet/models/res_partner.py
@@ -8,3 +8,4 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
plan_to_change_car = fields.Boolean('Plan To Change Car', default=False)
+ plan_to_change_bike = fields.Boolean('Plan To Change Bike', default=False)
diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml
index b1ce1286c54..dc66bb3f983 100644
--- a/addons/fleet/views/fleet_vehicle_views.xml
+++ b/addons/fleet/views/fleet_vehicle_views.xml
@@ -72,7 +72,8 @@
name="action_accept_driver_change"
attrs="{'invisible': [('future_driver_id', '=', False)]}"/>
-