summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/fleet/data/fleet_cars_data.xml45
-rw-r--r--addons/fleet/models/fleet_vehicle.py3
-rw-r--r--addons/fleet/models/fleet_vehicle_model.py3
-rw-r--r--addons/fleet/views/fleet_vehicle_model_views.xml4
-rw-r--r--addons/fleet/views/fleet_vehicle_views.xml16
5 files changed, 61 insertions, 10 deletions
diff --git a/addons/fleet/data/fleet_cars_data.xml b/addons/fleet/data/fleet_cars_data.xml
index a3ca54750df..5303db069c0 100644
--- a/addons/fleet/data/fleet_cars_data.xml
+++ b/addons/fleet/data/fleet_cars_data.xml
@@ -267,181 +267,226 @@
<record id="model_corsa" model="fleet.vehicle.model">
<field name="name">Corsa</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_astra" model="fleet.vehicle.model">
<field name="name">Astra</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_agila" model="fleet.vehicle.model">
<field name="name">Agila</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_combotour" model="fleet.vehicle.model">
<field name="name">Combo Tour</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_meriva" model="fleet.vehicle.model">
<field name="name">Meriva</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_astragtc" model="fleet.vehicle.model">
<field name="name">AstraGTC</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_zafira" model="fleet.vehicle.model">
<field name="name">Zafira</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_zafiratourer" model="fleet.vehicle.model">
<field name="name">Zafira Tourer</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_insignia" model="fleet.vehicle.model">
<field name="name">Insignia</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_mokka" model="fleet.vehicle.model">
<field name="name">Mokka</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_antara" model="fleet.vehicle.model">
<field name="name">Antara</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_ampera" model="fleet.vehicle.model">
<field name="name">Ampera</field>
<field name="brand_id" ref="brand_opel" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a1" model="fleet.vehicle.model">
<field name="name">A1</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a3" model="fleet.vehicle.model">
<field name="name">A3</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a4" model="fleet.vehicle.model">
<field name="name">A4</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a5" model="fleet.vehicle.model">
<field name="name">A5</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a6" model="fleet.vehicle.model">
<field name="name">A6</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a7" model="fleet.vehicle.model">
<field name="name">A7</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_a8" model="fleet.vehicle.model">
<field name="name">A8</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_q3" model="fleet.vehicle.model">
<field name="name">Q3</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_q5" model="fleet.vehicle.model">
<field name="name">Q5</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_q7" model="fleet.vehicle.model">
<field name="name">Q7</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_tt" model="fleet.vehicle.model">
<field name="name">TT</field>
<field name="brand_id" ref="brand_audi" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_serie1" model="fleet.vehicle.model">
<field name="name">Serie 1</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_serie3" model="fleet.vehicle.model">
<field name="name">Serie 3</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_serie5" model="fleet.vehicle.model">
<field name="name">Serie 5</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_serie6" model="fleet.vehicle.model">
<field name="name">Serie 6</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_serie7" model="fleet.vehicle.model">
<field name="name">Serie 7</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_seriex" model="fleet.vehicle.model">
<field name="name">Serie X</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_seriez4" model="fleet.vehicle.model">
<field name="name">Serie Z4</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_seriem" model="fleet.vehicle.model">
<field name="name">Serie M</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_seriehybrid" model="fleet.vehicle.model">
<field name="name">Serie Hybrid</field>
<field name="brand_id" ref="brand_bmw" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classa" model="fleet.vehicle.model">
<field name="name">Class A</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classb" model="fleet.vehicle.model">
<field name="name">Class B</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classc" model="fleet.vehicle.model">
<field name="name">Class C</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classcl" model="fleet.vehicle.model">
<field name="name">Class CL</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classcls" model="fleet.vehicle.model">
<field name="name">Class CLS</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classe" model="fleet.vehicle.model">
<field name="name">Class E</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classm" model="fleet.vehicle.model">
<field name="name">Class M</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classgl" model="fleet.vehicle.model">
<field name="name">Class GL</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classglk" model="fleet.vehicle.model">
<field name="name">Class GLK</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classr" model="fleet.vehicle.model">
<field name="name">Class R</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classs" model="fleet.vehicle.model">
<field name="name">Class S</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classslk" model="fleet.vehicle.model">
<field name="name">Class SLK</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
<record id="model_classsls" model="fleet.vehicle.model">
<field name="name">SLS</field>
<field name="brand_id" ref="brand_mercedes" />
+ <field name="vehicle_type">car</field>
</record>
</odoo>
diff --git a/addons/fleet/models/fleet_vehicle.py b/addons/fleet/models/fleet_vehicle.py
index 6279f5db496..95bfa2021a6 100644
--- a/addons/fleet/models/fleet_vehicle.py
+++ b/addons/fleet/models/fleet_vehicle.py
@@ -86,9 +86,10 @@ class FleetVehicle(models.Model):
contract_renewal_name = fields.Text(compute='_compute_contract_reminder', string='Name of contract to renew soon')
contract_renewal_total = fields.Text(compute='_compute_contract_reminder', string='Total of contracts due or overdue minus one')
car_value = fields.Float(string="Catalog Value (VAT Incl.)", help='Value of the bought vehicle')
- net_car_value = fields.Float(string="Purchase Value", help="Purchase Value of the car")
+ 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)
+ vehicle_type = fields.Selection(related='model_id.vehicle_type')
@api.depends('model_id.brand_id.name', 'model_id.name', 'license_plate')
def _compute_vehicle_name(self):
diff --git a/addons/fleet/models/fleet_vehicle_model.py b/addons/fleet/models/fleet_vehicle_model.py
index 5c73083b2ef..d46564f44d1 100644
--- a/addons/fleet/models/fleet_vehicle_model.py
+++ b/addons/fleet/models/fleet_vehicle_model.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo import api, fields, models, tools, _
+from odoo import api, fields, models, tools
class FleetVehicleModel(models.Model):
@@ -16,6 +16,7 @@ class FleetVehicleModel(models.Model):
domain=lambda self: [('groups_id', 'in', self.env.ref('fleet.fleet_group_manager').id)])
image_128 = fields.Image(related='brand_id.image_128', readonly=True)
active = fields.Boolean(default=True)
+ vehicle_type = fields.Selection([('car', 'Car'), ('bike', 'Bike')], default='car', required=True)
@api.depends('name', 'brand_id')
def name_get(self):
diff --git a/addons/fleet/views/fleet_vehicle_model_views.xml b/addons/fleet/views/fleet_vehicle_model_views.xml
index 09d1cc02e6f..474f43b1b24 100644
--- a/addons/fleet/views/fleet_vehicle_model_views.xml
+++ b/addons/fleet/views/fleet_vehicle_model_views.xml
@@ -21,6 +21,7 @@
<group>
<group>
<field name="active" invisible="1"/>
+ <field name="vehicle_type"/>
<field name="manager_id" groups="fleet.fleet_group_manager"/>
</group>
</group>
@@ -56,6 +57,7 @@
<tree string="Models">
<field name="brand_id" />
<field name="name" />
+ <field name="vehicle_type"/>
</tree>
</field>
</record>
@@ -171,7 +173,7 @@
</record>
<record id='fleet_vehicle_model_brand_action' model='ir.actions.act_window'>
- <field name="name">Car Manufacturers</field>
+ <field name="name">Manufacturers</field>
<field name="res_model">fleet.vehicle.model.brand</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml
index 9db169f310d..6afddd8f7d7 100644
--- a/addons/fleet/views/fleet_vehicle_views.xml
+++ b/addons/fleet/views/fleet_vehicle_views.xml
@@ -39,7 +39,8 @@
class="oe_stat_button"
icon="fa-tachometer"
context="{'xml_id':'fleet_vehicle_odometer_action'}"
- help="show the odometer logs for this vehicle" >
+ help="show the odometer logs for this vehicle"
+ attrs="{'invisible': [('vehicle_type', '!=', 'car')]}">
<field name="odometer_count" widget="statinfo" string="Odometer"/>
</button>
</div>
@@ -60,6 +61,7 @@
<group col="2">
<group string="Driver">
<field name="active" invisible="1"/>
+ <field name="vehicle_type" invisible="1"/>
<field name="driver_id" domain="['|', ('company_id', '=', False ), ('company_id', '=', company_id)]"/>
<label for="future_driver_id"/>
<div class="o_row">
@@ -75,12 +77,12 @@
<field name="location"/>
</group>
<group string="Vehicle">
- <label for="odometer"/>
- <div class="o_row">
+ <label for="odometer" attrs="{'invisible': [('vehicle_type', '!=', 'car')]}"/>
+ <div class="o_row" attrs="{'invisible': [('vehicle_type', '!=', 'car')]}">
<field name="odometer"/>
<field name="odometer_unit"/>
</div>
- <field name="acquisition_date"/>
+ <field name="acquisition_date" attrs="{'invisible': [('vehicle_type', '!=', 'car')]}"/>
<field name="vin_sn"/>
<field name="car_value" widget="monetary"/>
<field name="net_car_value" widget="monetary"/>
@@ -92,12 +94,12 @@
<field name="first_contract_date"/>
</group>
<group string="Model">
- <field name="seats"/>
- <field name="doors"/>
+ <field name="seats" attrs="{'invisible': [('vehicle_type', '!=', 'car')]}"/>
+ <field name="doors" attrs="{'invisible': [('vehicle_type', '!=', 'car')]}"/>
<field name="color"/>
<field name="model_year"/>
</group>
- <group string="Engine">
+ <group string="Engine" attrs="{'invisible': [('vehicle_type', '!=', 'car')]}">
<field name="transmission"/>
<field name="fuel_type"/>
<label for="co2"/>