diff options
| author | Kevin Baptiste <kba@odoo.com> | 2019-06-07 09:37:49 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2019-11-27 11:54:51 +0000 |
| commit | 82df1dfccc6b4e3031b1434c7ec1bec2bf7aeb2d (patch) | |
| tree | 3d72557711c10291004502c72bdb370b13c25e2f /addons/fleet/views | |
| parent | c5398bd4bc84a4e2bce16eb22564c87073a28c30 (diff) | |
[IMP] fleet: model cleanup, dashboard
Purpose
=======
It is currently difficult to know exactly what is used for costs
and services on the contracts.
Hence it make it difficult to evolve the fleet application
We should clean the models in order to have something that is clearer
Specification
=============
Cleanup of models: removed Fuel and Cost. Contract and Services are no
longer inheriting Cost and are seperate models simplifying the use of
Fleet. A contract now has included services and they are no longer
generating cost.
closes odoo/odoo#34090
Taskid: 1931775
Related: odoo/enterprise#4572
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/fleet/views')
| -rw-r--r-- | addons/fleet/views/fleet_board_view.xml | 98 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_cost_views.xml | 434 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_model_views.xml | 10 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_views.xml | 58 |
4 files changed, 114 insertions, 486 deletions
diff --git a/addons/fleet/views/fleet_board_view.xml b/addons/fleet/views/fleet_board_view.xml index 755e2f32956..f577a8063ef 100644 --- a/addons/fleet/views/fleet_board_view.xml +++ b/addons/fleet/views/fleet_board_view.xml @@ -1,42 +1,56 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> - <record id="fleet_costs_reporting_action" model="ir.actions.act_window"> - <field name="name">Costs Analysis</field> - <field name="res_model">fleet.vehicle.cost</field> - <field name="view_mode">graph,pivot</field> - <field name="view_id"></field> <!-- force empty --> - <field name="context">{"search_default_parent_false" : True,}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_empty_folder"> - No data for analysis - </p><p> - Odoo helps you managing the costs for your different vehicles - Costs are generally created from services and contract and appears here. - </p><p> - Thanks to the different filters, Odoo can only print the effective - costs, sort them by type and by vehicle. - </p> - </field> + <record id="fleet_costs_report_view_search" model="ir.ui.view"> + <field name="name">fleet.vehicle.cost.view.search</field> + <field name="model">fleet.vehicle.cost.report</field> + <field name="arch" type="xml"> + <search string="Fleet Costs Analysis"> + <field name="name" filter_domain="[('name', 'ilike', self)]"/> + <field name="driver_id" filter_domain="[('driver_id', 'ilike', self)]"/> + <field name="date_start" /> + <filter string="Service" name="service" domain="[('cost_type', '=', 'service')]"/> + <filter string="Contract" name="contract" domain="[('cost_type', '=', 'contract')]"/> + <group expand="1" string="Group By"> + <filter string="Vehicle" name="vehicle" context="{'group_by':'vehicle_id'}"/> + <filter string="Driver" name="driver" context="{'group_by':'driver_id'}"/> + </group> + </search> + </field> </record> - <record id="fleet_reporting_pivot_action" model="ir.actions.act_window.view"> - <field name="sequence" eval="2"/> - <field name="view_mode">pivot</field> - <field name="view_id" ref="fleet_vehicle_cost_view_pivot"/> - <field name="act_window_id" ref="fleet_costs_reporting_action"/> + + <record id="fleet_costs_report_view_pivot" model="ir.ui.view"> + <field name="name">fleet.vehicle.cost.view.pivot</field> + <field name="model">fleet.vehicle.cost.report</field> + <field name="arch" type="xml"> + <pivot> + <field name="date_start" type="col" interval="year" /> + <field name="cost_type" type="col" /> + <field name="vehicle_id" type="row" /> + <field name="cost" type="measure" /> + </pivot> + </field> </record> - <record id="fleet_reporting_graph_action" model="ir.actions.act_window.view"> - <field name="sequence" eval="1"/> - <field name="view_mode">graph</field> - <field name="view_id" ref="fleet_vehicle_cost_view_graph"/> - <field name="act_window_id" ref="fleet_costs_reporting_action"/> + + <record id="fleet_costs_report_view_graph" model="ir.ui.view"> + <field name="name">fleet.vehicle.cost.view.graph</field> + <field name="model">fleet.vehicle.cost.report</field> + <field name="arch" type="xml"> + <graph string="Fleet Costs Analysis" type="bar"> + <field name="date_start" type="row" interval="month"/> + <field name="cost_type" type="row"/> + <field name="cost" type="measure"/> + </graph> + </field> </record> - <record id="fleet_costs_reporting_non_effective_action" model="ir.actions.act_window"> - <field name="name">Indicative Costs Analysis</field> - <field name="res_model">fleet.vehicle.cost</field> + + <record id="fleet_costs_reporting_action" model="ir.actions.act_window"> + <field name="name">Costs Analysis</field> + <field name="res_model">fleet.vehicle.cost.report</field> <field name="view_mode">graph,pivot</field> - <field name="view_id"></field> <!-- force empty --> - <field name="context">{"search_default_parent_true" : True,}</field> + <field name="view_id"></field> + <field name="context">{ 'time_ranges': {'field':'date_start', 'range':'last_365_days'} }</field> + <field name="search_view_id" ref="fleet.fleet_costs_report_view_search"/> <field name="help" type="html"> <p class="o_view_nocontent_empty_folder"> No data for analysis @@ -49,31 +63,11 @@ </p> </field> </record> - <record id="view_fleet_non_effective_pivot_action" model="ir.actions.act_window.view"> - <field name="sequence" eval="2"/> - <field name="view_mode">pivot</field> - <field name="view_id" ref="fleet_vehicle_cost_indicative_view_pivot"/> - <field name="act_window_id" ref="fleet_costs_reporting_non_effective_action"/> - </record> - <record id="view_fleet_non_effective_graph_action" model="ir.actions.act_window.view"> - <field name="sequence" eval="1"/> - <field name="view_mode">graph</field> - <field name="view_id" ref="fleet_vehicle_cost_indicative_view_graph"/> - <field name="act_window_id" ref="fleet_costs_reporting_non_effective_action"/> - </record> - <menuitem name="Reporting" parent="menu_root" id="menu_fleet_reporting" sequence="99" groups="fleet_group_manager"/> - <menuitem id="menu_fleet_reporting_costs" name="Costs" parent="menu_fleet_reporting" action="fleet_costs_reporting_action" sequence="1" groups="fleet_group_manager"/> - <menuitem id="menu_fleet_reporting_indicative_costs" - name="Indicative Costs" - parent="menu_fleet_reporting" - action="fleet_costs_reporting_non_effective_action" - sequence="2" - groups="fleet_group_manager"/> </odoo> diff --git a/addons/fleet/views/fleet_vehicle_cost_views.xml b/addons/fleet/views/fleet_vehicle_cost_views.xml index b29646e3a40..df09890c3f8 100644 --- a/addons/fleet/views/fleet_vehicle_cost_views.xml +++ b/addons/fleet/views/fleet_vehicle_cost_views.xml @@ -1,203 +1,34 @@ <?xml version="1.0" encoding="UTF-8"?> <odoo> - - <record id='fleet_vehicle_cost_view_tree' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.tree</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <tree string="Vehicle Costs"> - <field name="currency_id" invisible="1"/> - <field name="vehicle_id"/> - <field name="description"/> - <field name="cost_subtype_id"/> - <field name="date"/> - <field name="amount" sum="Cost" widget="monetary"/> - </tree> - </field> - </record> - - <record id='fleet_vehicle_cost_view_kanban' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.kanban</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <kanban class="o_kanban_mobile"> - <field name="currency_id"/> - <templates> - <t t-name="kanban-box"> - <div t-attf-class="oe_kanban_global_click"> - <div> - <strong> - <field name="vehicle_id"/> - <span class="float-right"><field name="date"/></span> - </strong> - </div> - <div> - <field name="cost_subtype_id"/> - <span class="float-right"><field name="amount" widget="monetary"/></span> - </div> - </div> - </t> - </templates> - </kanban> - </field> - </record> - - <record id='fleet_vehicle_cost_view_pivot' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.pivot</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <pivot string="Vehicles costs"> - <field name="vehicle_id" type="row"/> - <field name="cost_type" type="row"/> - <field name="date" interval="year" type="col"/> - <field name="amount" type="measure"/> - </pivot> - </field> - </record> - - <record id='fleet_vehicle_cost_view_graph' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.graph</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <graph string="Vehicles costs"> - <field name="vehicle_id"/> - <field name="date" interval="year"/> - <field name="amount" type="measure"/> - </graph> - </field> - </record> - - <record id='fleet_vehicle_cost_indicative_view_pivot' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.pivot</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <pivot string="Vehicles costs" > - <field name="vehicle_id" type="row"/> - <field name="cost_type" type="col"/> - <field name="amount" type="measure"/> - </pivot> - </field> - </record> - - <record id='fleet_vehicle_cost_indicative_view_graph' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.graph</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <graph string="Vehicles costs"> - <field name="parent_id" type="row"/> - <field name="cost_type" type="col"/> - <field name="amount" type="measure"/> - </graph> - </field> - </record> - - <record id='fleet_vehicle_costs_view_search' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.search</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <search string="Vehicles costs" > - <field name="vehicle_id" /> - <field name="cost_subtype_id"/> - <field name="date"/> - <field name="parent_id"/> - <filter name="parent_false" domain="[('parent_id','=',False)]" string="Effective Costs"/> - <filter name="parent_true" domain="[('parent_id','!=',False)]" string="Indicative Costs"/> - <group expand="1" string="Group By"> - <filter name="groupby_cost_type" context="{'group_by': 'cost_type'}" string="Cost Type"/> - <filter name="groupby_cost_subtype_id" context="{'group_by': 'cost_subtype_id'}" string="Cost Subtype"/> - <filter name="groupby_vehicle_id" context="{'group_by': 'vehicle_id'}" string="Vehicle"/> - <filter name="groupby_parent_id" context="{'group_by': 'parent_id'}" string="Parent"/> - <separator/> - <filter name="groupby_date" context="{'group_by': 'date:month'}" string="Date" help="Vehicle Costs by Date"/> - </group> - </search> - </field> - </record> - - <record id='fleet_vehicle_costs_view_form' model='ir.ui.view'> - <field name="name">fleet.vehicle.cost.form</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <form string="Vehicle costs"> - <sheet> - <field name="currency_id" invisible="1"/> - <group col="2" string="Cost Details"> - <group> - <field name="vehicle_id" /> - <field name="cost_subtype_id"/> - <field name="amount" widget="monetary"/> - <field name="description"/> - </group> - <group> - <field name="date"/> - <field name="parent_id" groups="base.group_no_one"/> - </group> - </group> - </sheet> - </form> - </field> - </record> - - <record id="fleet_vehicle_costs_view_graph" model="ir.ui.view"> - <field name="name">fleet.vehicle.cost.graph</field> - <field name="model">fleet.vehicle.cost</field> - <field name="arch" type="xml"> - <graph string="Costs Per Month" stacked="True"> - <field name="date" type="row"/> - <field name="vehicle_id" type="col"/> - <field name="amount" type="measure"/> - </graph> - </field> - </record> - - <record id='fleet_vehicle_costs_action' model='ir.actions.act_window'> - <field name="name">Vehicles Costs</field> - <field name="res_model">fleet.vehicle.cost</field> - <field name="view_mode">tree,kanban,form,graph</field> - <field name="context">{"search_default_parent_false" : True, "search_default_groupby_vehicle_id" : True,}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Create a new cost - </p><p> - Manage the costs for your different vehicles. - Costs are created automatically from services, contracts and fuel logs. - </p> - </field> - </record> - - <menuitem action="fleet_vehicle_costs_action" parent="fleet_vehicles" id="fleet_vehicle_costs_menu" groups="fleet_group_manager"/> - - <record id='fleet_vehicle_log_contract_view_form' model='ir.ui.view'> <field name="name">fleet.vehicle.log_contract.form</field> <field name="model">fleet.vehicle.log.contract</field> <field name="arch" type="xml"> <form string="Contract logs"> <header> - <button name="contract_close" states="open,diesoon,expired,future" type="object" class="oe_highlight" string="Close Contract" groups="fleet.fleet_group_manager"/> - <button name="contract_open" states="closed" type="object" class="oe_highlight" string="Set Contract In Progress" groups="fleet.fleet_group_manager"/> - <button class="oe_highlight" name="act_renew_contract" type="object" string="Renew Contract" attrs="{'invisible': [('state', '=', 'open')]}" help="Create a new contract automatically with all the same informations except for the date that will start at the end of current contract" groups="fleet.fleet_group_manager"/> + <button name="contract_open" states="futur" type="object" string="Start Contract" class="oe_highlight" groups="fleet.fleet_group_manager"/> + <button name="contract_close" states="futur" type="object" string="Cancel" groups="fleet.fleet_group_manager"/> + <button name="contract_close" states="open,expired,future" type="object" class="oe_highlight" string="Close Contract" groups="fleet.fleet_group_manager"/> + <button name="contract_draft" states="closed" type="object" string="Reset To Draft" groups="fleet.fleet_group_manager"/> <field name="state" widget="statusbar" /> </header> <sheet> + <field name="active" invisible="1"/> <widget name="web_ribbon" text="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/> <field name="currency_id" invisible="1"/> + <div class="oe_title"> + <h1><field name="name"/></h1> + </div> <group col="2"> <group string="Contract Informations"> - <field name="active" invisible="1"/> - <field name="ins_ref"/> - <field name="cost_subtype_id" required="1" domain="['|',('category','=','contract'),('category','=','both')]"/> - <field name="insurer_id"/> <field name="user_id"/> + <field name="cost_subtype_id"/> + <field name="insurer_id"/> + <field name="ins_ref"/> </group> <group string="Vehicle Informations"> <field name="vehicle_id"/> <field name="purchaser_id"/> - <label for="odometer"/> - <div class="o_row"> - <field name="odometer"/> - <field name="odometer_unit"/> - </div> </group> </group> <group col="2"> @@ -215,33 +46,9 @@ <field name="expiration_date" attrs="{'required': [('cost_frequency', '!=', 'no')]}"/> </group> </group> - <notebook> - <page string="Included Services"> - <group> - <field name="cost_ids" context="{'vehicle_id': vehicle_id}" nolabel="1"> - <tree editable="bottom"> - <field name="currency_id" invisible="1"/> - <field name="cost_subtype_id" string="Service" domain="[('category','=','service')]"/> - <field name="description"/> - <field name="amount" sum="Price" string="Indicative Cost" widget="monetary"/> - </tree> - </field> - - </group> - </page> - <page string="Generated Recurring Costs"> - <group> - <field name="generated_cost_ids" context="{'vehicle_id': vehicle_id}" nolabel="1" sum="amount"> - <tree editable="bottom" > - <field name="currency_id" invisible="1"/> - <field name="date" /> - <field name="amount" sum="amount" widget="monetary"/> - </tree> - - </field> - </group> - </page> - </notebook> + <group string="Included Services"> + <field name="service_ids" widget="many2many_tags" nolabel="1"/> + </group> <group string="Terms and Conditions"> <field name="notes" nolabel="1" placeholder="Write here all other information relative to this contract" /> </group> @@ -255,26 +62,17 @@ </field> </record> - <act_window - id="act_renew_contract" - name="Renew Contract" - res_model="fleet.vehicle.log.contract" - binding_model="fleet.vehicle.log.contract" - binding_views="form" - view_mode="form" - /> - <record id='fleet_vehicle_log_contract_view_tree' model='ir.ui.view'> <field name="name">fleet.vehicle.log.contract.tree</field> <field name="model">fleet.vehicle.log.contract</field> <field name="arch" type="xml"> - <tree string="Contract logs" decoration-warning="state=='diesoon'" decoration-danger="days_left==0" decoration-muted="state=='closed'"> + <tree string="Contract logs" decoration-danger="days_left==0" decoration-muted="state=='closed'" default_order="expiration_date"> <field name="active" invisible="1"/> + <field name="name" /> <field name="start_date" /> <field name="expiration_date" /> <field name="days_left" invisible="1"/> <field name="vehicle_id" /> - <field name="cost_subtype_id"/> <field name="insurer_id" /> <field name="purchaser_id"/> <field name="cost_generated"/> @@ -308,7 +106,6 @@ </div> <div> <field name="insurer_id"/> - <span class="float-right"><field name="cost_subtype_id"/></span> </div> </div> </t> @@ -324,7 +121,7 @@ <graph string="Contract Costs Per Month" type="bar" stacked="True"> <field name="date" type="row"/> <field name="vehicle_id" type="row"/> - <field name="cost_amount" type="measure"/> + <field name="amount" type="measure"/> </graph> </field> </record> @@ -334,13 +131,12 @@ <field name="model">fleet.vehicle.log.contract</field> <field name="arch" type="xml"> <search string="Vehicles Contracts"> - <field name="vehicle_id" string="Vehicle" filter_domain="[('vehicle_id.name', 'ilike', self)]"/> - <field name="purchaser_id" string="Driver" filter_domain="[('purchaser_id', 'child_of', self)]"/> - <field name="insurer_id" string="Vendor" filter_domain="[('insurer_id', 'child_of', self)]"/> - <field name="cost_subtype_id" string="Service Type" filter_domain="[('cost_ids.cost_subtype_id', 'ilike', self)]"/> - <filter string="In Progress" name="open" domain="[('state', 'in', ['open', 'diesoon'])]"/> + <field name="vehicle_id" string="Vehicle" filter_domain="[('vehicle_id.name','ilike', self)]"/> + <field name="purchaser_id" string="Driver" filter_domain="[('purchaser_id','child_of', self)]"/> + <field name="insurer_id" string="Vendor" filter_domain="[('insurer_id','child_of', self)]"/> + <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> + <filter string="In Progress" name="open" domain="[('state', '=', 'open')]"/> <filter string="Expired" name="expired" domain="[('state', '=', 'expired')]"/> - <filter string="Expiring Soon" name="expire_soon" domain="[('state', '=', 'diesoon')]"/> <separator/> <filter string="Archived" name="inactive" domain="[('active', '=', False)]"/> <separator/> @@ -369,7 +165,6 @@ <img t-att-src="activity_image('res.partner', 'image_128', record.purchaser_id.raw_value)" t-att-title="record.purchaser_id.value" t-att-alt="record.purchaser_id.value"/> <div> <field name="vehicle_id" display="full"/> - <field name="cost_subtype_id" muted="1" display="full"/> </div> </div> </templates> @@ -378,7 +173,7 @@ </record> <record id='fleet_vehicle_log_contract_action' model='ir.actions.act_window'> - <field name="name">Vehicles Contracts</field> + <field name="name">Contracts</field> <field name="res_model">fleet.vehicle.log.contract</field> <field name="view_mode">tree,kanban,form,graph,activity</field> <field name="context">{'search_default_open': 1}</field> @@ -396,149 +191,25 @@ </field> </record> - <menuitem action="fleet_vehicle_log_contract_action" parent="fleet_vehicles" id="fleet_vehicle_log_contract_menu" groups="fleet_group_user"/> - - <record id='fleet_vehicle_log_fuel_view_form' model='ir.ui.view'> - <field name="name">fleet.vehicle.log.fuel.form</field> - <field name="model">fleet.vehicle.log.fuel</field> - <field name="arch" type="xml"> - <form string="Fuel Logs"> - <sheet> - <group> - <group string="Vehicle Details"> - <field name="vehicle_id"/> - </group> - <group string="Refueling Details"> - <field name="liter"/> - <field name="price_per_liter"/> - <field name="amount"/> - </group> - </group> - <group> - <group string="Odometer Details"> - <label for="odometer"/> - <div class="o_row"> - <field name="odometer"/> - <field name="odometer_unit"/> - </div> - </group> - <group string="Additional Details"> - <field name="date" /> - <field name="purchaser_id" /> - <field name="inv_ref" /> - <field name="vendor_id"/> - </group> - </group> - <field name="notes" placeholder="Write here any other information"/> - </sheet> - </form> - </field> - </record> - - <record id='fleet_vehicle_log_fuel_view_tree' model='ir.ui.view'> - <field name="name">fleet.vehicle.log.fuel.tree</field> - <field name="model">fleet.vehicle.log.fuel</field> - <field name="arch" type="xml"> - <tree string="Fuel Logs"> - <field name="date" /> - <field name="vehicle_id" /> - <field name="purchaser_id" /> - <field name="inv_ref" invisible="1"/> - <field name="vendor_id" invisible="1"/> - <field name="odometer" /> - <field name="odometer_unit" /> - <field name="liter" /> - <field name="price_per_liter" invisible="1"/> - <field name="amount" sum="Price"/> - </tree> - </field> - </record> - - <record id='fleet_vehicle_log_fuel_view_kanban' model='ir.ui.view'> - <field name="name">fleet.vehicle.log.fuel.kanban</field> - <field name="model">fleet.vehicle.log.fuel</field> - <field name="arch" type="xml"> - <kanban class="o_kanban_mobile"> - <templates> - <t t-name="kanban-box"> - <div t-attf-class="oe_kanban_global_click"> - <div> - <strong> - <field name="vehicle_id"/> - <span class="float-right"><field name="date"/></span> - </strong> - </div> - <div> - <span><field name="purchaser_id"/></span> - </div> - <div> - <span><field name="liter"/> Liter</span> - <span class="float-right"><field name="amount"/></span> - </div> - </div> - </t> - </templates> - </kanban> - </field> - </record> - - <record id='fleet_vehicle_log_fuel_view_search' model='ir.ui.view'> - <field name="name">fleet.vehicle.log.fuel.search</field> - <field name="model">fleet.vehicle.log.fuel</field> - <field name="arch" type="xml"> - <search string="Vehicles Fuel Logs" > - <field name="vehicle_id" /> - <field name="date"/> - <field name="purchaser_id" /> - <field name="liter" /> - <field name="amount" sum="Price"/> - <group expand="0" string="Group By"> - <filter name="groupby_vehicle" context="{'group_by' : 'vehicle_id'}" string="Vehicle"/> - </group> - </search> - </field> - </record> - - <record id="fleet_vehicle_log_fuel_view_graph" model="ir.ui.view"> - <field name="name">fleet.vehicle.log.fuel.graph</field> - <field name="model">fleet.vehicle.log.fuel</field> - <field name="arch" type="xml"> - <graph string="Fuel Costs Per Month"> - <field name="vehicle_id" type="row"/> - <field name="cost_amount" type="measure"/> - </graph> - </field> - </record> - - <record id='fleet_vehicle_log_fuel_action' model='ir.actions.act_window'> - <field name="name">Vehicles Fuel Logs</field> - <field name="res_model">fleet.vehicle.log.fuel</field> - <field name="view_mode">tree,kanban,form,graph</field> - <field name="context">{"search_default_groupby_vehicle" : True}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Create a new fuel log - </p><p> - Here you can add refuelling entries for all vehicles. - </p> - </field> - </record> - - <menuitem action="fleet_vehicle_log_fuel_action" parent="fleet_vehicles" id="fleet_vehicle_log_fuel_menu" groups="fleet_group_user"/> + <menuitem action="fleet_vehicle_log_contract_action" parent="fleet_vehicles" id="fleet_vehicle_log_contract_menu" groups="fleet_group_user" sequence="2"/> <record id='fleet_vehicle_log_services_view_form' model='ir.ui.view'> <field name="name">fleet.vehicle.log.services.form</field> <field name="model">fleet.vehicle.log.services</field> <field name="arch" type="xml"> <form string="Services Logs"> + <field name="currency_id" invisible="1" /> <sheet> <group col="2"> - <group string="Services Details"> - <field name="vehicle_id"/> - <field name="cost_subtype_id" string="Service Type" domain="['|',('category','=','service'),('category','=','both')]" required="1"/> - <field name="amount"/> + <group> + <field name="service_type_id" /> + <field name="date" /> + <field name="amount" widget="monetary"/> + <field name="vendor_id"/> </group> - <group string="Odometer Details"> + <group> + <field name="vehicle_id"/> + <field name="purchaser_id"/> <label for="odometer"/> <div class="o_row"> <field name="odometer"/> @@ -546,26 +217,15 @@ </div> </group> </group> - <group col="2"> - <group string="Additional Details"> - <field name="date" /> - <field name="purchaser_id" /> - <field name="vendor_id"/> - <field name="inv_ref" /> - </group> - </group> - <group string="Included Services"> - <field name="cost_ids" nolabel="1"> - <tree string="Included Services" editable="bottom"> - <field name="cost_subtype_id" string="Service" domain="[('category','=','service')]"/> - <field name="amount" sum="Price" string="Indicative Cost"/> - </tree> - </field> - </group> <group string="Notes"> <field nolabel="1" name="notes" placeholder="Write here any other information related to the service completed."/> </group> </sheet> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="activity_ids" widget="mail_activity"/> + <field name="message_ids" widget="mail_thread" options='{"thread_level": 1}'/> + </div> </form> </field> </record> @@ -576,11 +236,11 @@ <field name="arch" type="xml"> <tree string="Services Logs"> <field name="date" /> + <field name="service_type_id" /> <field name="vehicle_id" /> - <field name="cost_subtype_id"/> <field name="purchaser_id"/> <field name="vendor_id" /> - <field name="inv_ref" /> + <field name="inv_ref" invisible="1" /> <field name="notes" /> <field name="amount" sum="Total"/> </tree> @@ -592,6 +252,7 @@ <field name="model">fleet.vehicle.log.services</field> <field name="arch" type="xml"> <kanban class="o_kanban_mobile"> + <field name="currency_id"/> <templates> <t t-name="kanban-box"> <div t-attf-class="oe_kanban_global_click"> @@ -602,14 +263,11 @@ </strong> </div> <div> - <field name="cost_subtype_id"/> - </div> - <div> <field name="purchaser_id"/> </div> <div> <span><field name="vendor_id"/></span> - <span class="float-right"><field name="amount"/></span> + <span class="float-right"><field name="amount" widget="monetary"/></span> </div> </div> </t> @@ -625,7 +283,7 @@ <graph string="Services Costs Per Month" stacked="True"> <field name="date" type="row"/> <field name="vehicle_id" type="row"/> - <field name="cost_amount" type="measure"/> + <field name="amount" type="measure"/> </graph> </field> </record> @@ -636,13 +294,13 @@ <field name="arch" type="xml"> <search string="Services Logs" > <field name="vehicle_id"/> - <field name="cost_subtype_id"/> + <field name="service_type_id"/> </search> </field> </record> <record id='fleet_vehicle_log_services_action' model='ir.actions.act_window'> - <field name="name">Vehicles Services Logs</field> + <field name="name">Services</field> <field name="res_model">fleet.vehicle.log.services</field> <field name="view_mode">tree,kanban,form,graph</field> <field name="help" type="html"> @@ -655,6 +313,6 @@ </field> </record> - <menuitem action="fleet_vehicle_log_services_action" parent="fleet_vehicles" id="fleet_vehicle_log_services_menu" groups="fleet_group_user"/> + <menuitem action="fleet_vehicle_log_services_action" parent="fleet_vehicles" id="fleet_vehicle_log_services_menu" groups="fleet_group_user" sequence="3"/> </odoo> diff --git a/addons/fleet/views/fleet_vehicle_model_views.xml b/addons/fleet/views/fleet_vehicle_model_views.xml index 9f69f06f91e..12449915e66 100644 --- a/addons/fleet/views/fleet_vehicle_model_views.xml +++ b/addons/fleet/views/fleet_vehicle_model_views.xml @@ -6,6 +6,7 @@ <field name="arch" type="xml"> <form string="Model"> <sheet> + <widget name="web_ribbon" text="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/> <field name="image_128" widget='image' class="oe_avatar"/> <div class="oe_title"> <label for="name" class="oe_edit_only"/> @@ -19,6 +20,7 @@ </div> <group> <group> + <field name="active" invisible="1"/> <field name="manager_id" groups="fleet.fleet_group_manager"/> </group> </group> @@ -144,7 +146,7 @@ <field name="name" /> <templates> <t t-name="kanban-box"> - <div class="oe_kanban_vignette oe_semantic_html_override"> + <div class="oe_kanban_vignette oe_semantic_html_override oe_kanban_global_click"> <a type="open" href="#" class="o_kanban_image oe_kanban_action"> <img alt="Open" t-att-src="kanban_image('fleet.vehicle.model.brand', 'image_128', record.id.raw_value)" class="img-fluid" style="width:100px;"/> </a> @@ -155,6 +157,12 @@ </a> </h4> </div> + <div class="o_kanban_button"> + <a type="object" name="action_brand_model" class="oe_kanban_action oe_kanban_action_a"> + <field name="model_count"/> + MODELS + </a> + </div> </div> </t> </templates> diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml index 829b75cc22d..49cc2975837 100644 --- a/addons/fleet/views/fleet_vehicle_views.xml +++ b/addons/fleet/views/fleet_vehicle_views.xml @@ -26,14 +26,6 @@ help="show the contract for this vehicle"> <field name="contract_count" widget="statinfo" string="Contracts"/> </button> - <button name="act_show_log_cost" - type="object" - class="oe_stat_button" - icon="fa-usd" - help="show all the costs for this vehicle" - groups="fleet.fleet_group_manager"> - <field name="cost_count" widget="statinfo" string="Costs"/> - </button> <button name="return_action_to_open" type="object" class="oe_stat_button" @@ -45,14 +37,6 @@ <button name="return_action_to_open" type="object" class="oe_stat_button" - icon="fa-flask" - context="{'xml_id':'fleet_vehicle_log_fuel_action'}" - help="show the fuel logs for this vehicle" > - <field name="fuel_logs_count" widget="statinfo" string="Fuel"/> - </button> - <button name="return_action_to_open" - type="object" - class="oe_stat_button" icon="fa-tachometer" context="{'xml_id':'fleet_vehicle_odometer_action'}" help="show the odometer logs for this vehicle" > @@ -127,6 +111,9 @@ <field name="power"/><span>kW</span> </div> </group> + <group string="Description"> + <field name="description" nolabel="1" placeholder="Write here any other information related to this vehicle" /> + </group> </group> </sheet> <div class="oe_chatter"> @@ -150,6 +137,7 @@ <field name="future_driver_id"/> <field name="log_drivers" invisible="1"/> <field name="vin_sn"/> + <field name="co2"/> <field name="acquisition_date"/> <field name="state_id"/> <field name="company_id" groups="base.group_multi_company"/> @@ -228,7 +216,7 @@ </div> <div class="oe_kanban_details"> <strong class="o_kanban_record_title"> - <field name="license_plate"/> : <field name="model_id"/> + <t t-if="license_plate"><field name="license_plate"/> :</t> <field name="model_id"/> </strong> <div class="o_kanban_tags_section"> <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/> @@ -292,19 +280,17 @@ <field name="name">Vehicles</field> <field name="res_model">fleet.vehicle</field> <field name="view_mode">kanban,tree,form,activity</field> - <field name="context">{'search_default_groupby_status': 1}</field> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> Create a new vehicle </p><p> - Manage your fleet by keeping track of the contracts, services, odometers and fuel logs associated to each vehicle. + Manage your fleet by keeping track of the contracts, services and odometers associated to each vehicle. </p> </field> </record> <menuitem name="Vehicles" parent="menu_root" id="fleet_vehicles" sequence="2" groups="fleet_group_user"/> - <menuitem action="fleet_vehicle_action" parent="fleet_vehicles" id="fleet_vehicle_menu" groups="fleet_group_user"/> - <menuitem action="fleet_vehicle_model_action" parent="fleet_vehicles" id="fleet_vehicle_model_menu" sequence="11"/> + <menuitem action="fleet_vehicle_action" parent="fleet_vehicles" id="fleet_vehicle_menu" groups="fleet_group_user" sequence="1"/> <record id='fleet_vehicle_odometer_view_form' model='ir.ui.view'> <field name="name">fleet.vehicle.odometer.form</field> @@ -390,10 +376,10 @@ </record> <record id='fleet_vehicle_odometer_action' model='ir.actions.act_window'> - <field name="name">Vehicles Odometer</field> + <field name="name">Odometers</field> <field name="res_model">fleet.vehicle.odometer</field> <field name="view_mode">tree,kanban,form,graph</field> - <field name="context">{"search_default_groupby_vehicle" : True}</field> + <field name="context"></field> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> Create a new odometer log @@ -403,7 +389,7 @@ </field> </record> - <menuitem action="fleet_vehicle_odometer_action" parent="fleet_vehicles" id="fleet_vehicle_odometer_menu" groups="fleet_group_user"/> + <menuitem action="fleet_vehicle_odometer_action" parent="fleet_vehicles" id="fleet_vehicle_odometer_menu" groups="fleet_group_user" sequence="10"/> <record id='fleet_vehicle_service_types_view_tree' model='ir.ui.view'> <field name="name">fleet.service.type.tree</field> @@ -411,7 +397,6 @@ <field name="arch" type="xml"> <tree string="Service Types" editable="top"> <field name="name" /> - <field name="category" invisible="1"/> </tree> </field> </record> @@ -420,8 +405,6 @@ <field name="name">Service Types</field> <field name="res_model">fleet.service.type</field> <field name="view_mode">tree,form</field> - <field name="domain">[('category','=','service')]</field> - <field name="context">{'default_category':'service'}</field> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> Create a new type of service @@ -430,22 +413,7 @@ </p> </field> </record> - <menuitem action="fleet_vehicle_service_types_action" parent="fleet_configuration" id="fleet_vehicle_service_types_menu" sequence="3"/> - - <record id='fleet_vehicle_contract_types_action' model='ir.actions.act_window'> - <field name="name">Contract Types</field> - <field name="res_model">fleet.service.type</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('category','=','contract')]</field> - <field name="context">{'default_category':'contract'}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Create a new type of contract - </p> - </field> - </record> - <menuitem action="fleet_vehicle_contract_types_action" parent="fleet_configuration" id="fleet_vehicle_contract_types_menu" sequence="4"/> - + <menuitem action="fleet_vehicle_service_types_action" parent="fleet_configuration" id="fleet_vehicle_service_types_menu" sequence="3" groups="base.group_no_one"/> <record id='fleet_vehicle_state_view_tree' model='ir.ui.view'> <field name="name">fleet.vehicle.state.tree</field> @@ -472,7 +440,7 @@ </field> </record> - <menuitem action="fleet_vehicle_state_action" parent="fleet_configuration" id="fleet_vehicle_state_menu" groups="fleet_group_manager"/> + <menuitem action="fleet_vehicle_state_action" parent="fleet_configuration" id="fleet_vehicle_state_menu" groups="base.group_no_one"/> <record id="fleet_vehicle_tag_view_view_form" model="ir.ui.view"> <field name="name">fleet.vehicle.tag.form</field> @@ -508,7 +476,7 @@ </field> </record> - <menuitem id="fleet_vehicle_tag_menu" parent="fleet_configuration" action="fleet_vehicle_tag_action" sequence="89"/> + <menuitem id="fleet_vehicle_tag_menu" parent="fleet_configuration" action="fleet_vehicle_tag_action" sequence="89" groups="base.group_no_one"/> <record id="fleet_vehicle_assignation_log_view_list" model="ir.ui.view"> <field name="name">fleet.vehicle.assignation.log.view.tree</field> |
