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.
 
 
 
 
 

233 lines
13 KiB

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- Fleet vehicle form view-->
<record id="fleet_vehicle_view_form" model="ir.ui.view">
<field name="name">fleet.vehicle.view.form.inherit.fleet.rental</field>
<field name="model">fleet.vehicle</field>
<field name="inherit_id" ref="fleet.fleet_vehicle_view_form"/>
<field name="arch" type="xml">
<field name="car_value" position="after">
<field name="rental_check_availability" invisible="1"/>
<field name="rental_reserved_time" invisible="1"/>
</field>
<field name="color" position="replace">
<field name="color"/>
</field>
</field>
</record>
<!-- Car rental contract form view-->
<record id="car_rental_contract_view_form" model="ir.ui.view">
<field name="name">car.rental.contract.view.form</field>
<field name="model">car.rental.contract</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="car_result">
<header>
<button name="action_confirm" string="Confirm" type="object"
invisible="state != 'draft'"
class="oe_highlight"/>
<button name="action_run" string="Run" type="object"
invisible="state != 'reserved'"
class="oe_highlight"/>
<button name="action_cancel" string="Cancel" type="object"
invisible="state not in ['draft', 'reserved']"
class="oe_highlight"/>
<button name="action_invoice_create" string="Create Invoice"
invisible="((state != 'running') or (first_invoice_created == True) or (read_only == True))"
type="object" class="oe_highlight"/>
<button name="action_extend_rent" string="Extend Rent"
invisible="((state != 'running') or (read_only == True) or (first_invoice_created == False))"
type="object"
class="oe_highlight"/>
<button name="action_confirm_extend_rent" string="Confirm Extend"
invisible="((state != 'running') or (read_only == False))" type="object"
class="oe_highlight"/>
<button name="action_discard_extend" string="Discard Extend"
invisible="((state != 'running') or (read_only == False))" type="object"
class="oe_highlight"/>
<button name="force_checking" string="Force Checking"
invisible="((state != 'running') or (first_invoice_created == False))"
type="object" class="oe_highlight"/>
<button name="set_to_done" string="Set to Done"
invisible="state not in ['invoice']" type="object" class="oe_highlight"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,running,done"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="action_view_invoice" class="oe_stat_button" icon="fa-money" type="object">
<div class="o_form_field o_stat_info">
<field string="Invoice" name="invoice_count"
widget="statinfo"/>
</div>
</button>
</div>
<field name="image" widget='image' class="oe_avatar"/>
<div class="oe_title">
<h1>
<field name="name"/>
</h1>
</div>
<group>
<separator string="Contract Details " colspan="4"/>
<group>
<field name="customer_id" string="Customer"
readonly="state != 'draft'"/>
<field name="rent_by_hour" readonly="state != 'draft'"/>
<field name="read_only" invisible="1"/>
<field name="rent_start_date"
readonly="state != 'draft'"/>
<field name="start_time" widget="timepicker_time" invisible="rent_by_hour == False"
readonly="state != 'draft'" required="rent_by_hour == True"/>
<field name="rent_end_date"
readonly="((state != 'draft') and (read_only == False))"/>
<field name="end_time" widget="timepicker_time" invisible="rent_by_hour == False"
readonly="(state != 'draft') and (read_only == False)" required="rent_by_hour == True"/>
<field name="vehicle_id"
domain="[('rental_check_availability','=',True),('state_id.name','!=','Inactive')]"
readonly="state != 'draft'"
options="{'no_create': True}"/>
<field name="journal_type" invisible="1"/>
<field name="check_verify" invisible="1"/>
<field name="sales_person"
readonly="state != 'draft'"/>
</group>
<group>
<field name="car_brand"/>
<field name="car_color"/>
<field name="company_id"/>
<field name="first_invoice_created" invisible="1"/>
<label for="first_payment"/>
<div>
<field name="first_payment" class="oe_inline"
readonly="((state not in ['draft', 'running']) or (first_invoice_created == True))"/>
<field name="first_payment_inv" style="width:142px;" readonly="1"/>
</div>
<field name="account_type" invisible="1"/>
<field name="cost" invisible="1"/>
<label for="cost_generated"/>
<div>
<field name="cost_frequency" class="oe_inline"
readonly="(state != 'draft')"/>
<field name="cost_generated" style="width:142px;"
invisible="cost_frequency == 'no'"
readonly="state != 'draft'"
required="cost_frequency not in [None, False , 'no']"/>
</div>
</group>
</group>
<notebook>
<page string="Recurring Invoices"
invisible="cost_frequency in [None,False,'no']">
<field name="recurring_line" mode="tree">
<tree string="Fleet Reccurring Lines"
colors="#0b7a35:payment_info=='paid';#f20b07:payment_info!='paid'">
<field name="date_today"/>
<field name="date_due"/>
<field name="name"/>
<field name="account_info"/>
<field name="recurring_amount"/>
<field name="payment_info"/>
<field name="invoice_ref"/>
</tree>
</field>
</page>
<page string="Checklist">
<group>
<group>
<field name="attachment_ids"
widget="many2many_binary"
class="oe_inline"/>
</group>
<group>
<field name="damage_cost"
invisible="state != 'checking'"/>
</group>
</group>
<field name="checklist_line" readonly="(state == 'invoice') or (state == 'done') or (state == 'cancel')">
<tree string="Fleet Checklist Lines"
editable="bottom">
<field name="name"/>
<field name="checklist_active"/>
<field name="checklist_number" invisible="True"/>
<field name="price"/>
</tree>
<form>
<sheet>
<group>
<field name="name"/>
<field name="checklist_active"
invisible="1"/>
<field name="checklist_number"
invisible="1"/>
</group>
</sheet>
</form>
</field>
<div>
<group class="oe_subtotal_footer oe_right">
<field name="total"/>
<field name="tools_missing_cost"/>
<field name="damage_cost_sub"/>
<field name="total_cost"
class="oe_subtotal_footer_separator"/>
</group>
</div>
<div style="float: right;margin-left: 78%;margin-bottom: 36px;">
<button name="action_verify" string="Verify"
type="object"
style="width: 100px !important;height: 40px;"
invisible="state != 'checking'"
class="oe_subtotal_footer oe_right oe_highlight"/>
</div>
</page>
</notebook>
<group>
<field name="notes"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<!-- Car rental contract tree view-->
<record id="car_rental_contract_view_tree" model="ir.ui.view">
<field name="name">car.rental.contract.view.tree</field>
<field name="model">car.rental.contract</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="car_contract_result" decoration-info="state == 'draft'">
<field name="name"/>
<field name="customer_id" string="Customer"/>
<field name="vehicle_id"/>
<field name="cost_generated"/>
<field name="car_brand"/>
<field name="car_color"/>
<field name="rent_start_date"/>
<field name="rent_end_date"/>
<field name="state"/>
</tree>
</field>
</record>
<!-- Action rental contract-->
<record id="action_car_rental_contract" model="ir.actions.act_window">
<field name="name">Rental Contract</field>
<field name="res_model">car.rental.contract</field>
<field name="view_mode">tree,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('car_rental_contract_view_tree')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('car_rental_contract_view_form')})]"/>
</record>
<menuitem name="Fleet Rental" id="fleet.menu_root" sequence="115"
groups="fleet.fleet_group_user"
web_icon="fleet_rental,static/description/icon.png"/>
<menuitem id="menu_car_parent" sequence="1" name="Rental Management"
parent="fleet.menu_root"/>
<menuitem id="menu_car_rental_contract" parent="menu_car_parent"
name="Rental Contract"
action="action_car_rental_contract" sequence="1"/>
</odoo>