odex25_standard/odex25_sales/dev_membership/views/dev_membership.xml

273 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!--tree-->
<record id="view_dev_membership_tree" model="ir.ui.view">
<field name="name">view.dev.membership.tree</field>
<field name="model">dev.membership</field>
<field name="arch" type="xml">
<tree string="Dev Membership Tree View">
<field name="name"/>
<field name="partner_id"/>
<field optional="hide" name="id_no"/>
<field optional="hide" name="phone"/>
<field optional="hide" name="email"/>
<field name="product_id"/>
<field name="membership_fees"/>
<field name="date"/>
<field name="activity_ids" widget="list_activity"/>
<field name="from_date"/>
<field name="to_date"/>
<field name="state" widget="badge" decoration-success="state in ['active', 'confirm']"
decoration-danger="state == 'expire'" decoration-warning="state == 'draft'"/>
</tree>
</field>
</record>
<!--form-->
<record id="view_dev_membership_form" model="ir.ui.view">
<field name="name">view.dev.membership.form</field>
<field name="model">dev.membership</field>
<field name="arch" type="xml">
<form string="Dev Membership Form View">
<header>
<button name='create_membership_invoice' type="object" string='Create Invoice' class="oe_highlight"
attrs="{'invisible':['|','|',('is_free','=',True),
('state','!=','confirm'),('invoice_id','!=',False)]}"/>
<button name="action_active_membership" type="object" string="Active" class="oe_highlight"
attrs="{'invisible': ([('state', '!=', 'confirm')])}"/>
<button name="action_confirm_membership" type="object" string="Confirm" class="oe_highlight"
attrs="{'invisible': ([('state', '!=', 'draft')])}"/>
<button name="action_set_to_draft" type="object" string="Set To Draft"
attrs="{'invisible': ([('state', '!=', 'cancel')])}"/>
<button string="Send by Mail" name="membership_send_by_mail" type="object" class="oe_highlight"
attrs="{'invisible': ([('state', 'not in', ['confirm', 'draft'])])}"/>
<button string="Renew Membership" name="%(dev_membership.action_renew_membership)d" type="action"
class="oe_highlight"
attrs="{'invisible':['|',('membership_id','!=',False),('state','not in',['expire','active','cancel'])]}"/>
<button name="%(dev_membership.membership_request_cancel_wizard_action)d" type="action" string="Cancel"
attrs="{'invisible': ([('state', 'in', ['cancel'])])}"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,active"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="view_membership" type="object"
class="oe_stat_button"
icon="fa-vcard-o" attrs="{'invisible' : [('membership_id', '=', False)]}">
<div class="o_stat_info">
<span class="o_stat_text">Membership</span>
</div>
</button>
<button name="view_invoice" type="object"
class="oe_stat_button"
icon="fa-pencil-square-o" attrs="{'invisible' : [('invoice_id', '=', False)]}">
<div class="o_stat_info">
<span class="o_stat_text">Invoice</span>
</div>
</button>
</div>
<h2>
<field name="name"/>
</h2>
<group>
<group>
<field name="partner_id" attrs="{'readonly': ([('state', '!=', 'draft')])}"/>
<field name="id_no"/>
<field invisible='1' name="is_free"/>
<field name="phone"/>
<field name="email"/>
<field name="product_id"
context="{'form_view_ref': 'dev_membership.form_membership_product'}"
attrs="{'readonly': ([('state', '!=', 'draft')])}"/>
<field name="membership_fees"/>
</group>
<group>
<field name="date" attrs="{'readonly': ([('state', '!=', 'draft')])}"/>
<label for="from_date" string="Membership Date"/>
<div class="address_format">
<field name="from_date" style="width: 48%; font-size:13px;"
attrs="{'readonly': ([('state', '!=', 'draft')])}"/>
-
<field name="to_date"
style="width: 48%; padding:3px; font-size:13px;" readonly="1" force_save="1"/>
</div>
<label for="duration" string="Membership Duration"/>
<div class="address_format">
<field name="duration" style="width: 48%; font-size:13px;"/>
<field name="interval"
style="width: 48%; padding:3px; font-size:13px;"/>
</div>
<field name="user_id" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="company_id" attrs="{'readonly': ([('state', '!=', 'draft')])}"/>
<field name="membership_id" invisible="1"/>
<field name="invoice_id" invisible="1"/>
</group>
</group>
<div>
<h3>
<label for="description"/>
</h3>
<field name="description" attrs="{'readonly': ([('state', '!=', 'draft')])}"/>
</div>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids" />
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<!--kanban-->
<record id="view_dev_membership_kanban" model="ir.ui.view">
<field name="name">view.dev.membership.kanban</field>
<field name="model">dev.membership</field>
<field name="arch" type="xml">
<kanban class="o_dev_membership_kanban">
<field name="id"/>
<field name="name"/>
<field name="partner_id"/>
<field name="company_id"/>
<field name="from_date"/>
<field name="to_date"/>
<field name="state"/>
<field name="activity_ids" widget="list_activity" optional="show"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="oe_kanban_details">
<div class="o_kanban_record_top">
<div class="o_kanban_record_headings">
<div class="card-header" style="text:center; margin-bottom:10px">
<h6>
<field name="name"/>
</h6>
</div>
<strong class="o_kanban_record_title">
<field name="product_id"/>
Membership
</strong>
<div name="from_date">
<field name="from_date"/>
-
<field name="to_date"/>
</div>
<div t-if="record.partner_id.value">
<t t-esc="record.partner_id.value"/>
</div>
<div t-if="record.company_id.value">
<t t-esc="record.company_id.value"/>
</div>
<div class="oe_kanban_bottom_right">
<h5>
<field name="state" widget="label_selection"
options="{'classes': {'draft': 'warning', 'expire': 'danger', 'confirm': 'success', 'active' : 'success'}}"/>
</h5>
</div>
<div class="o_kanban_record_bottom">
<div class="oe_kanban_bottom_left text-muted">
<span>
<t t-esc="record.from_date.value"/>
</span>
</div>
</div>
<field name="activity_ids" widget="kanban_activity"/>
<br/>
</div>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!-- search view -->
<record id="view_dev_membership_search" model="ir.ui.view">
<field name="name">search.dev.membership</field>
<field name="model">dev.membership</field>
<field name="arch" type="xml">
<search string="SES">
<field name="name"/>
<field name="partner_id"/>
<field name="product_id"/>
<group expand="0" string="Group by" colspan="16">
<filter name="partner_id" string="Partner" context="{'group_by':'partner_id'}"/>
<filter name="product_id" string="Product" context="{'group_by':'product_id'}"/>
<filter name="company_id" string="Company" context="{'group_by':'company_id'}"/>
<filter name="state_group" string="State" context="{'group_by':'state'}"/>
</group>
<filter name="state" string="Active" domain="[('state', '=', 'active')]"/>
<filter name="state_expire" string="Expire" domain="[('state', '=', 'expire')]"/>
</search>
</field>
</record>
<!-- add activity -->
<record id="view_dev_membership_activity" model="ir.ui.view">
<field name="name">activity.dev.membership</field>
<field name="model">dev.membership</field>
<field name="arch" type="xml">
<activity string="Memberships">
<field name="id"/>
<templates>
<div t-name="activity-box">
<img t-att-src="activity_image('dev.membership', 'image_128', record.id.raw_value)" role="img"
t-att-title="record.id.value" t-att-alt="record.id.value"/>
<div>
<field name="name" display="full"/>
<field name="partner_id" muted="1" display="full"/>
</div>
</div>
</templates>
</activity>
</field>
</record>
<!-- end -->
<!--All Membership Action-->
<record id="action_dev_membership" model="ir.actions.act_window">
<field name="name">Memberships</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dev.membership</field>
<field name="view_mode">kanban,tree,activity,form</field>
</record>
<!-- Active Membership-->
<record id="action_active_membership" model="ir.actions.act_window">
<field name="name">Active Memberships</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dev.membership</field>
<field name="view_mode">kanban,tree,activity,form</field>
<field name="domain">[('state', '=', 'active')]</field>
</record>
<!-- Expire Membership-->
<record id="action_expire_membership" model="ir.actions.act_window">
<field name="name">Expire Memberships</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dev.membership</field>
<field name="view_mode">kanban,tree,activity,form</field>
<field name="domain">[('state', 'in', ['cancel','expire'])]</field>
</record>
<menuitem name="Memberships"
id="menu_membership1"
parent="menu_membership_root"
action="action_dev_membership"
sequence="1"/>
<menuitem name="Active Memberships"
id="menu_active_membership"
parent="menu_membership_root"
action="action_active_membership"
sequence="3"/>
<menuitem name="Expire Memberships"
id="menu_expire_membership"
parent="menu_membership_root"
action="action_expire_membership"
sequence="4"/>
</odoo>