7 <!-- MEMBERSHIP/MEMBERSHIP PRODUCTS -->
9 <record model="ir.ui.view" id="membership_product_search_form_view">
10 <field name="name">membership.product.search.form</field>
11 <field name="model">product.product</field>
12 <field name="arch" type="xml">
13 <search string="Membership Products">
14 <field name="name" filter_domain="['|',('name','ilike',self),('code','ilike',self)]" string="Membership Product"/>
15 <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',0)]"/>
16 <field name="categ_id" operator="child_of"/>
17 <group expand='0' string='Group by...'>
18 <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
19 <filter string='Date From' icon="terp-go-month" domain="[]" context="{'group_by' : 'membership_date_from'}"/>
25 <record model="ir.ui.view" id="membership_products_tree">
26 <field name="name">Membership products</field>
27 <field name="model">product.product</field>
28 <field name="arch" type="xml">
29 <tree string="Membership products">
32 <field name="membership_date_from"/>
33 <field name="membership_date_to"/>
34 <field name="list_price" string="Membership Fee"/>
35 <field name="categ_id" invisible="1"/>
36 <field name="uom_id" invisible="1"/>
37 <field name="type" invisible="1"/>
42 <record model="ir.ui.view" id="membership_products_form">
43 <field name="name">Membership Products</field>
44 <field name="model">product.product</field>
45 <field name="arch" type="xml">
46 <form string="Membership products" version="7.0">
48 <label for="name" class="oe_edit_only"/>
54 <field name="default_code"/>
55 <field name="categ_id"/>
56 <field name="membership" invisible="1"/>
57 <field name="company_id"
58 groups="base.group_multi_company"
60 <field name="active"/>
63 <label for="membership_date_from" string="Membership Duration"/>
65 <field name="membership_date_from" required="1" class="oe_inline"/> -
66 <field name="membership_date_to" required="1" class="oe_inline"/>
68 <field name="list_price" string="Membership Fee"/>
70 name="property_account_income"
71 domain="[('type', '!=', 'view')]"/>
72 <field name="taxes_id" widget="many2many_tags" string="Taxes"/>
75 <label for="description"/>
76 <field colspan="4" name="description" placeholder="Add a description..."/>
77 <label for="description_sale"/>
78 <field colspan="4" name="description_sale" placeholder="This note will be displayed on quotations..."/>
84 <record model="ir.ui.view" id="product_normal_form_view">
85 <field name="name">Membership Products</field>
86 <field name="model">product.product</field>
87 <field name="priority">6</field>
88 <field name="inherit_id" ref="product.product_normal_form_view"/>
89 <field name="arch" type="xml">
90 <page string="Accounting" position="after">
91 <page string="Membership">
94 <field name="membership" readonly="0"/>
96 <group attrs="{'invisible':[('membership','=',False)]}">
97 <field name="membership_date_from" readonly="0" attrs="{'required':[('membership','=',True)]}"/>
98 <field name="membership_date_to" readonly="0" attrs="{'required':[('membership','=',True)]}"/>
106 <record model="ir.actions.act_window" id="action_membership_products">
107 <field name="name">Membership Products</field>
108 <field name="res_model">product.product</field>
109 <field name="domain">[('membership','=',True), ('type', '=', 'service')]</field>
110 <field name="context">{'membership':True, 'type':'service', 'default_membership': True, 'default_type': 'service'}</field>
111 <field name="search_view_id" ref="membership_product_search_form_view"/>
114 <record model="ir.actions.act_window.view" id="action_membership_product_view_tree">
115 <field name="sequence" eval="1"/>
116 <field name="view_mode">tree</field>
117 <field name="view_id" ref="membership_products_tree"/>
118 <field name="act_window_id" ref="action_membership_products"/>
121 <record model="ir.actions.act_window.view" id="action_membership_product_view_form">
122 <field name="sequence" eval="2"/>
123 <field name="view_mode">form</field>
124 <field name="view_id" ref="membership_products_form"/>
125 <field name="act_window_id" ref="action_membership_products"/>
128 <menuitem name="Association" id="base.menu_association" icon="terp-calendar" sequence="10"/>
129 <menuitem name="Members" id="menu_membership" sequence="0" parent="base.menu_association"/>
130 <menuitem name="Configuration" id="base.menu_marketing_config_association"
131 parent="base.menu_association" sequence="30"/>
134 <menuitem name="Membership Products"
135 parent="base.menu_marketing_config_association"
136 id="menu_membership_products"
137 action="action_membership_products"
141 <!-- MEMBERSHIP/CURRENT MEMBERS -->
143 <record model="ir.ui.view" id="membership_members_tree">
144 <field name="name">Members</field>
145 <field name="model">res.partner</field>
146 <field name="arch" type="xml">
147 <tree string="Members">
149 <field name="membership_state"/>
150 <field name="associate_member" attrs="{'invisible':[('membership_state', '!=', 'none')]}"/>
151 <field name="membership_start"/>
152 <field name="membership_stop"/>
153 <field name="user_id" invisible="1"/>
158 <record id="view_res_partner_member_filter" model="ir.ui.view">
159 <field name="name">res.partner.select</field>
160 <field name="model">res.partner</field>
161 <field name="arch" type="xml">
162 <search string="Membership Partners">
163 <field name="membership_start" invisible="1"/>
164 <field name="membership_stop" string="End Membership Date"/>
165 <filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
167 <filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
169 <filter icon="terp-personal" name="all_non_members" domain="[('membership_state', 'in', ['none','canceled','old','waiting'])]" string="All non Members" help="None/Canceled/Old/Waiting"/>
170 <filter icon="terp-personal" name="all_members" domain="[('membership_state', 'in', ['invoiced','paid','free'])]" string="All Members" help="Invoiced/Paid/Free"/>
171 <group expand="0" string="Group By..." colspan="10" col="8">
172 <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}"/>
173 <filter string="Associate Member" name = "associate" icon="terp-partner" domain="[]" context="{'group_by':'associate_member'}"/>
174 <filter string=" Membership State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'membership_state'}"/>
175 <filter string="Start Date" help="Starting Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_start'}"/>
176 <filter string="End Date" help="Ending Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_stop'}"/>
182 <record model="ir.actions.act_window" id="action_membership_members">
183 <field name="name">Members</field>
184 <field name="res_model">res.partner</field>
185 <field name="search_view_id" ref="view_res_partner_member_filter"/>
186 <field name="context">{"search_default_all_members": 1, "default_free_member": True}</field>
189 <record model="ir.actions.act_window.view" id="action_membership_members_view_tree">
190 <field name="sequence" eval="2"/>
191 <field name="view_mode">tree</field>
192 <field name="view_id" ref="membership_members_tree"/>
193 <field name="act_window_id" ref="action_membership_members"/>
196 <record model="ir.actions.act_window.view" id="action_membership_members_view_form">
197 <field name="sequence" eval="3"/>
198 <field name="view_mode">form</field>
199 <field name="view_id" ref="base.view_partner_form"/>
200 <field name="act_window_id" ref="action_membership_members"/>
202 <record model="ir.actions.act_window.view" id="action_membership_members_view_kanban">
203 <field name="sequence" eval="1"/>
204 <field name="view_mode">kanban</field>
205 <field name="view_id" ref="base.res_partner_kanban_view"/>
206 <field name="act_window_id" ref="action_membership_members"/>
209 <menuitem name="Members" parent="menu_membership" id="menu_members" sequence="2" action="action_membership_members"/>
213 <record model="ir.ui.view" id="view_partner_tree">
214 <field name="name">res.partner.tree.form.inherit</field>
215 <field name="model">res.partner</field>
216 <field name="inherit_id" ref="base.view_partner_tree"/>
217 <field name="arch" type="xml">
218 <tree string="Contacts">
219 <field name="category_id" position="after"/>
220 <field name="membership_state"/>
225 <record model="ir.ui.view" id="view_partner_form">
226 <field name="name">res.partner.form.inherit</field>
227 <field name="model">res.partner</field>
228 <field name="inherit_id" ref="base.view_partner_form"/>
229 <field name="arch" type="xml">
230 <notebook position="inside">
231 <page string="Membership">
234 <field name="free_member"/>
235 <label for="membership_state"/>
237 <field name="membership_state"/>
238 <button name="%(action_membership_invoice_view)d" type="action" string="Buy Membership"
239 attrs="{'invisible':[('free_member','=',True)]}" class="oe_link"/>
243 <field name="associate_member" attrs="{'invisible':[('free_member','=',True)]}"/>
244 <field name="membership_start" attrs="{'invisible':[('membership_start','=',False)]}"/>
245 <field name="membership_stop" attrs="{'invisible':[('membership_stop','=',False)]}"/>
246 <field name="membership_cancel" attrs="{'invisible':[('membership_cancel','=',False)]}"/>
249 <field name="member_lines" nolabel="1" colspan="4" readonly="1">
250 <tree string="Memberships">
252 <field name="membership_id"/>
253 <field name="member_price"/>
254 <field name="account_invoice_id"/>
255 <field name="state"/>
257 <form string="Memberships">
259 <field name="member_price"/>
260 <field name="membership_id"/>
261 <field name="account_invoice_id"/>
262 <field name="state" colspan="4"/>
271 <!-- MEMBERSHIP/REPORTING -->
272 <menuitem name="Reporting" id="base.menu_report_association" parent="base.menu_association" sequence="20"/>