mirror of
https://github.com/bringout/oca-ocb-vertical-industry.git
synced 2026-04-24 13:31:58 +02:00
Initial commit: Vertical Industry packages
This commit is contained in:
commit
d5567a0017
766 changed files with 733028 additions and 0 deletions
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- MEMBERSHIP/CURRENT MEMBERS -->
|
||||
|
||||
<record model="ir.ui.view" id="membership_members_tree">
|
||||
<field name="name">Members</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Members">
|
||||
<field name="name"/>
|
||||
<field name="membership_state" widget="badge" decoration-info="membership_state =='waiting'"
|
||||
decoration-success="membership_state in ['invoiced', 'free', 'paid']"/>
|
||||
<field name="associate_member"/>
|
||||
<field name="membership_start"/>
|
||||
<field name="membership_stop"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_res_partner_member_filter" model="ir.ui.view">
|
||||
<field name="name">res.partner.select</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority">50</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Membership Partners">
|
||||
<field name="name"
|
||||
filter_domain="['|', '|', ('name', 'ilike', self), ('parent_id', 'ilike', self), ('ref' , '=', self)]"/>
|
||||
<field name="category_id"/>
|
||||
<field name="membership_start" invisible="1"/>
|
||||
<field name="membership_stop" string="End Membership Date"/>
|
||||
<filter name="customer" string="Customers" domain="[('customer_rank' ,'>', 0)]"/>
|
||||
<filter name="supplier" string="Vendors" domain="[('supplier_rank', '>', 0)]"/>
|
||||
<separator/>
|
||||
<filter name="all_members" string="Members" domain="[('membership_state', 'in', ['invoiced', 'paid', 'free'])]" help="Invoiced/Paid/Free"/>
|
||||
<separator/>
|
||||
<filter string="Start Date" name="start_date" date="membership_start"/>
|
||||
<filter string="End Date" name="end_date" date="membership_stop"/>
|
||||
<group expand="0" string="Group By" colspan="10" col="8">
|
||||
<filter string="Salesperson" name="salesperson" domain="[]" context="{'group_by' : 'user_id'}"/>
|
||||
<filter string="Associate Member" name = "associate" domain="[]" context="{'group_by': 'associate_member'}"/>
|
||||
<filter string="Membership State" name="membership_state" domain="[]" context="{'group_by': 'membership_state'}"/>
|
||||
<filter string="Start Date" name="start_month" help="Starting Date Of Membership" domain="[]" context="{'group_by': 'membership_start'}"/>
|
||||
<filter string="End Date" name="end_month" help="Ending Date Of Membership" domain="[]" context="{'group_by': 'membership_stop'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_membership_members">
|
||||
<field name="name">Members</field>
|
||||
<field name="res_model">res.partner</field>
|
||||
<field name="view_mode">kanban,tree,form,activity</field>
|
||||
<field name="search_view_id" ref="view_res_partner_member_filter"/>
|
||||
<field name="context">{"search_default_all_members": 1, "default_free_member": True}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Add a new member
|
||||
</p><p>
|
||||
Odoo helps you easily track all activities related to a member:
|
||||
Current Membership Status, Discussions and History of Membership, etc.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_membership_members_view_tree">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="membership_members_tree"/>
|
||||
<field name="act_window_id" ref="action_membership_members"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_membership_members_view_form">
|
||||
<field name="sequence" eval="3"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="base.view_partner_form"/>
|
||||
<field name="act_window_id" ref="action_membership_members"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_membership_members_view_kanban">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">kanban</field>
|
||||
<field name="view_id" ref="base.res_partner_kanban_view"/>
|
||||
<field name="act_window_id" ref="action_membership_members"/>
|
||||
</record>
|
||||
<menuitem name="Members" id="menu_membership" sequence="0" parent="menu_association" action="action_membership_members"/>
|
||||
|
||||
<!-- PARTNERS -->
|
||||
|
||||
<record model="ir.ui.view" id="view_partner_tree">
|
||||
<field name="name">res.partner.tree.form.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="category_id" position="after">
|
||||
<field name="membership_state" optional="hide" decoration-info="membership_state =='waiting'"
|
||||
decoration-success="membership_state in ['invoiced', 'free', 'paid']" widget="badge"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_partner_form">
|
||||
<field name="name">res.partner.form.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Membership" name="membership">
|
||||
<group>
|
||||
<group>
|
||||
<field name="free_member"/>
|
||||
<label for="membership_state"/>
|
||||
<div>
|
||||
<field name="membership_state" class="oe_inline"/>
|
||||
<button name="%(action_membership_invoice_view)d" type="action" string="Buy Membership"
|
||||
attrs="{'invisible':[('free_member','=',True)]}" class="oe_link"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="associate_member" attrs="{'invisible':[('free_member','=',True)]}"/>
|
||||
<field name="membership_start" attrs="{'invisible':[('membership_start','=',False)]}"/>
|
||||
<field name="membership_stop" attrs="{'invisible':[('membership_stop','=',False)]}"/>
|
||||
<field name="membership_cancel" attrs="{'invisible':[('membership_cancel','=',False)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="member_lines" nolabel="1" colspan="4" readonly="1">
|
||||
<tree string="Memberships">
|
||||
<field name="date"/>
|
||||
<field name="membership_id"/>
|
||||
<field name="member_price"/>
|
||||
<field name="account_invoice_id"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
<form string="Memberships">
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="membership_id"/>
|
||||
<field name="date"/>
|
||||
<field name="state"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="member_price"/>
|
||||
<field name="account_invoice_id" context="{'form_view_ref': 'account.view_move_form'}"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- MEMBERSHIP -->
|
||||
|
||||
<!-- MEMBERSHIP/MEMBERSHIP PRODUCTS -->
|
||||
|
||||
<record model="ir.ui.view" id="membership_product_search_form_view">
|
||||
<field name="name">membership.product.search.form</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="priority">50</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Membership Products">
|
||||
<field name="name" string="Membership Product"/>
|
||||
<filter string="Inactive" name="inactive" domain="[('active','=',False)]"/>
|
||||
<field name="categ_id" operator="child_of"/>
|
||||
<group expand='0' string='Group by...'>
|
||||
<filter string='Category' name="category" domain="[]" context="{'group_by' : 'categ_id'}"/>
|
||||
<filter string='Start Date' name="from_month" domain="[]" context="{'group_by' : 'membership_date_from'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="membership_products_tree">
|
||||
<field name="name">Membership products</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="priority">50</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Membership products">
|
||||
<field name="name"/>
|
||||
<field name="membership_date_from"/>
|
||||
<field name="membership_date_to"/>
|
||||
<field name="list_price" string="Membership Fee"/>
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="uom_id" invisible="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="membership_products_kanban" model="ir.ui.view">
|
||||
<field name="name">product.template.kanban</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_mobile">
|
||||
<field name="name"/>
|
||||
<field name="membership_date_from"/>
|
||||
<field name="membership_date_to"/>
|
||||
<field name="list_price"/>
|
||||
<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">
|
||||
<strong class="o_kanban_record_title"><span class="mt4"><field name="name"/></span></strong>
|
||||
</div>
|
||||
<span class="badge rounded-pill"><i class="fa fa-money" role="img" aria-label="Price" title="Price"/> <field name="list_price"/></span>
|
||||
</div>
|
||||
<div class="o_kanban_record_body">
|
||||
<i class="fa fa-clock-o" role="img" aria-label="Period" title="Period"></i><strong> From: </strong><field name="membership_date_from"/><strong> To:</strong> <field name="membership_date_to"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="membership_products_form">
|
||||
<field name="name">Membership Products</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="priority">50</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Membership products">
|
||||
<sheet>
|
||||
<label for="name" string="Product Name"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group name="product_details">
|
||||
<field name="default_code"/>
|
||||
<field name="categ_id"/>
|
||||
<field name="membership" invisible="1"/>
|
||||
<field name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
options="{'no_create': True}"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</group>
|
||||
<group name="membership_details">
|
||||
<label for="membership_date_from" string="Membership Duration"/>
|
||||
<div class="o_row">
|
||||
<field name="membership_date_from" required="1"/> -
|
||||
<field name="membership_date_to" required="1"/>
|
||||
</div>
|
||||
<field name="list_price" string="Membership Fee"/>
|
||||
<field
|
||||
name="property_account_income_id"/>
|
||||
<field name="taxes_id" widget="many2many_tags" string="Taxes"/>
|
||||
</group>
|
||||
</group>
|
||||
<label for="description"/>
|
||||
<field colspan="4" name="description" placeholder="Add a description..."/>
|
||||
<label for="description_sale"/>
|
||||
<field colspan="4" name="description_sale" placeholder="This note will be displayed on quotations..."/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_membership_products">
|
||||
<field name="name">Membership Products</field>
|
||||
<field name="res_model">product.template</field>
|
||||
<field name="domain">[('membership','=',True), ('type', '=', 'service')]</field>
|
||||
<field name="context">{'membership':True, 'type':'service', 'default_membership': True, 'default_detailed_type': 'service'}</field>
|
||||
<field name="search_view_id" ref="membership_product_search_form_view"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_membership_product_view_tree">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="membership_products_tree"/>
|
||||
<field name="act_window_id" ref="action_membership_products"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_membership_product_view_form">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="membership_products_form"/>
|
||||
<field name="act_window_id" ref="action_membership_products"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_membership_product_view_kanban">
|
||||
<field name="sequence" eval="3"/>
|
||||
<field name="view_mode">kanban</field>
|
||||
<field name="view_id" ref="membership_products_kanban"/>
|
||||
<field name="act_window_id" ref="action_membership_products"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Members" id="menu_association" sequence="15" web_icon="membership,static/description/icon.svg"/>
|
||||
<menuitem name="Configuration" id="menu_marketing_config_association"
|
||||
parent="menu_association" sequence="100"/>
|
||||
<menuitem name="Membership Products" id="menu_membership_products" parent="menu_marketing_config_association"
|
||||
action="action_membership_products"/>
|
||||
|
||||
</odoo>
|
||||
Loading…
Add table
Add a link
Reference in a new issue