summaryrefslogtreecommitdiff
path: root/addons/fleet
diff options
context:
space:
mode:
authorSimon Genin (ges) <ges@odoo.com>2020-07-08 13:14:30 +0000
committerYannick Tivisse <yti@odoo.com>2020-07-15 08:37:56 +0000
commite88fc6222280b1252e55e18cde6046e9454c3ebf (patch)
tree3193a8008432061558ccc101d487d5f876d354b3 /addons/fleet
parent1384354356fa6b5c3e8498e5cb93699ab419c04d (diff)
[IMP] fleet: Improve ux of list views
Small UX improvements on list view and edit text of an empty kanban screen. Task ID 2291554 closes odoo/odoo#54234 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/fleet')
-rw-r--r--addons/fleet/models/fleet_vehicle.py4
-rw-r--r--addons/fleet/models/fleet_vehicle_cost.py6
-rw-r--r--addons/fleet/views/fleet_vehicle_cost_views.xml30
-rw-r--r--addons/fleet/views/fleet_vehicle_views.xml25
4 files changed, 34 insertions, 31 deletions
diff --git a/addons/fleet/models/fleet_vehicle.py b/addons/fleet/models/fleet_vehicle.py
index 97ada5ad8cd..e2498f854d7 100644
--- a/addons/fleet/models/fleet_vehicle.py
+++ b/addons/fleet/models/fleet_vehicle.py
@@ -63,8 +63,8 @@ class FleetVehicle(models.Model):
odometer = fields.Float(compute='_get_odometer', inverse='_set_odometer', string='Last Odometer',
help='Odometer measure of the vehicle at the moment of this log')
odometer_unit = fields.Selection([
- ('kilometers', 'Kilometers'),
- ('miles', 'Miles')
+ ('kilometers', 'km'),
+ ('miles', 'mi')
], 'Odometer Unit', default='kilometers', help='Unit of the odometer ', required=True)
transmission = fields.Selection([('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission', help='Transmission Used by the vehicle')
fuel_type = fields.Selection([
diff --git a/addons/fleet/models/fleet_vehicle_cost.py b/addons/fleet/models/fleet_vehicle_cost.py
index f59d65878d9..fb039a4c125 100644
--- a/addons/fleet/models/fleet_vehicle_cost.py
+++ b/addons/fleet/models/fleet_vehicle_cost.py
@@ -19,7 +19,7 @@ class FleetVehicleLogContract(models.Model):
vehicle_id = fields.Many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this log')
cost_subtype_id = fields.Many2one('fleet.service.type', 'Type', help='Cost type purchased with this cost', domain=[('category', '=', 'contract')])
- amount = fields.Float('Cost')
+ amount = fields.Monetary('Cost')
date = fields.Date(help='Date when the cost has been executed')
company_id = fields.Many2one('res.company', 'Company', default=lambda self: self.env.company)
currency_id = fields.Many2one('res.currency', related='company_id.currency_id')
@@ -45,7 +45,7 @@ class FleetVehicleLogContract(models.Model):
tracking=True,
copy=False)
notes = fields.Text('Terms and Conditions', help='Write here all supplementary information relative to this contract', copy=False)
- cost_generated = fields.Float('Recurring Cost')
+ cost_generated = fields.Monetary('Recurring Cost')
cost_frequency = fields.Selection([
('no', 'No'),
('daily', 'Daily'),
@@ -142,7 +142,7 @@ class FleetVehicleLogServices(models.Model):
active = fields.Boolean(default=True)
vehicle_id = fields.Many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this log')
- amount = fields.Float('Cost')
+ amount = fields.Monetary('Cost')
description = fields.Char('Description')
odometer_id = fields.Many2one('fleet.vehicle.odometer', 'Odometer', help='Odometer measure of the vehicle at the moment of this log')
odometer = fields.Float(compute="_get_odometer", inverse='_set_odometer', string='Odometer Value',
diff --git a/addons/fleet/views/fleet_vehicle_cost_views.xml b/addons/fleet/views/fleet_vehicle_cost_views.xml
index 8bb9fface37..9153ed98cc4 100644
--- a/addons/fleet/views/fleet_vehicle_cost_views.xml
+++ b/addons/fleet/views/fleet_vehicle_cost_views.xml
@@ -72,16 +72,17 @@
default_order="expiration_date"
sample="1">
<field name="active" invisible="1"/>
- <field name="name" />
+ <field name="name" class="font-weight-bold" />
<field name="start_date" />
- <field name="expiration_date" />
+ <field name="expiration_date" widget="remaining_days"/>
<field name="days_left" invisible="1"/>
- <field name="vehicle_id" />
+ <field name="vehicle_id" widget="many2one_avatar" />
<field name="insurer_id" />
<field name="purchaser_id"/>
- <field name="cost_generated"/>
+ <field name="cost_generated" widget="monetary"/>
+ <field name="currency_id" invisible="1"/>
<field name="cost_frequency"/>
- <field name="state" />
+ <field name="state" widget="badge" decoration-info="state == 'open'" decoration-danger="state == 'expired'" />
<field name="activity_exception_decoration" widget="activity_exception"/>
</tree>
</field>
@@ -99,7 +100,7 @@
<div t-attf-class="oe_kanban_global_click">
<div>
<strong>
- <field name="vehicle_id"/>
+ <field name="vehicle_id" widget="res_partner_many2one"/>
<span class="float-right badge badge-secondary">
<field name="state"/>
</span>
@@ -109,7 +110,7 @@
<field name="start_date"/> - <field name="expiration_date"/>
</div>
<div>
- <field name="insurer_id"/>
+ <field name="insurer_id" widget="res_partner_many2one"/>
</div>
</div>
</t>
@@ -248,13 +249,14 @@
<field name="date" readonly="1" />
<field name="description" />
<field name="service_type_id" />
- <field name="vehicle_id" readonly="1" />
- <field name="purchaser_id" readonly="1"/>
+ <field name="vehicle_id" readonly="1" widget="many2one_avatar" />
+ <field name="purchaser_id" readonly="1" widget="many2one_avatar"/>
<field name="vendor_id" optional="show" />
<field name="inv_ref" invisible="1" />
<field name="notes" optional="show" />
- <field name="state" readonly="1" />
- <field name="amount" sum="Total"/>
+ <field name="amount" sum="Total" widget="monetary"/>
+ <field name="currency_id" invisible="1"/>
+ <field name="state" readonly="1" widget="badge" decoration-success="state == 'done'" decoration-warning="state == 'todo'" decoration-info="state == 'running'" />
</tree>
</field>
</record>
@@ -270,15 +272,15 @@
<div t-attf-class="oe_kanban_global_click">
<div>
<strong>
- <field name="vehicle_id"/>
+ <field name="vehicle_id" widget="res_partner_many2one"/>
<span class="float-right"><field name="date"/></span>
</strong>
</div>
<div>
- <field name="purchaser_id"/>
+ <field name="purchaser_id" widget="res_partner_many2one"/>
</div>
<div>
- <span><field name="vendor_id"/></span>
+ <span><field name="vendor_id" widget="res_partner_many2one"/></span>
<span class="float-right"><field name="amount" widget="monetary"/></span>
</div>
</div>
diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml
index 45c4deba255..f8d0a6654b9 100644
--- a/addons/fleet/views/fleet_vehicle_views.xml
+++ b/addons/fleet/views/fleet_vehicle_views.xml
@@ -137,14 +137,15 @@
sample="1">
<field name="active" invisible="1"/>
<field name="license_plate"/>
- <field name="model_id"/>
- <field name="driver_id"/>
- <field name="future_driver_id"/>
+ <field name="model_id" widget="many2one_avatar" />
+ <field name="driver_id" widget="many2one_avatar"/>
+ <field name="future_driver_id" widget="many2one_avatar"/>
<field name="log_drivers" invisible="1"/>
<field name="vin_sn"/>
- <field name="co2"/>
+ <field name="co2" string="CO2 Emissions g/km" optional="hide" />
<field name="acquisition_date"/>
- <field name="state_id"/>
+ <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
+ <field name="state_id" widget="badge" />
<field name="company_id" groups="base.group_multi_company"/>
<field name="contract_renewal_due_soon" invisible="1"/>
<field name="contract_renewal_overdue" invisible="1"/>
@@ -285,9 +286,9 @@
<field name="view_mode">kanban,tree,form,activity</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
- Create a new vehicle
+ Ready to manage your fleet more efficiently ?
</p><p>
- Manage your fleet by keeping track of the contracts, services and odometers associated to each vehicle.
+ Let's create your first vehicle.
</p>
</field>
</record>
@@ -318,8 +319,8 @@
<field name="arch" type="xml">
<tree string="Odometer Logs" editable="top">
<field name="date" />
- <field name="vehicle_id"/>
- <field name="driver_id"/>
+ <field name="vehicle_id" widget="many2one_avatar"/>
+ <field name="driver_id" widget="many2one_avatar"/>
<field name="value" />
<field name="unit" />
</tree>
@@ -336,12 +337,12 @@
<div t-attf-class="oe_kanban_global_click">
<div>
<strong>
- <field name="vehicle_id"/>
+ <field name="vehicle_id" widget="res_partner_many2one"/>
<span class="float-right"><field name="date"/></span>
</strong>
</div>
<div>
- <span><field name="driver_id"/></span>
+ <span><field name="driver_id" widget="res_partner_many2one"/></span>
<span class="float-right"><field name="value"/> Km</span>
</div>
</div>
@@ -398,7 +399,7 @@
<field name="name">fleet.service.type.tree</field>
<field name="model">fleet.service.type</field>
<field name="arch" type="xml">
- <tree string="Service Types" editable="top">
+ <tree string="Service Types">
<field name="name" />
</tree>
</field>