[MERGE] merge with new trunk
[odoo/odoo.git] / addons / event / event_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5         <menuitem name="Association" id="base.menu_association" icon="terp-calendar" sequence="9"/>
6         <menuitem name="Marketing" icon="terp-crm" id="base.marketing_menu" sequence="17"/>
7
8
9         <menuitem name="Events Organisation" id="base.menu_event_main" parent="base.marketing_menu" />
10         <menuitem name="Events" id="base.menu_event_association" parent="base.menu_association" />
11
12     <!-- EVENTS  -->
13
14     <!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
15         <record model="ir.ui.view" id="view_event_type_form">
16             <field name="name">Event type</field>
17             <field name="model">event.type</field>
18             <field name="type">form</field>
19             <field name="arch" type="xml">
20                 <form string="Event Type">
21                     <field name="name" select="1"/>
22                 </form>
23             </field>
24         </record>
25
26         <record model="ir.ui.view" id="view_event_type_tree">
27             <field name="name">Event type</field>
28             <field name="model">event.type</field>
29             <field name="type">tree</field>
30             <field name="arch" type="xml">
31                 <tree string="Event Type">
32                     <field name="name"/>
33                 </tree>
34             </field>
35         </record>
36
37         <record model="ir.actions.act_window" id="action_event_type">
38             <field name="name">Types of Events</field>
39             <field name="res_model">event.type</field>
40             <field name="view_type">form</field>
41         </record>
42         <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="base.marketing_menu" sequence="30" groups="base.group_extended"/>
43         <menuitem name="Configuration" id="base.menu_marketing_config_association" parent="base.menu_association" sequence="30" groups="base.group_extended"/>
44
45         <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_extended"/>
46         <menuitem name="Events Type" id="menu_event_type_association" action="action_event_type" parent="base.menu_marketing_config_association" groups="base.group_extended"/>
47
48     <!-- Events Organisation/CONFIGURATION/EVENTS -->
49
50         <record model="ir.ui.view" id="view_event_form">
51             <field name="name">Events</field>
52             <field name="model">event.event</field>
53             <field name="type">form</field>
54             <field name="arch" type="xml">
55                 <form string="Events">
56
57                     
58                     <group col="6" colspan="4">
59                         <field name="name"/>
60                         <field name="date_begin"/>
61                         <field name="date_end"/>
62                         <field name="type" widget="selection"/>
63                         <field name="user_id"/>
64                         <field name="address_id" />
65                     </group>
66                     <notebook colspan="4">
67                     <page string="Event">
68
69                         <separator string="Description" colspan="4"/>
70                         <field name="note" colspan="4" nolabel="1"/>
71                         <field name="registration_ids" colspan="4" nolabel="1" >
72                             <form string="Registration" >
73                             <group colspan="4" col="4">    
74                             <separator string="partner" colspan="4"/>
75
76                             <field name="name"/>
77                             </group>
78                             <group colspan="4" col="4">
79                             <field name="street"/>
80                             <field name="city"/>
81                             </group>
82                             <group colspan="4" col="4">
83                             <field name="email"/>
84                             <field name="phone"/>
85                             </group>
86                             <group colspan="4" col="4">
87                                 <field name="unit_price"/>
88                                 <field name="nb_register"/>
89                             </group>
90                             <group colspan="4" col="4">
91                                 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id_address,event_id)" />
92                             </group>
93                                 <group col="8" colspan="4">
94                                     <separator string="" colspan="4"/>
95                                     <newline/>
96                                     <field name="state" select="1" colspan="2"/>
97                                     <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
98                                     <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
99                                     <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
100                                 </group>
101                             </form>
102                             <tree string="Registration">
103                                     <field name="create_date" string="Registration Date" invisible="1"/>
104                                     <field name="name" />
105                                     <field name="email" />
106                                     <field name="nb_register" />
107                                     <field name="unit_price"/>
108                                     <field name="price_subtotal" invisible="1"/>
109                                     <field name="state"/>
110                                     <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
111                                     <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
112                                     <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
113                             </tree>
114                             </field> 
115
116                         <field name="state" select="1" widget="statusbar"/>
117                         <group col="4" colspan="2">
118                            <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
119                            <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
120                            <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
121                            <button string="Set To Draft" name="button_draft" states="cancel" type="object" icon="gtk-convert"/>
122                         </group>
123                     </page>
124                     <page string="Speakers">
125                         <field name="main_speaker_id" domain="[('speaker','=',True)]"/>
126                         <field name="speaker_confirmed"/>
127                         <separator string="Other Speakers" colspan="4"/>
128                         <field name="speaker_ids" domain="[('speaker','=',True)]" colspan="4" nolabel="1"/>
129                     </page>
130                     <page string="Extra Info">
131                      
132                         <field name="register_min"/>
133                         <field name="register_max"/>
134                         <field name="register_current"/>
135                         <field name="register_prospect"/>
136
137                     <separator string="Emails" colspan="4"/>                                                 
138                         <group col="4" colspan="4">
139                             <group col="2" colspan="2">
140                                 <field name="email_registration_id" domain="[('model_id','=','Event Registration')]"/>
141                             </group>
142                             <group col="2" colspan="2">
143                                 <field name="email_confirmation_id"/>
144                             </group>
145                         </group>
146                     </page>
147                     </notebook>
148             </form>
149             </field>
150         </record>
151
152         <!-- Event tree view -->
153
154         <record model="ir.ui.view" id="view_event_tree">
155             <field name="name">event.event.tree</field>
156             <field name="model">event.event</field>
157             <field name="type">tree</field>
158             <field name="arch" type="xml">
159                 <tree string="Events" colors="red:register_min>register_current;black:register_min&lt;=register_current">
160                     <field name="name" string="Name"/>
161                     <field name="main_speaker_id"/>
162                     <field name="language"/>
163                     <field name="type"/>
164                     <field name="date_begin"/>
165                     <field name="date_end"/>
166                     <field name="register_min"/>
167                     <field name="register_current"/>
168                     <field name="section_id" invisible="context.get('invisible_section', True)"/>
169                     <field name="user_id"/>
170                     <field name="state"/>
171                     <button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
172                     <button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
173                     <button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
174                     <button string="Set To Draft" help="Set To Draft" name="button_draft" states="confirm,cancel,done" type="object" icon="gtk-convert"/>
175                 </tree>
176             </field>
177         </record>
178
179       <!-- Events  Calendar  View -->
180
181         <record id="view_event_calendar" model="ir.ui.view">
182             <field name="name">event.event.calendar</field>
183             <field name="model">event.event</field>
184             <field name="type">calendar</field>
185             <field eval="2" name="priority"/>
186             <field name="arch" type="xml">
187                 <calendar color="user_id" date_start="date_begin" string="Event Organization">
188                     <field name="name"/>
189                     <field name="type" widget="selection"/>
190                 </calendar>
191             </field>
192         </record>
193
194         <!-- Event Graph view -->
195
196         <record model="ir.ui.view" id="view_event_graph">
197             <field name="name">Event Graph</field>
198             <field name="model">event.event</field>
199             <field name="type">graph</field>
200             <field name="arch" type="xml">
201                 <graph string="Event by Registration" type="bar" orientation="horizontal">
202                     <field name="name"/>
203                     <field name="register_current" operator="+"/>
204                     <field name="register_prospect" operator="+"/>
205                 </graph>
206             </field>
207         </record>
208
209     <!-- Event Search View -->
210
211         <record model="ir.ui.view" id="view_event_search">
212             <field name="name">Events</field>
213             <field name="model">event.event</field>
214             <field name="type">search</field>
215             <field name="arch" type="xml">
216                 <search string="Events">
217                     <group>
218                         <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
219                         <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
220                         <separator orientation="vertical"/>
221                         <field name="name"/>
222                         <field name="user_id" widget="selection">
223                         <filter icon="terp-personal"
224                               string="My Events"
225                                 help="My Events"
226                               domain="[('user_id','=',uid)]"/>
227                         </field>
228                         <field name="date_begin"/>
229                         <field name="section_id" widget="selection" groups="base.group_extended">
230                           <filter icon="terp-personal+"
231                                   context="{'invisible_section': False}"
232                                   domain="[('section_id.user_id','=',uid)]"
233                                   groups="base.group_extended"
234                                   help="My Sales Team(s)"/>
235                         </field>
236                     </group>
237                     <newline/>
238                     <group expand="0" string="Group By...">
239                         <filter string="Responsible"  icon="terp-personal" context="{'group_by': 'user_id'}"/>
240                         <separator orientation="vertical"/>
241                         <filter string="Event Type" icon="terp-crm"  context="{'group_by':'type'}"/>
242                         <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
243                         <separator orientation="vertical"/>
244                         <filter string="Beginning Date" icon="terp-go-month"
245                             domain="[]" context="{'group_by':'date_begin'}"/>
246                     </group>
247                 </search>
248             </field>
249         </record>
250
251     <!-- Events Organisation/CONFIGURATION/EVENTS  -->
252
253        <record model="ir.actions.act_window" id="action_event_view">
254            <field name="name">Events</field>
255            <field name="type">ir.actions.act_window</field>
256            <field name="res_model">event.event</field>
257            <field name="view_type">form</field>
258            <field name="view_mode">tree,form,calendar,graph</field>
259            <field name="context">{"search_default_draft": "1", "search_default_section_id": section_id}</field>
260            <field name="search_view_id" ref="view_event_search"/>
261            <field name="help">Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events.</field>
262        </record>
263
264       <act_window
265             id="act_event_list_register_event"
266             name="Registration"
267             res_model="event.registration"
268             src_model="event.event"
269             view_mode="tree,form,calendar,graph"
270             context="{'search_default_event_id': [active_id], 'default_event_id': active_id}"
271             view_type="form"/>
272
273       <act_window
274             id="act_register_event_partner"
275             name="Subscribe"
276             res_model="event.registration"
277             src_model="res.partner"
278             view_mode="tree,form,calendar,graph"
279             context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
280             view_type="form"/>
281
282        <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
283        <menuitem name="Events" id="menu_event_event_assiciation" action="action_event_view" parent="base.menu_event_association" />
284
285     <!-- EVENTS/REGISTRATIONS/EVENTS  -->
286
287
288         <record model="ir.ui.view" id="view_event_registration_tree">
289             <field name="name">event.registration.tree</field>
290             <field name="model">event.registration</field>
291             <field name="type">tree</field>
292             <field name="arch" type="xml">
293                 <tree string="Registration" >
294                     <field name="name"/>
295                     <field name="email"/>
296                     <field name="event_id"/>
297                     <field name="nb_register" invisible="1"/>
298                     <field name="unit_price"/>
299                     <field name="user_id"/>
300                     <field name="state"/>
301                     <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
302                     <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
303                     <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
304                 </tree>
305             </field>
306         </record>
307
308         <record model="ir.ui.view" id="view_event_registration_form">
309             <field name="name">event.registration.form</field>
310             <field name="model">event.registration</field>
311             <field name="type">form</field>
312             <field name="arch" type="xml">
313                 <form string="Registration">
314                     <group col="6" colspan="4">
315                         <field name="event_id" on_change="onchange_event(event_id, partner_invoice_id)" domain="[('state','in',('draft','confirm'))]"/>
316                         <field name="date" />
317                         <field name="date_deadline" />
318                         <field name="origin"/>
319                         <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}" />
320
321                     </group>
322                     <notebook colspan="4">
323                         <page string="Registration">
324                             <group colspan="2" col="2">
325                             <separator string="Registration contact" colspan="4"/>  
326                             <group colspan="2" col="2">
327                             <field name="name"/>
328                             </group>
329                             <group colspan="4" col="4">
330                             <field name="street"/>
331                             <field name="city"/>
332                             <field name="email"/>
333                             <field name="phone"/>
334                             </group>
335                             <group colspan="2" col="2">    
336                             <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id_address,event_id)" />
337                             </group>
338                             </group>
339                             <group colspan="2" col="2">
340                                 <separator string="Registration Cost" colspan="4"/>
341                                 <field name="unit_price"/>
342                                 <field name="nb_register"/>
343                                 <field name="price_subtotal"/>
344                                 <field name="invoice_id"/>
345                             </group>
346                             
347
348                             <separator string="" colspan="4"/>
349                             <group col="8" colspan="4">
350                                 <field name="state" select="1" colspan="2" widget="statusbar"/>
351                                 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
352                                 <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
353                                 <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
354                             </group>
355                         </page>
356                         <page string="Extra Info">
357
358                             <group col="2" colspan="2" groups="base.group_extended">
359                                <separator string="Dates" colspan="2"/>
360                                <field name="date_closed"/>
361                                <field name="create_date" string="Registration Date"/>
362                             </group>
363                             <group col="2" colspan="2" groups="base.group_extended">
364                                <separator string="Misc" colspan="2"/>
365                                <field name="id"/>
366                                <field name="active"/>
367                             </group>
368                         </page>
369                         <page string="Emails" groups="base.group_extended">
370                             <group colspan="4">
371                                  <field colspan="4" name="email_cc" string="CC" widget="char" size="512"/>
372                             </group>
373                             <field name="message_ids" colspan="4" nolabel="1" mode="tree">
374                                 <tree string="History">
375                                     <field name="display_text" string="History Information"/>
376                                     <field name="email_from" invisible="1"/>
377                                     <button
378                                         string="Reply" attrs="{'invisible': [('email_from', '=', False)]}"
379                                         name="%(mail.action_email_compose_message_wizard)d"
380                                         context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
381                                         icon="terp-mail-replied" type="action" />
382                                 </tree>
383                             </field>
384                             <button string="Add Internal Note"
385                                 name="%(crm.action_crm_add_note)d"
386                                 context="{'model': 'crm.lead' }"
387                                 icon="terp-document-new" type="action" />
388                             <button string="Send New Email"
389                                 name="%(mail.action_email_compose_message_wizard)d"
390                                 icon="terp-mail-message-new" type="action"/>
391                            </page>
392
393                     </notebook>
394                 </form>
395             </field>
396         </record>
397
398  <!-- Calendar view of event registration -->
399
400         <record id="view_event_registration_calendar" model="ir.ui.view">
401             <field name="name">event.registration.calendar</field>
402             <field name="model">event.registration</field>
403             <field name="type">calendar</field>
404             <field eval="2" name="priority"/>
405             <field name="arch" type="xml">
406                 <calendar color="event_id" date_start="date" date_stop="date_closed" string="Event Registration">
407                     <field name="event_id"/>
408                     <field name="partner_invoice_id"/>
409                 </calendar>
410             </field>
411         </record>
412
413         <record model="ir.ui.view" id="view_event_registration_graph">
414             <field name="name">Registration Graph</field>
415             <field name="model">event.registration</field>
416             <field name="type">graph</field>
417             <field name="arch" type="xml">
418                 <graph string="Registration" type="bar" orientation="horizontal">
419                     <field name="event_id"/>
420                     <field name = "nb_register" operator="+"/>
421                 </graph>
422             </field>
423         </record>
424
425
426 <!-- Search view of event registration form-->
427
428         <record model="ir.ui.view" id="view_registration_search">
429             <field name="name">Registrations</field>
430             <field name="model">event.registration</field>
431             <field name="type">search</field>
432             <field name="arch" type="xml">
433                 <search string="Event Registration">
434                     <group>
435                         <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
436                         <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
437                         <separator orientation="vertical"/>
438                         <field name="partner_id" />
439                         <field name="event_id" widget="seemaillection"/>
440                         <field name="user_id" widget="selection">
441                         <filter icon="terp-personal"
442                               string="My Registrations"
443                                 help="My Registrations"
444                               domain="[('user_id','=',uid)]"/>
445                         </field>
446                         <field name="state"/>
447                     </group>
448                     <newline/>
449                     <group expand="0" string="Group By...">
450                         <filter string="Responsible"  icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
451                         <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
452                         <separator orientation="vertical"/>
453                         <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
454                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'registration_state'}"/>
455                    </group>
456
457                 </search>
458             </field>
459         </record>
460
461         <record model="ir.actions.act_window" id="action_registration">
462           <field name="name">Registrations</field>
463           <field name="res_model">event.registration</field>
464           <field name="view_type">form</field>
465           <field name="domain"></field>
466           <field name="view_mode">tree,form,calendar,graph</field>
467           <field name="context">{"search_default_draft": "1"}</field>
468           <field name="search_view_id" ref="view_registration_search"/>
469         </record>
470
471         <menuitem
472             name="Registrations"
473             id="menu_action_registration" parent="base.menu_event_main"
474             action="action_registration"/>
475
476         <menuitem
477             name="Registrations"
478             id="menu_action_registration_association" parent="base.menu_event_association"
479             action="action_registration"/>
480
481         <menuitem name="Reporting" id="base.menu_report_association" parent="base.marketing_menu" sequence="20"/>
482         
483
484
485
486
487         
488         
489     </data>
490 </openerp>