diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/membership/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/membership/views')
| -rw-r--r-- | addons/membership/views/partner_views.xml | 151 | ||||
| -rw-r--r-- | addons/membership/views/product_views.xml | 147 |
2 files changed, 298 insertions, 0 deletions
diff --git a/addons/membership/views/partner_views.xml b/addons/membership/views/partner_views.xml new file mode 100644 index 00000000..c4e8acdf --- /dev/null +++ b/addons/membership/views/partner_views.xml @@ -0,0 +1,151 @@ +<?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"/> + <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"> + <tree string="Contacts"> + <field name="membership_state" optional="hide"/> + </tree> + </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"/> + <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> diff --git a/addons/membership/views/product_views.xml b/addons/membership/views/product_views.xml new file mode 100644 index 00000000..6abf1fd4 --- /dev/null +++ b/addons/membership/views/product_views.xml @@ -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 badge-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" class="oe_edit_only"/> + <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_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.png"/> + <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> |
