You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
204 lines
11 KiB
204 lines
11 KiB
<?xml version="1.0" encoding="utf-8" ?>
|
|
<odoo>
|
|
<!--Tree View of Fleet Vehicle-->
|
|
<record id="fleet_vehicle_view_tree" model="ir.ui.view">
|
|
<field name="name">fleet.vehicle.view.tree.inherit.advanced.fleet.rental</field>
|
|
<field name="model">fleet.vehicle</field>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">70</field>
|
|
<field name="inherit_id" ref="fleet.fleet_vehicle_view_tree"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='state_id']" position="replace">
|
|
<field name="status" widget="badge" readonly="1"
|
|
optional="hide"
|
|
decoration-success="status == 'operational'"
|
|
decoration-danger="status == 'undermaintenance'"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
<!--Form View of Fleet Vehicle-->
|
|
<record id="fleet_vehicle_view_form" model="ir.ui.view">
|
|
<field name="name">fleet.vehicle.view.form.inherit.advanced.fleet.rental</field>
|
|
<field name="model">fleet.vehicle</field>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">70</field>
|
|
<field name="inherit_id" ref="fleet.fleet_vehicle_view_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//div[hasclass('oe_button_box')]" position="before">
|
|
<widget name="web_ribbon" title="Operational"
|
|
bg_color="bg-success"
|
|
invisible="status == 'undermaintenance'"
|
|
/>
|
|
<widget name="web_ribbon" title="Under Maintenance"
|
|
bg_color="bg-danger"
|
|
invisible="status == 'operational'"/>
|
|
</xpath>
|
|
<xpath expr="//field[@name='state_id']" position="replace">
|
|
<field name="status" widget="statusbar"
|
|
options="{'clickable': '1'}"/>
|
|
</xpath>
|
|
<xpath expr="//sheet/notebook" position="before">
|
|
<group>
|
|
<group string="Rent Details">
|
|
<field name="rent_hour"/>
|
|
<field name="rent_day"/>
|
|
<field name="rent_kilometer"/>
|
|
</group>
|
|
<group string="Extra Charge Details">
|
|
<field name="charge_hour"/>
|
|
<field name="charge_day"/>
|
|
<field name="charge_kilometer"/>
|
|
</group>
|
|
</group>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
<!--Kanban View of Fleet Vehicle-->
|
|
<record id='fleet_vehicle_view_kanban' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.view.kanban</field>
|
|
<field name="model">fleet.vehicle</field>
|
|
<field name="arch" type="xml">
|
|
<kanban default_group_by="state_id" sample="1">
|
|
<field name="license_plate"/>
|
|
<field name="model_id"/>
|
|
<field name="driver_id"/>
|
|
<field name="future_driver_id"/>
|
|
<field name="location"/>
|
|
<field name="state_id"/>
|
|
<field name="id"/>
|
|
<field name="tag_ids"/>
|
|
<field name="contract_renewal_due_soon"/>
|
|
<field name="contract_renewal_overdue"/>
|
|
<field name="contract_renewal_name"/>
|
|
<field name="contract_renewal_total"/>
|
|
<field name="contract_count"/>
|
|
<field name="activity_ids"/>
|
|
<field name="activity_state"/>
|
|
<field name="status"/>
|
|
<progressbar field="activity_state"
|
|
colors='{"planned": "success", "today": "warning", "overdue": "danger"}'/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div class="oe_kanban_global_click o_kanban_record_has_image_fill">
|
|
<div class="o_kanban_image">
|
|
<img t-attf-src="#{kanban_image('fleet.vehicle', 'image_128', record.id.raw_value)}"
|
|
t-att-alt="record.id.value"/>
|
|
</div>
|
|
<div class="oe_kanban_details">
|
|
<strong class="o_kanban_record_title">
|
|
<t t-if="record.license_plate.raw_value">
|
|
<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'}"/>
|
|
</div>
|
|
<ul>
|
|
<li>
|
|
<t t-if="record.driver_id.raw_value">
|
|
<field name="driver_id"
|
|
widget="many2one_avatar"
|
|
options="{'display_avatar_name': True}"/>
|
|
</t>
|
|
</li>
|
|
<li>
|
|
<t t-if="record.future_driver_id.raw_value">
|
|
Future Driver :
|
|
<field name="future_driver_id"/>
|
|
</t>
|
|
</li>
|
|
<li>
|
|
<t t-if="record.location.raw_value">
|
|
<small>
|
|
<i class="fa fa-map-marker"
|
|
title="Location"></i>
|
|
<field name="location"/>
|
|
</small>
|
|
</t>
|
|
</li>
|
|
<li>
|
|
<field name="vehicle_properties"
|
|
widget="properties"/>
|
|
</li>
|
|
</ul>
|
|
<div class="o_kanban_record_bottom" style="display:block;"
|
|
t-if="!selection_mode">
|
|
<div class="oe_kanban_bottom_left">
|
|
<a t-if="record.contract_count.raw_value>0"
|
|
data-type="object"
|
|
data-name="return_action_to_open"
|
|
href="#"
|
|
class="oe_kanban_action oe_kanban_action_a"
|
|
data-context='{"xml_id":"fleet_vehicle_log_contract_action"}'>
|
|
<field name="contract_count"/>
|
|
Contract(s)
|
|
<span t-if="record.contract_renewal_due_soon.raw_value and !record.contract_renewal_overdue.raw_value"
|
|
class="fa fa-exclamation-triangle text-warning"
|
|
role="img"
|
|
aria-label="Warning: renewal due soon"
|
|
title="Warning: renewal due soon">
|
|
</span>
|
|
<span t-if="record.contract_renewal_overdue.raw_value"
|
|
class="fa fa-exclamation-triangle text-danger"
|
|
role="img"
|
|
aria-label="Attention: renewal overdue"
|
|
title="Attention: renewal overdue">
|
|
</span>
|
|
</a>
|
|
<field name="activity_ids"
|
|
widget="kanban_activity"/>
|
|
</div>
|
|
<div class="oe_kanban_bottom_right">
|
|
<t t-if="record.status.raw_value">
|
|
<t t-set="classname"
|
|
t-value="{
|
|
'operational': 'text-bg-success',
|
|
'undermaintenance': 'text-bg-danger',
|
|
}[record.status.raw_value] || 'text-bg-light'"/>
|
|
<span t-esc="record.status.value"
|
|
t-attf-class="rounded-pill {{ classname }}" style="padding: 0.1rem 0.4rem;"/>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
<!--Action View of Fleet Vehicle-->
|
|
<record id='action_fleet_vehicle' model='ir.actions.act_window'>
|
|
<field name="name">Vehicles</field>
|
|
<field name="res_model">fleet.vehicle</field>
|
|
<field name="view_mode">kanban,tree,form,pivot,activity</field>
|
|
<field name="view_ids" eval="[(5, 0, 0),
|
|
(0, 0, {'view_mode': 'kanban', 'view_id': ref('fleet_vehicle_view_kanban')}),
|
|
(0, 0, {'view_mode': 'tree', 'view_id': ref('fleet_vehicle_view_tree')}),
|
|
(0, 0, {'view_mode': 'form', 'view_id': ref('fleet_vehicle_view_form')})]"/>
|
|
<field name="context">{'default_fleet_rental_management': True}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Ready to manage your fleet more efficiently?
|
|
</p>
|
|
<p>
|
|
Let's create your first vehicle.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
<!--Corresponding Menu-->
|
|
<menuitem id="vehicle_management_root"
|
|
name="Fleet Rental Management"
|
|
web_icon="advanced_fleet_rental,static/description/icon.png"
|
|
sequence="1"/>
|
|
<!-- SubMenu-->
|
|
<menuitem
|
|
id="menu_vehicles"
|
|
name="Vehicles"
|
|
parent="vehicle_management_root"
|
|
action="action_fleet_vehicle"
|
|
sequence="2"/>
|
|
</odoo>
|