-
Marco Folco authored
Now the res.partner is a insurance_grouper Each plan has an associated res.partner Modified views, grouper view is a simplified view of the plan partner one Modified views names, 'health insurances' is now 'Groupers' and 'Health Insurance Plans' is now 'Health Insurances'
Marco Folco authoredNow the res.partner is a insurance_grouper Each plan has an associated res.partner Modified views, grouper view is a simplified view of the plan partner one Modified views names, 'health insurances' is now 'Groupers' and 'Health Insurance Plans' is now 'Health Insurances'
insurance_grouper_view.xml 16.36 KiB
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- Form View -->
<record id="insurance_grouper_view_form" model="ir.ui.view">
<field name="name">insurance.grouper.form</field>
<field name="model">res.partner</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<form string="Insurance Grouper">
<sheet>
<div class="oe_title">
<h1 class="mt0">
<field name="ref" class="col-2 oe_inline" placeholder="XXXX" required="True"/>
-
<field name="name" class="col-7" placeholder="Name" required="True"/>
</h1>
<field name="partner_type" readonly="True" invisible="True"/>
</div>
<group>
<group>
<field name="can_import_roll"/>
<field name="requires_plan"/>
</group>
<group>
<field name="phone" widget="phone"/>
<field name="email" widget="email" context="{'gravatar_image': True}"/>
<field name="website" widget="url" placeholder="e.g. https://www.eynes.com.ar"/>
</group>
</group>
<notebook>
<page name="health_insurance_plans" string="Plans" autofocus="autofocus">
<field name="health_insurance_plan_ids">
<tree editable="top">
<field name="name"/>
<field name="code"/>
</tree>
</field>
</page>
<page string="Contacts & Addresses">
<field name="child_ids" mode="kanban">
<kanban>
<field name="id"/>
<field name="color"/>
<field name="name"/>
<field name="title"/>
<field name="type"/>
<field name="email"/>
<field name="parent_id"/>
<field name="is_company"/>
<field name="function"/>
<field name="phone"/>
<field name="street"/>
<field name="street2"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>
<field name="mobile"/>
<field name="state_id"/>
<field name="image_small"/>
<field name="lang"/>
<!-- fields in form x2many view to diminish requests -->
<field name="comment"/>
<field name="customer"/>
<field name="display_name"/>
<field name="supplier"/>
<templates>
<t t-name="kanban-box">
<t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
<div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
<div class="o_kanban_image">
<img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/>
<t t-if="!record.image_small.raw_value">
<img alt="Delivery" t-if="record.type.raw_value === 'delivery'" t-att-src="_s + "/base/static/img/truck.png""/>
<img alt="Invoice" t-if="record.type.raw_value === 'invoice'" t-att-src="_s + "/base/static/img/money.png""/>
<t t-if="record.type.raw_value !== 'invoice' && record.type.raw_value !== 'delivery'">
<img alt="Logo" t-if="record.is_company.raw_value === true" t-att-src="_s + "/base/static/img/company_image.png""/>
<img alt="Avatar" t-if="record.is_company.raw_value === false" t-att-src="_s + "/base/static/img/avatar.png""/>
</t>
</t>
</div>
<div class="oe_kanban_details">
<field name="name"/>
<div t-if="record.function.raw_value"><field name="function"/></div>
<div t-if="record.email.raw_value"><field name="email" widget="email"/></div>
<div t-if="record.type.raw_value != 'contact'">
<div>
<field name="zip"/>
<field name="city"/>
</div>
<field t-if="record.state_id.raw_value" name="state_id"/>
<field name="country_id"/>
</div>
<div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
<div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
</div>
</div>
</t>
</templates>
</kanban>
<form string="Contact / Address">
<sheet>
<!-- parent_id and type fields needed in attrs in base_address_city module which overwrites
_fields_view_get() of partner. It would be better to put those fields there but the web client
dosen't support when a field is displayed several times in the same view.-->
<field name="type" required="1" widget="radio" options="{'horizontal': true}"/>
<field name="parent_id" invisible="1"/>
<hr/>
<group>
<group attrs="{'invisible': [('type','=', 'contact')]}">
<label for="street" string="Address"/>
<div>
<div class="o_address_format" name="div_address">
<field name="street" placeholder="Street..." class="o_address_street"/>
<field name="street2" placeholder="Street 2..." class="o_address_street"/>
<field name="city" placeholder="City" class="o_address_city"/>
<field name="state_id" class="o_address_state" placeholder="State" options="{"no_open": True}" context="{'country_id': country_id, 'zip': zip}"/>
<field name="zip" placeholder="ZIP" class="o_address_zip"/>
<field name="country_id" placeholder="Country" class="o_address_country" options="{"no_open": True, "no_create": True}"/>
</div>
</div>
</group>
<group>
<field name="name" string="Contact Name" attrs="{'required' : [('type', '=', 'contact')]}"/>
<field name="title" placeholder="e.g. Mr." attrs="{'invisible': [('type','!=', 'contact')]}"/>
<field name="function" placeholder="e.g. Sales Director" attrs="{'invisible': [('type','!=', 'contact')]}"/>
<field name="email"/>
<field name="phone" widget="phone"/>
<field name="mobile" widget="phone"/>
<field name="comment" placeholder="internal note..."/>
</group>
</group>
<field name="supplier" invisible="True"/>
<field name="customer" invisible="True"/>
<field name="lang" invisible="True"/>
<field name="image" invisible="True"/>
<field name="user_id" invisible="True"/>
</sheet>
</form>
</field>
</page>
<page name="internal_notes" string="Internal Notes">
<field name="comment" placeholder="Internal note..."/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<!-- Kanban View -->
<record id="insurance_grouper_view_kanban" model="ir.ui.view">
<field name="name">insurance.grouper.kanban</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<kanban>
<field name="id"/>
<field name="name"/>
<field name="email"/>
<field name="state_id"/>
<field name="zip"/>
<field name="city"/>
<field name="phone"/>
<field name="country_id"/>
<field name="ref"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
<div class="o_kanban_record_top">
<div class="o_kanban_record_headings">
<h1><field name="name" class="o_kanban_record_title"/></h1>
</div>
<div class="oe_inline" style="border: 1px solid #dee2e6;">
<strong style="padding: 3px;"><field name="ref"/></strong>
</div>
</div>
<div t-if="record.email.raw_value"><field name="email" widget="email"/></div>
<div>
<field name="zip"/>
<field name="city"/>
</div>
<field t-if="record.state_id.raw_value" name="state_id"/>
<field name="country_id"/>
<div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!-- Tree View -->
<record id="insurance_grouper_view_tree" model="ir.ui.view">
<field name="name">insurance.grouper.tree</field>
<field name="model">res.partner</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree string="Health Insurances">
<field name="name" string="Name"/>
<field name="ref"/>
<field name="email"/>
<field name="phone"/>
</tree>
</field>
</record>
<!-- Search View -->
<record id="insurance_grouper_view_search" model="ir.ui.view">
<field name="name">health.insurance.search</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<search string="Search grouper">
<field name="name"
filter_domain="['|','|',('display_name','ilike',self),
('ref','=',self),('email','ilike',self)]"/>
<field name="ref"/>
</search>
</field>
</record>
<!-- Action View -->
<record id="insurance_grouper_action" model="ir.actions.act_window">
<field name="name">Groupers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
<field name="search_view_id" ref="insurance_grouper_view_search"/>
<field name="domain">[('partner_type','=','insurance')]</field>
<field name="context">{'default_partner_type': 'insurance'}</field>
</record>
<record id="insurance_grouper_action_kanban_view" model="ir.actions.act_window.view">
<field name="sequence" eval="1"/>
<field name="view_mode">kanban</field>
<field name="view_id" ref="insurance_grouper_view_kanban"/>
<field name="act_window_id" ref="insurance_grouper_action"/>
</record>
<record id="insurance_grouper_action_tree_view" model="ir.actions.act_window.view">
<field name="sequence" eval="2"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="insurance_grouper_view_tree"/>
<field name="act_window_id" ref="insurance_grouper_action"/>
</record>
<record id="insurance_grouper_action_form_view" model="ir.actions.act_window.view">
<field name="sequence" eval="3"/>
<field name="view_mode">form</field>
<field name="view_id" ref="insurance_grouper_view_form"/>
<field name="act_window_id" ref="insurance_grouper_action"/>
</record>
<!-- Menu Item -->
<menuitem id="menu_insurance_grouper" name="Groupers"
parent="health_insurance.menu_health_insurance_root"
action="insurance_grouper_action" sequence="1" groups="base.group_user"/>
</data>
</odoo>