[MERGE] lp881356
[odoo/odoo.git] / addons / membership / membership_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5
6
7         <!-- MEMBERSHIP -->
8
9         <!-- MEMBERSHIP/MEMBERSHIP PRODUCTS -->
10
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="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',0)]"/>
18                    <separator orientation="vertical"/>
19                    <field name="code"/>
20                    <field name="name"/>
21                    <field name="categ_id" widget="selection" operator="child_of"/>
22                    <newline/>
23                    <group  expand='0' string='Group by...' groups="base.group_extended">
24                        <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" />
25                        <separator orientation="vertical"/>
26                        <filter string='Date From' icon="terp-go-month" domain="[]" context="{'group_by' : 'membership_date_from'}" />
27                    </group>
28                 </search>
29             </field>
30         </record>
31
32         <record model="ir.ui.view" id="membership_products_tree">
33             <field name="name">Membership products</field>
34             <field name="model">product.product</field>
35             <field name="type">tree</field>
36             <field name="arch" type="xml">
37                 <tree string="Membership products">
38                     <field name="code"/>
39                     <field name="name"/>
40                     <field name="membership_date_from"/>
41                     <field name="membership_date_to"/>
42                     <field name="list_price" string="Membership Fee"/>
43                     <field name="categ_id" invisible="1"/>
44                     <field name="uom_id" invisible="1"/>
45                     <field name="type" invisible="1"/>
46                 </tree>
47             </field>
48         </record>
49
50         <record model="ir.ui.view" id="membership_products_form">
51             <field name="name">Membership Products</field>
52             <field name="model">product.product</field>
53             <field name="type">form</field>
54             <field name="arch" type="xml">
55                 <form string="Membership products">
56                   <group col="6">
57                       <field name="name"/>
58                       <field name="default_code"/>
59                       <field name="active"/>
60                       <field name="membership" invisible="1"/>
61                       <field name="membership_date_from" required="1"/>
62                       <field name="membership_date_to" required="1"/>
63                       <field name="company_id" groups="base.group_multi_company" widget="selection"/>
64                     </group>
65                     <notebook colspan="4">
66                       <page string="General">
67                         <separator string="Accounting Info" colspan="2"/>
68                         <separator string="Categorization" colspan="2"/>
69                         <field name="list_price" string="Membership Fee"/>
70                         <field name="type" />
71                         <field name="property_account_income" domain="[('type', '!=', 'view')]"/>
72                         <field name="categ_id"/>
73                         <separator string="Sale Taxes" colspan="2"/>
74                         <newline/>
75                         <field name="taxes_id" nolabel="1" colspan="4"/>
76                       </page>
77                       <page string="Description">
78                             <separator string="Description"/>
79                             <field colspan="4" name="description" nolabel="1"/>
80                             <separator string="Sale Description"/>
81                             <field colspan="4" name="description_sale" nolabel="1"/>
82                             <separator string="Purchase Description"/>
83                             <field colspan="4" name="description_purchase" nolabel="1"/>
84                       </page>
85                     </notebook>
86                 </form>
87             </field>
88         </record>
89
90         <record model="ir.ui.view" id="product_normal_form_view">
91             <field name="name">Membership Products</field>
92             <field name="model">product.product</field>
93             <field name="inherit_id" ref="product.product_normal_form_view"/>
94             <field name="arch" type="xml">
95                 <page string="Information" position="after">
96                     <page string="Membership">
97                         <field name="membership" readonly="0"/>
98                         <newline/>
99                         <field name="membership_date_from" readonly="0" attrs="{'required':[('membership','=',True)]}"/>
100                         <field name="membership_date_to" readonly="0" attrs="{'required':[('membership','=',True)]}"/>
101                     </page>
102                 </page>
103             </field>
104         </record>
105
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"/>
112         </record>
113
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"/>
119         </record>
120
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"/>
126         </record>
127
128         <menuitem name="Association" id="base.menu_association" icon="terp-calendar" sequence="9"/>
129         <menuitem name="Membership" 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" groups="base.group_extended"/>
132
133
134         <menuitem name="Membership Products"
135                   parent="base.menu_marketing_config_association"
136                   id="menu_membership_products"
137                   action="action_membership_products"
138                   sequence="1"
139                   groups="base.group_partner_manager"/>
140
141
142         <!-- MEMBERSHIP/CURRENT MEMBERS -->
143
144         <record model="ir.ui.view" id="membership_members_tree">
145             <field name="name">Members</field>
146             <field name="model">res.partner</field>
147             <field name="type">tree</field>
148             <field name="arch" type="xml">
149                 <tree string="Members">
150                     <field name="name"/>
151                     <field name="membership_state"/>
152                     <field name="associate_member" attrs="{'invisible':[('membership_state', '!=', 'none')]}"/>
153                     <field name="membership_start"/>
154                     <field name="membership_stop"/>
155                     <field name="user_id" invisible="1"/>
156                 </tree>
157             </field>
158         </record>
159
160         <record id="view_res_partner_member_filter" model="ir.ui.view">
161             <field name="name">res.partner.select</field>
162             <field name="model">res.partner</field>
163             <field name="type">search</field>
164             <field name="arch" type="xml">
165                 <search string="Membership Partners">
166                                 <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"/>
168                                 <separator orientation="vertical"/>
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                                 <separator orientation="vertical"/>
172                         <field name="membership_stop" string="End Membership Date"/>
173                         <field name="membership_start" invisible="1"/>
174                         <newline/>
175                         <group expand="0" string="Group By..." colspan="10" col="8">
176                             <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
177                             <filter string="Associate Member" name = "associate" icon="terp-partner" domain="[]" context="{'group_by':'associate_member'}"/>
178                                 <separator orientation="vertical"/>
179                                 <filter string=" Membership State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'membership_state'}"/>
180                                 <separator orientation="vertical"/>
181                                 <filter string="Start Date" help="Starting Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_start'}"/>
182                                 <filter string="End Date" help="Ending Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_stop'}"/>
183                         </group>
184                    </search>
185             </field>
186         </record>
187
188         <record model="ir.actions.act_window" id="action_membership_members">
189             <field name="name">Members</field>
190             <field name="res_model">res.partner</field>
191             <field name="search_view_id" ref="view_res_partner_member_filter"/>
192             <field name="context">{"search_default_all_members": 1}</field>
193         </record>
194
195         <record model="ir.actions.act_window.view" id="action_membership_members_view_tree">
196             <field name="sequence" eval="1"/>
197             <field name="view_mode">tree</field>
198             <field name="view_id" ref="membership_members_tree"/>
199             <field name="act_window_id" ref="action_membership_members"/>
200         </record>
201
202         <record model="ir.actions.act_window.view" id="action_membership_members_view_form">
203             <field name="sequence" eval="2"/>
204             <field name="view_mode">form</field>
205             <field name="view_id" ref="base.view_partner_form"/>
206             <field name="act_window_id" ref="action_membership_members"/>
207         </record>
208
209         <menuitem name="Members" parent="menu_membership" id="menu_members" sequence="2" action="action_membership_members"/>
210
211         <!-- PARTNERS -->
212
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="Partners">
219                     <field name="category_id" position="after"/>
220                     <field name="membership_state"/>
221                 </tree>
222             </field>
223         </record>
224
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">
232                         <group colspan="2" col="2">
233                             <group colspan="4" col="3">
234                             <field name="free_member"/>
235                             <button name="%(action_membership_invoice_view)d" type="action" string="Join Membership" attrs="{'readonly':[('free_member','=',True)]}" icon="gtk-apply"/>
236                             <field colspan="4" name="associate_member" attrs="{'readonly':[('membership_state','!=', 'none')]}"/>
237                             <field colspan="4" name="membership_state"/>
238                             </group>
239                         </group>
240                         <group colspan="2" col="2">
241                             <field name="membership_start"/>
242                             <field name="membership_stop"/>
243                             <field name="membership_cancel"/>
244                         </group>
245                         <field name="member_lines" nolabel="1" colspan="4" readonly="1">
246                             <tree string="Memberships">
247                                 <field name="date"/>
248                                 <field name="membership_id"/>
249                                 <field name="member_price"/>
250                                 <field name="account_invoice_id"/>
251                                 <field name="state"/>
252                             </tree>
253                             <form string="Memberships">
254                                 <field name="date"/>
255                                 <field name="member_price"/>
256                                 <field name="membership_id"/>
257                                 <field name="account_invoice_id"/>
258                                 <field name="state" colspan="4"/>
259                             </form>
260                         </field>
261
262                     </page>
263                 </notebook>
264             </field>
265         </record>
266
267         <!-- MEMBERSHIP/REPORTING -->
268         <menuitem name="Reporting" id="base.menu_report_association" parent="base.menu_association" sequence="20"/>
269
270 <!-- View for product.product object inherited from product module................ -->
271         <record model="ir.ui.view" id="view_product_form_inherit1">
272             <field name="name">product.normal.form</field>
273             <field name="type">form</field>
274             <field name="model">product.product</field>
275             <field name="inherit_id" ref="product.product_normal_form_view"/>
276             <field name="arch" type="xml">
277                 <field name="list_price" position="after">
278                     <field name="member_price"/>
279                 </field>
280             </field>
281         </record>
282
283     </data>
284 </openerp>