9 <!-- MEMBERSHIP/MEMBERSHIP PRODUCTS -->
11 <record model="ir.ui.view" id="membership_product_search_form_view">
12 <field name="name">membership.product.search.form</field>
13 <field name="model">product.product</field>
14 <field name="type">search</field>
15 <field name="arch" type="xml">
16 <search string="Membership Products">
17 <filter string="To Sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
18 <filter string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]" />
19 <separator orientation="vertical"/>
20 <field name="default_code"/>
22 <field name="categ_id" widget="selection" operator="child_of"/>
24 <group expand='0' string='Group by...' groups="base.group_extended">
25 <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" />
26 <separator orientation="vertical"/>
27 <filter string='Default UOM' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}" />
30 <group expand="0" string="Extended Filters..." groups="base.group_extended">
31 <field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
37 <record model="ir.ui.view" id="membership_products_tree">
38 <field name="name">Membership products</field>
39 <field name="model">product.product</field>
40 <field name="type">tree</field>
41 <field name="arch" type="xml">
42 <tree string="Membership products">
45 <field name="membership_date_from"/>
46 <field name="membership_date_to"/>
47 <field name="list_price" string="Membership Fee"/>
48 <field name="categ_id" invisible="1"/>
49 <field name="uom_id" invisible="1"/>
50 <field name="type" invisible="1"/>
55 <record model="ir.ui.view" id="membership_products_form">
56 <field name="name">Membership Products</field>
57 <field name="model">product.product</field>
58 <field name="type">form</field>
59 <field name="arch" type="xml">
60 <form string="Membership products">
63 <field name="default_code"/>
64 <field name="active"/>
65 <field name="membership_date_from" required="1"/>
66 <field name="membership_date_to" required="1"/>
67 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
69 <notebook colspan="4">
70 <page string="General">
71 <separator string="Accounting Info" colspan="2"/>
72 <separator string="Categorization" colspan="2"/>
73 <field name="list_price" />
75 <field name="property_account_income"/>
76 <field name="categ_id"/>
77 <separator string="Sale Taxes" colspan="2"/>
79 <field name="taxes_id" nolabel="1" colspan="4"/>
81 <page string="Description">
82 <separator string="Description"/>
83 <field colspan="4" name="description" nolabel="1"/>
84 <separator string="Sale Description"/>
85 <field colspan="4" name="description_sale" nolabel="1"/>
86 <separator string="Purchase Description"/>
87 <field colspan="4" name="description_purchase" nolabel="1"/>
90 <!--field name="list_price" string="Membership Fee"/>
91 <separator colspan="4" string="Customer Taxes:"/>
92 <field name="taxes_id" colspan="4" nolabel="1"/-->
98 <record model="ir.ui.view" id="product_normal_form_view">
99 <field name="name">Membership Products</field>
100 <field name="model">product.product</field>
101 <field name="inherit_id" ref="product.product_normal_form_view"/>
102 <field name="arch" type="xml">
103 <page string="Information" position="after">
104 <page string="Membership">
105 <field name="membership" readonly="0"/>
107 <field name="membership_date_from" readonly="0" attrs="{'required':[('membership','=',True)]}"/>
108 <field name="membership_date_to" readonly="0" attrs="{'required':[('membership','=',True)]}"/>
114 <record model="ir.actions.act_window" id="action_membership_products">
115 <field name="name">Membership Products</field>
116 <field name="res_model">product.product</field>
117 <field name="domain">[('membership','=',True), ('type', '=', 'service')]</field>
118 <field name="context">{'membership':True, 'type':'service'}</field>
119 <field name="search_view_id" ref="membership_product_search_form_view"/>
122 <record model="ir.actions.act_window.view" id="action_membership_product_view_tree">
123 <field name="sequence" eval="1"/>
124 <field name="view_mode">tree</field>
125 <field name="view_id" ref="membership_products_tree"/>
126 <field name="act_window_id" ref="action_membership_products"/>
129 <record model="ir.actions.act_window.view" id="action_membership_product_view_form">
130 <field name="sequence" eval="2"/>
131 <field name="view_mode">form</field>
132 <field name="view_id" ref="membership_products_form"/>
133 <field name="act_window_id" ref="action_membership_products"/>
136 <menuitem name="Association" id="base.menu_association" icon="terp-calendar" sequence="9"/>
137 <menuitem name="Membership" id="menu_membership" sequence="0" parent="base.menu_association"/>
138 <menuitem name="Membership Products"
139 parent="menu_membership"
140 id="menu_membership_products"
141 action="action_membership_products"
143 groups="base.group_partner_manager"/>
146 <!-- MEMBERSHIP/CURRENT MEMBERS -->
148 <record model="ir.ui.view" id="membership_members_tree">
149 <field name="name">Members</field>
150 <field name="model">res.partner</field>
151 <field name="type">tree</field>
152 <field name="arch" type="xml">
153 <tree string="Members">
155 <field name="membership_state"/>
156 <field name="associate_member" attrs="{'invisible':[('membership_state', '!=', 'none')]}"/>
157 <field name="membership_start"/>
158 <field name="membership_stop"/>
159 <field name="user_id" invisible="1"/>
164 <record id="view_res_partner_member_filter" model="ir.ui.view">
165 <field name="name">res.partner.select</field>
166 <field name="model">res.partner</field>
167 <field name="type">search</field>
168 <field name="arch" type="xml">
169 <field name="category_id" position="after">
170 <filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
171 <filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
172 <separator orientation="vertical"/>
173 <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"/>
174 <filter icon="terp-personal" name="all_members" domain="[('membership_state', 'in', ['invoiced','paid','free'])]" string="All Members" help="Invoiced/Paid/Free"/>
175 <separator orientation="vertical"/>
176 <field name="membership_stop" string="End Membership Date"/>
177 <field name="membership_start" invisible="1"/>
183 <record id="view_res_partner_member_filter2" model="ir.ui.view">
184 <field name="name">res.partner.select2</field>
185 <field name="model">res.partner</field>
186 <field name="inherit_id" ref="view_res_partner_member_filter"/>
187 <field name="type">search</field>
188 <field name="arch" type="xml">
189 <field name="membership_start" position="after">
191 <group expand="0" string="Group By" colspan="10" col="8">
192 <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
193 <filter string="Associate Member" name = "associate" icon="terp-partner" domain="[]" context="{'group_by':'associate_member'}"/>
194 <separator orientation="vertical"/>
195 <filter string=" Membership State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'membership_state'}"/>
196 <separator orientation="vertical"/>
197 <filter string="Start Date" help="Starting Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_start'}"/>
198 <filter string="End Date" help="Ending Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_stop'}"/>
204 <record model="ir.actions.act_window" id="action_membership_members">
205 <field name="name">Members</field>
206 <field name="res_model">res.partner</field>
207 <field name="search_view_id" ref="view_res_partner_member_filter"/>
208 <field name="context">{"search_default_old": 1}</field>
209 <field name="context">{"search_default_all_members": 1}</field>
212 <record model="ir.actions.act_window.view" id="action_membership_members_view_tree">
213 <field name="sequence" eval="1"/>
214 <field name="view_mode">tree</field>
215 <field name="view_id" ref="membership_members_tree"/>
216 <field name="act_window_id" ref="action_membership_members"/>
219 <record model="ir.actions.act_window.view" id="action_membership_members_view_form">
220 <field name="sequence" eval="2"/>
221 <field name="view_mode">form</field>
222 <field name="view_id" ref="base.view_partner_form"/>
223 <field name="act_window_id" ref="action_membership_members"/>
226 <menuitem name="Members" parent="menu_membership" id="menu_members" sequence="2" action="action_membership_members"/>
230 <record model="ir.ui.view" id="view_partner_tree">
231 <field name="name">res.partner.tree.form.inherit</field>
232 <field name="model">res.partner</field>
233 <field name="inherit_id" ref="base.view_partner_tree"/>
234 <field name="arch" type="xml">
235 <tree string="Partners">
236 <field name="category_id" position="after"/>
237 <field name="membership_state"/>
242 <record model="ir.ui.view" id="view_partner_form">
243 <field name="name">res.partner.form.inherit</field>
244 <field name="model">res.partner</field>
245 <field name="inherit_id" ref="base.view_partner_form"/>
246 <field name="arch" type="xml">
247 <notebook position="inside">
248 <page string="Membership">
249 <group colspan="2" col="2">
250 <group colspan="4" col="3">
251 <field name="free_member"/>
252 <button name="%(action_membership_invoice_view)d" type="action" string="Join Membership" attrs="{'readonly':[('free_member','=',True)]}" icon="gtk-apply"/>
253 <field colspan="4" name="associate_member" attrs="{'invisible':[('membership_state', '!=', 'none')], 'readonly':[('free_member','=',True)]}"/>
254 <field colspan="4" name="membership_state"/>
257 <group colspan="2" col="2">
258 <field name="membership_start"/>
259 <field name="membership_stop"/>
260 <field name="membership_cancel"/>
262 <field name="member_lines" nolabel="1" colspan="4" readonly="1">
263 <tree string="Memberships">
265 <field name="membership_id"/>
266 <field name="member_price"/>
267 <field name="account_invoice_id"/>
268 <field name="state"/>
270 <form string="Memberships">
272 <field name="member_price"/>
273 <field name="membership_id"/>
274 <field name="account_invoice_id"/>
275 <field name="state" colspan="4"/>
284 <!-- MEMBERSHIP/REPORTING -->
285 <menuitem name="Reporting" id="base.menu_report_association" parent="base.menu_association" sequence="20"/>
287 <!-- View for product.product object inherited from product module................ -->
288 <record model="ir.ui.view" id="view_product_form_inherit1">
289 <field name="name">product.normal.form</field>
290 <field name="type">form</field>
291 <field name="model">product.product</field>
292 <field name="inherit_id" ref="product.product_normal_form_view"/>
293 <field name="arch" type="xml">
294 <field name="list_price" position="after">
295 <field name="member_price"/>