diff options
| author | Yannick Tivisse <yti@odoo.com> | 2020-03-17 13:22:50 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2020-04-10 09:38:31 +0000 |
| commit | d970bd53fbf0f61b0786cc8e3999fdec03fc0fc7 (patch) | |
| tree | 3f9f9445219063d67f2e963ba69acaa2d72104bf /addons/fleet | |
| parent | 7de2bb97c96d8ddd5676349effd7554cefca5722 (diff) | |
[IMP] fleet: Add model types (car, bike) on vehicles
closes odoo/odoo#48300
Taskid: 2172282
Related: odoo/enterprise#9467
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/fleet')
| -rw-r--r-- | addons/fleet/data/fleet_cars_data.xml | 45 | ||||
| -rw-r--r-- | addons/fleet/models/fleet_vehicle.py | 3 | ||||
| -rw-r--r-- | addons/fleet/models/fleet_vehicle_model.py | 3 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_model_views.xml | 4 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_views.xml | 16 |
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"/> |
