Currently, to remove link of x2m field from any record, sometimes there's no way. For example, if we are on mobile and open any Quotation, it's linked quotation lines are automatically converted in kanban, and there is no way to delete a line from that quotation. However, in some of the manually designed kanban, there is special 'x' for removing / unlinking x2m record, for example, Contacts of Partner. This commit makes the behavior more consistent. During edition (mobile and desktop), if a view dialog is opened on click of x2m field, it will have one 'Remove' button (based on user rights) on right side of dialog footer, allowing users to delete / unlink the record. Moreover, in mobile, the modal is opened fullscreen, with sticky header and footer. Related Task# : 31641 Closes PR #15857 Co-authored-by: Mohammed Shekha <msh@openerp.com>
157 lines
6.8 KiB
XML
157 lines
6.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<record id='fleet_vehicle_model_view_form' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.model.form</field>
|
|
<field name="model">fleet.vehicle.model</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Model">
|
|
<sheet>
|
|
<field name="image_medium" widget='image' class="oe_avatar"/>
|
|
<div class="oe_title">
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1>
|
|
<field name="name" placeholder="e.g. Model S"/>
|
|
</h1>
|
|
<label for="brand_id" class="oe_edit_only"/>
|
|
<h2>
|
|
<field name="brand_id" placeholder="e.g. Tesla"/>
|
|
</h2>
|
|
</div>
|
|
<notebook>
|
|
<page string="Vendors" name="vendors">
|
|
<field name="vendors">
|
|
<kanban quick_create="false" create="true">
|
|
<field name="name"/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div style="position: relative" class="oe_kanban_global_click">
|
|
<div class="oe_module_vignette">
|
|
<div class="oe_module_desc o_kanban_record_title">
|
|
<field name="name"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id='fleet_vehicle_model_view_tree' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.model.tree</field>
|
|
<field name="model">fleet.vehicle.model</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Models">
|
|
<field name="brand_id" />
|
|
<field name="name" />
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id='fleet_vehicle_model_view_search' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.model.search</field>
|
|
<field name="model">fleet.vehicle.model</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Vehicles costs" >
|
|
<field name="brand_id" />
|
|
<group expand="1" string="Group By">
|
|
<filter name="groupby_brand" context="{'group_by' : 'brand_id'}" string="Make"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id='fleet_vehicle_model_action' model='ir.actions.act_window'>
|
|
<field name="name">Vehicle Model</field>
|
|
<field name="res_model">fleet.vehicle.model</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="context">{"search_default_groupby_brand" : True,}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create a new model
|
|
</p><p>
|
|
You can define several models (e.g. A3, A4) for each make (Audi).
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem name="Fleet" id="menu_root" sequence="115" groups="fleet_group_user" web_icon="fleet,static/description/icon.png"/>
|
|
<menuitem name="Configuration" parent="menu_root" id="fleet_configuration" sequence="100" groups="fleet_group_manager"/>
|
|
|
|
<record id='fleet_vehicle_model_brand_view_tree' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.model.brand.tree</field>
|
|
<field name="model">fleet.vehicle.model.brand</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Model Make">
|
|
<field name="name" />
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id='fleet_vehicle_model_brand_view_form' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.model.brand.form</field>
|
|
<field name="model">fleet.vehicle.model.brand</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Model Make">
|
|
<group>
|
|
<div>
|
|
<field name="image_medium" widget="image" class="oe_avatar"/>
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1>
|
|
<field name="name"/>
|
|
</h1>
|
|
</div>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id='fleet_vehicle_model_brand_view_kanban' model='ir.ui.view'>
|
|
<field name="name">fleet.vehicle.model.brandkanban</field>
|
|
<field name="model">fleet.vehicle.model.brand</field>
|
|
<field name="arch" type="xml">
|
|
<kanban>
|
|
<field name="id"/>
|
|
<field name="name" />
|
|
<field name="image" />
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div class="oe_kanban_vignette oe_semantic_html_override">
|
|
<a type="open" href="#" class="o_kanban_image oe_kanban_action">
|
|
<img alt="Open" t-att-src="kanban_image('fleet.vehicle.model.brand', 'image_small', record.id.raw_value)" class="img-fluid" style="width:100px;"/>
|
|
</a>
|
|
<div class="oe_kanban_details">
|
|
<h4 class="oe_partner_heading">
|
|
<a type="open" class="o_kanban_record_title">
|
|
<field name="name"/>
|
|
</a>
|
|
</h4>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<record id='fleet_vehicle_model_brand_action' model='ir.actions.act_window'>
|
|
<field name="name">Model make of Vehicle</field>
|
|
<field name="res_model">fleet.vehicle.model.brand</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">kanban,tree,form</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create a new make
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem action="fleet_vehicle_model_brand_action" parent="fleet_configuration" id="fleet_vehicle_model_brand_menu" sequence="2"/>
|
|
</odoo>
|