mirror of
https://gitlab.com/sonalarora/tra_backend.git
synced 2025-12-24 05:35:30 +02:00
610 lines
31 KiB
XML
610 lines
31 KiB
XML
<odoo>
|
|
|
|
<!-- Inherited view of res_partner -->
|
|
<record id="view_member_tree_inherit" model="ir.ui.view">
|
|
<field name="name">view.tree.tree.inherit</field>
|
|
<field name="model">res.partner</field>
|
|
<field name="inherit_id" ref="base.view_partner_tree"/>
|
|
<field name="arch" type="xml">
|
|
<field name="display_name" position="before">
|
|
<field name="is_member" invisible="1"/>
|
|
<field name="membership_number" attrs="{'invisible':[('is_member','=',False)]}"/>
|
|
</field>
|
|
<field name="phone" position="before">
|
|
<field name="gender"/>
|
|
<field name="account_manager_id"/>
|
|
<field name="analytic_id" attrs="{'invisible':[('is_member','=',False)]}"/>
|
|
<field name="occupation"/>
|
|
</field>
|
|
<field name="phone" position="after">
|
|
<field name="mobile"/>
|
|
</field>
|
|
<field name="email" position="after">
|
|
<field name="nationality_id"/>
|
|
<field name="lang" string="Preferred Language"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
<record id="view_member_form_inherit" model="ir.ui.view">
|
|
<field name="name">view.member.form.inherit</field>
|
|
<field name="model">res.partner</field>
|
|
<field name="inherit_id" ref="base.view_partner_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="name" position="after">
|
|
<field name="is_member" invisible="1"/>
|
|
<group>
|
|
<label for="membership_number" attrs="{'invisible':[('is_member','=',False)]}"/>
|
|
<div>
|
|
<field name="membership_number" attrs="{'invisible':[('is_member','=',False)]}"/>
|
|
</div>
|
|
</group>
|
|
</field>
|
|
<xpath expr="/form/sheet/group/group[1]"
|
|
position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<xpath expr="/form/sheet/group" position="inside">
|
|
<group>
|
|
<field name="emirate_number"/>
|
|
<field name="passport_number"/>
|
|
<field name="nationality_id"/>
|
|
<field name="lang"/>
|
|
</group>
|
|
</xpath>
|
|
<field name="vat" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</field>
|
|
<field name="website" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</field>
|
|
<xpath expr="//group/field[@name='function']" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<xpath expr="//div/field[@name='parent_id']" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<field name="email" position="attributes">
|
|
<attribute name="required">1</attribute>
|
|
</field>
|
|
<xpath expr="//page[@name='sales_purchases']/group/group[@name='sale']/field[@name='user_id']"
|
|
position="after">
|
|
<field name="is_member" invisible="1"/>
|
|
</xpath>
|
|
<xpath expr="//group/field[@name='category_id']" position="before">
|
|
<field name="user_id" invisible="1"/>
|
|
</xpath>
|
|
<xpath expr="//group/field[@name='category_id']"
|
|
position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<xpath expr="//field[@name='lang']" position="after">
|
|
<field name="measurements" invisible="1"/>
|
|
<field name="membership" invisible="1"/>
|
|
</xpath>
|
|
<xpath expr="//field[@name='image_1920']" position="after">
|
|
<h1>
|
|
<field name="reg_no" readonly="1"
|
|
attrs="{'invisible':[('is_member','=',False)]}"/>
|
|
</h1>
|
|
</xpath>
|
|
<xpath expr="/form/sheet" position="before">
|
|
<header>
|
|
<button name="open_user"
|
|
type="object"
|
|
string="Open User"
|
|
groups='gym.group_gym_operator'
|
|
attrs="{'invisible':[('user_id','=',False)]}"/>
|
|
</header>
|
|
</xpath>
|
|
<xpath expr="//notebook/page[@name='sales_purchases']"
|
|
position="before">
|
|
<page string="Measurement History" attrs="{'invisible':[('is_member','=',False)]}">
|
|
<group cols='2' colspan='2'>
|
|
<field name="member_measurement_ids" nolabel='1'
|
|
context="{'member_invisible':1}">
|
|
<form>
|
|
<sheet>
|
|
<separator string="Member's Detail"
|
|
col="4"/>
|
|
<group>
|
|
<field name="date"/>
|
|
</group>
|
|
<separator string="Height - Weight"
|
|
col="4"/>
|
|
<group>
|
|
<label for="weight" string="Weight"/>
|
|
<div>
|
|
<field name="weight"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_weight_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. kg"/>
|
|
</div>
|
|
<label for="height" string="Height"/>
|
|
<div>
|
|
<field name="height"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_height_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. foot"/>
|
|
</div>
|
|
<field name="bmi"/>
|
|
<field name="bmr"/>
|
|
</group>
|
|
<separator string="Body Measurement"
|
|
col="4"/>
|
|
<group col="2">
|
|
<label for="neck" string="Neck"/>
|
|
<div>
|
|
<field name="neck"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_neck_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="chest"/>
|
|
<div>
|
|
<field name="chest"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_chest_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="biceps"/>
|
|
<div>
|
|
<field name="biceps"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_biceps_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="waist"/>
|
|
<div>
|
|
<field name="waist"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_waist_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="hips"/>
|
|
<div>
|
|
<field name="hips"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_hips_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="thigh"/>
|
|
<div>
|
|
<field name="thigh"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_thigh_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="calf"/>
|
|
<div>
|
|
<field name="calf"
|
|
class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_calf_id"
|
|
class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</group>
|
|
</page>
|
|
</xpath>
|
|
<xpath expr="//button[@name='%(membership.action_membership_invoice_view)d']"
|
|
position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_task_partner_info_form_inherit" model="ir.ui.view">
|
|
<field name="name">view.task.partner.info.form.inherit</field>
|
|
<field name="model">res.partner</field>
|
|
<field name="inherit_id" ref="project.view_task_partner_info_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="task_count" position="attributes">
|
|
<attribute name="string">Workouts</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Action of Measurement History -->
|
|
<record id="action_measurement_history" model="ir.actions.act_window">
|
|
<field name="name">Measurements</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">body.measurement</field>
|
|
<field name="binding_view_types">form</field>
|
|
<field name="view_mode">kanban,tree,form</field>
|
|
</record>
|
|
|
|
<!-- Action of Member Measurement History -->
|
|
<record id="action_member_measurement_history"
|
|
model="ir.actions.act_window">
|
|
<field name="name">Member Measurement History</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">body.measurement</field>
|
|
<field name="binding_view_types">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('partner_id', '=', active_id)]</field>
|
|
</record>
|
|
|
|
<!--Kanban view of member -->
|
|
<record id="member_kanban_view_new" model="ir.ui.view">
|
|
<field name="name">member.kanban.view.new</field>
|
|
<field name="model">res.partner</field>
|
|
<field name="arch" type="xml">
|
|
<kanban class="o_res_partner_kanban">
|
|
<field name="id"/>
|
|
<field name="color"/>
|
|
<field name="display_name"/>
|
|
<field name="title"/>
|
|
<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="category_id"/>
|
|
<field name="image_128"/>
|
|
<field name="type"/>
|
|
<field name="measurements"/>
|
|
<field name="membership"/>
|
|
<field name="task_count"/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban">
|
|
<t t-if="!record.is_company.raw_value">
|
|
<t t-if="record.type.raw_value === 'delivery'" t-set="placeholder" t-value="'/base/static/img/truck.png'"/>
|
|
<t t-elif="record.type.raw_value === 'invoice'" t-set="placeholder" t-value="'/base/static/img/money.png'"/>
|
|
<t t-else="" t-set="placeholder" t-value="'/base/static/img/avatar_grey.png'"/>
|
|
<div class="o_kanban_image_fill_left d-none d-md-block" t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)}')">
|
|
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"/>
|
|
</div>
|
|
<div class="o_kanban_image rounded-circle d-md-none" t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)}')">
|
|
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"/>
|
|
</div>
|
|
</t>
|
|
<t t-else="">
|
|
<t t-set="placeholder" t-value="'/base/static/img/company_image.png'"/>
|
|
<div class="o_kanban_image_fill_left o_kanban_image_full" t-attf-style="background-image: url(#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)})" role="img"/>
|
|
</t>
|
|
<div class="oe_kanban_details">
|
|
<strong class="oe_partner_heading">
|
|
<field name="display_name"/>
|
|
</strong>
|
|
<ul>
|
|
<li
|
|
t-if="record.parent_id.raw_value and !record.function.raw_value">
|
|
<field name="parent_id"/>
|
|
</li>
|
|
<li
|
|
t-if="!record.parent_id.raw_value and record.function.raw_value">
|
|
<field name="function"/>
|
|
</li>
|
|
<li
|
|
t-if="record.parent_id.raw_value and record.function.raw_value">
|
|
<field name="function"/>
|
|
at
|
|
<field name="parent_id"/>
|
|
</li>
|
|
<li t-if="record.city.raw_value and !record.country_id.raw_value">
|
|
<field name="city"/>
|
|
</li>
|
|
<li t-if="!record.city.raw_value and record.country_id.raw_value">
|
|
<field name="country_id"/>
|
|
</li>
|
|
<li t-if="record.city.raw_value and record.country_id.raw_value">
|
|
<field name="city"/>
|
|
,
|
|
<field name="country_id"/>
|
|
</li>
|
|
<li t-if="record.email.raw_value"
|
|
class="o_text_overflow">
|
|
<field name="email"/>
|
|
</li>
|
|
</ul>
|
|
<div class="oe_kanban_partner_links">
|
|
<div id="measurement"
|
|
style="float: left; padding-right: 3px;">
|
|
<a name="%(gym.action_member_measurement_history)d"
|
|
type="action"
|
|
id="measurement_div"
|
|
context="{'default_partner_id': active_id}">
|
|
<div>
|
|
<span t-esc="record.measurements.value"/> :
|
|
Measurements
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<br/>
|
|
<div id="membership"
|
|
style="float: left; padding-right: 3px;">
|
|
<a name="%(gym.action_member_membership_plan)d"
|
|
context="{'default_partner': active_id}"
|
|
type="action">
|
|
<div>
|
|
<span t-esc="record.membership.value"/> :
|
|
Memberships
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<br/>
|
|
<div id="task_count"
|
|
style="float: left; padding-right: 3px;">
|
|
<a name="%(gym.action_view_member_task)d"
|
|
type="action"
|
|
context="{'default_partner_id': active_id}">
|
|
<div>
|
|
<span t-esc="record.task_count.value"/> :
|
|
Workout
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<!--Action for members menu -->
|
|
<record id="action_member" model="ir.actions.act_window">
|
|
<field name="name">Members</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">res.partner</field>
|
|
<field name="binding_view_types">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('is_member','=',True)]</field>
|
|
<field name="context">{"member_default":True}</field>
|
|
</record>
|
|
|
|
<!-- Binding the action of customer -->
|
|
<record id="view_member_kanban" model="ir.actions.act_window.view">
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="member_kanban_view_new"/>
|
|
<field name="act_window_id" ref="action_member"/>
|
|
</record>
|
|
|
|
<!-- parent menu -->
|
|
<menuitem id="menu_gym" name="Gym Management"/>
|
|
|
|
<!-- Sub Menu as members -->
|
|
<menuitem id="menu_member" action="action_member"
|
|
parent="gym.menu_gym" sequence="1"/>
|
|
|
|
<!-- Form view of Measurement History -->
|
|
<record id="view_measurement_history_form" model="ir.ui.view">
|
|
<field name="name">view.measurement.history.form</field>
|
|
<field name="model">body.measurement</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<sheet>
|
|
<separator string="Member's Detail" col="4"/>
|
|
<group>
|
|
<field name="partner_id" required="1"
|
|
invisible="context.get('member_invisible', False)"
|
|
domain="[('is_member','=',True)]"
|
|
context="{'default_is_member':True}"/>
|
|
<field name="date"/>
|
|
</group>
|
|
<separator string="Height - Weight" col="4"/>
|
|
<group>
|
|
<label for="weight" string="Weight"/>
|
|
<div>
|
|
<field name="weight" class="oe_inline"/>⁣
|
|
<field name="umo_weight_id" class="oe_inline"
|
|
nolabel="1" placeholder="e.g. kg"/>
|
|
</div>
|
|
<label for="height" string="Height"/>
|
|
<div>
|
|
<field name="height" class="oe_inline"/>⁣
|
|
<field name="umo_height_id" class="oe_inline"
|
|
nolabel="1" placeholder="e.g. foot"/>
|
|
</div>
|
|
<field name="bmi" readonly="1"/>
|
|
<field name="bmr"/>
|
|
</group>
|
|
<separator string="Body Measurement" col="4"/>
|
|
<group col="4">
|
|
<label for="neck" string="Neck"/>
|
|
<div>
|
|
<field name="neck" class="oe_inline"/>⁣
|
|
<field name="umo_neck_id" class="oe_inline"
|
|
nolabel="1" placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="chest"/>
|
|
<div>
|
|
<field name="chest" class="oe_inline"/>⁣
|
|
<field name="umo_chest_id" class="oe_inline"
|
|
nolabel="1" placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="biceps"/>
|
|
<div>
|
|
<field name="biceps" class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_biceps_id" class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="waist"/>
|
|
<div>
|
|
<field name="waist" class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_waist_id" class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="hips"/>
|
|
<div>
|
|
<field name="hips" class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_hips_id" class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="thigh"/>
|
|
<div>
|
|
<field name="thigh" class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_thigh_id" class="oe_inline"
|
|
nolabel="1" placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
<label for="calf"/>
|
|
<div>
|
|
<field name="calf" class="oe_inline"/>
|
|
⁣
|
|
<field name="umo_calf_id" class="oe_inline"
|
|
nolabel="1"
|
|
placeholder="e.g. inch(s)"/>
|
|
</div>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Tree view of Measurement History -->
|
|
<record id="view_measurement_history_tree" model="ir.ui.view">
|
|
<field name="name">view.measurement.history.tree</field>
|
|
<field name="model">body.measurement</field>
|
|
<field name="arch" type="xml">
|
|
<tree>
|
|
<field name="date"/>
|
|
<field name="weight"/>
|
|
<field name="height"/>
|
|
<field name="bmi"/>
|
|
<field name="bmr"/>
|
|
<field name="neck"/>
|
|
<field name="biceps"/>
|
|
<field name="hips"/>
|
|
<field name="calf"/>
|
|
<field name="chest"/>
|
|
<field name="waist"/>
|
|
<field name="thigh"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
|
|
<!-- Search view of Measurement History -->
|
|
<record id="view_measurement_search" model="ir.ui.view">
|
|
<field name="name">view.measurement.search</field>
|
|
<field name="model">body.measurement</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="partner_id"/>
|
|
<filter name="group_by_member" domain="[]" string="Member"
|
|
context="{'group_by':'partner_id'}"/>
|
|
<filter name="group_by_date_day" domain="[]" string="Day"
|
|
context="{'group_by':'date:day'}"/>
|
|
<filter name="group_by_date_month" domain="[]" string="Month"
|
|
context="{'group_by':'date:month'}"/>
|
|
<filter name="group_by_date_year" domain="[]" string="Year"
|
|
context="{'group_by':'date:year'}"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!--Pivot view of Measurement History -->
|
|
<record id="measurement_view_pivot" model="ir.ui.view">
|
|
<field name="name">measurement.pivot</field>
|
|
<field name="model">body.measurement</field>
|
|
<field name="arch" type="xml">
|
|
<pivot string="Measurement">
|
|
<field name="partner_id" type="row"/>
|
|
<field name="date" type="col measure"/>
|
|
<field name="neck" type="measure"/>
|
|
<field name="chest" type="measure"/>
|
|
<field name="biceps" type="measure"/>
|
|
<field name="waist" type="measure"/>
|
|
<field name="hips" type="measure"/>
|
|
<field name="thigh" type="measure"/>
|
|
<field name="calf" type="measure"/>
|
|
<field name="weight" type="measure"/>
|
|
<field name="height" type="measure"/>
|
|
</pivot>
|
|
</field>
|
|
</record>
|
|
|
|
<!--Graph view of Measurement History -->
|
|
<record id="measurement_view_graph" model="ir.ui.view">
|
|
<field name="name">measurement.graph</field>
|
|
<field name="model">body.measurement</field>
|
|
<field name="arch" type="xml">
|
|
<graph string="Measurement">
|
|
<field name="partner_id"/>
|
|
<field name="date"/>
|
|
<field name="weight" type="measure"/>
|
|
</graph>
|
|
</field>
|
|
</record>
|
|
|
|
<!--Action for Measurement Analysis -->
|
|
<record id="measurement_graph_action" model="ir.actions.act_window">
|
|
<field name="name">Measurements Analysis</field>
|
|
<field name="res_model">body.measurement</field>
|
|
<field name="binding_view_types">form</field>
|
|
<field name="view_mode">pivot,graph</field>
|
|
<field name="view_id"></field> <!-- force empty -->
|
|
<field name="context">{'search_default_group_by_member': 1,
|
|
'search_default_group_by_date_day': 1}
|
|
</field>
|
|
</record>
|
|
|
|
<!--Main Menu of Measurement history -->
|
|
<menuitem
|
|
id="menu_measurement_history"
|
|
name="Measurements"
|
|
sequence="14"
|
|
web_icon="gym,static/description/icon2.png"
|
|
action="action_measurement_history"
|
|
/>
|
|
|
|
<!--Measurement history menu-->
|
|
<!-- <menuitem id="menu_measurement"
|
|
parent="gym.menu_measurement_history" sequence="1"/> -->
|
|
|
|
<!--Main Menu of Report -->
|
|
<menuitem id="menu_report" name="Report"
|
|
parent="gym.menu_measurement_history"/>
|
|
|
|
<!-- Measurement history analysis report -->
|
|
<menuitem id="menu_measurement_report" parent="gym.menu_report"
|
|
sequence="2" action="measurement_graph_action"/>
|
|
|
|
</odoo>
|