[IMP] Addons: added invisible field for message_is_follower; note: reidented view...
[odoo/odoo.git] / addons / event / event_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5         <act_window
6             id="act_event_list_register_event"
7             name="Registration"
8             res_model="event.registration"
9             src_model="event.event"
10             view_mode="calendar,tree,form,graph"
11             context="{'search_default_event_id': active_id, 'default_event_id': active_id}"
12             view_type="form"/>
13
14         <!-- Top menu item -->
15         <menuitem name="Events"
16             id="event_main_menu"
17             groups="base.group_user"
18             sequence="80"/>
19         <menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu"/>
20
21         <!-- EVENTS  -->
22
23         <!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
24         <record model="ir.ui.view" id="view_event_type_form">
25             <field name="name">Event type</field>
26             <field name="model">event.type</field>
27             <field name="arch" type="xml">
28                 <form string="Event Type">
29                     <group col="4">
30                         <field name="name"/>
31                         <field name="default_reply_to"/>
32                         <field name="default_registration_min"/>
33                         <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
34                         <field name="default_registration_max"/>
35                         <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
36                     </group>
37                 </form>
38             </field>
39         </record>
40
41         <record model="ir.ui.view" id="view_event_type_tree">
42             <field name="name">Event type</field>
43             <field name="model">event.type</field>
44             <field name="arch" type="xml">
45                 <tree string="Event Type">
46                     <field name="name"/>
47                 </tree>
48             </field>
49         </record>
50
51         <record model="ir.actions.act_window" id="action_event_type">
52             <field name="name">Types of Events</field>
53             <field name="res_model">event.type</field>
54             <field name="view_type">form</field>
55         </record>
56         <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="event_main_menu" sequence="30"/>
57         <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_no_one"/>
58
59         <!-- Events Organisation/CONFIGURATION/EVENTS -->
60
61         <!-- Event Read/Unread actions -->
62         <record id="actions_server_event_event_unread" model="ir.actions.server">
63             <field name="name">Mark unread</field>
64             <field name="condition">True</field>
65             <field name="type">ir.actions.server</field>
66             <field name="model_id" ref="model_event_event"/>
67             <field name="state">code</field>
68             <field name="code">self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)</field>
69         </record>
70         <record id="action_event_event_unread" model="ir.values">
71             <field name="name">action_event_event_unread</field>
72             <field name="action_id" ref="actions_server_event_event_unread"/>
73             <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_event_event_unread'))" />
74             <field name="key">action</field>
75             <field name="model_id" ref="model_event_event" />
76             <field name="model">event.event</field>
77             <field name="key2">client_action_multi</field>
78         </record>
79
80         <record id="actions_server_event_event_read" model="ir.actions.server">
81             <field name="name">Mark read</field>
82             <field name="condition">True</field>
83             <field name="type">ir.actions.server</field>
84             <field name="model_id" ref="model_event_event"/>
85             <field name="state">code</field>
86             <field name="code">self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)</field>
87         </record>
88         <record id="action_event_event_read" model="ir.values">
89             <field name="name">action_event_event_read</field>
90             <field name="action_id" ref="actions_server_event_event_read"/>
91             <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_event_event_read'))" />
92             <field name="key">action</field>
93             <field name="model_id" ref="model_event_event" />
94             <field name="model">event.event</field>
95             <field name="key2">client_action_multi</field>
96         </record>
97
98         <record model="ir.ui.view" id="view_event_form">
99             <field name="name">Events</field>
100             <field name="model">event.event</field>
101             <field name="arch" type="xml">
102                 <form string="Events" version="7.0">
103                     <header>
104                         <span groups="base.user_group">
105                             <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight"/>
106                             <button string="Event Ended" name="button_done" states="confirm" type="object" class="oe_highlight"/>
107                             <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" />
108                             <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/>
109                         </span>
110                         <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
111                     </header>
112                     <sheet>
113                         <div class="oe_right oe_button_box">
114                             <button name="%(event.act_event_list_register_event)d" type="action" string="Registration" icon="gtk-index" help="Register with this event"/>
115                         </div>
116                         <div class="oe_title">
117                             <label for="name" class="oe_edit_only"/>
118                             <h1><field name="name"/></h1>
119                         </div>
120                         <div>
121                             <h2>From <field name="date_begin" class="oe_inline" /> to <field name="date_end" class="oe_inline"/>
122                             </h2>
123                             <group>
124                                 <group>
125                                     <label for="address_id" string="Location Address"/>
126                                     <div>
127                                         <field name="address_id" widget="many2one_address_google_map" widget_option="{'placeholder':'.oe_google_map'}" on_change="on_change_address_id(address_id)" />
128                                         <field name="street" placeholder="Street..."/>
129                                         <div>
130                                             <field name="zip" class="oe_inline" placeholder="Zip"/>
131                                             <field name="city" class="oe_inline" placeholder="City"/>
132                                         </div>
133                                     </div>
134                                 </group>
135                                 <group>
136                                     <field name="type" on_change="onchange_event_type(type,context)"/>
137                                     <field name="register_min"/>
138                                     <field name="register_max"/>
139                                     <label for="register_current" string="Current Registrations" groups="base.group_user"/>
140                                     <div groups="base.group_user">
141                                        Confirmed: <field name="register_current" class="oe_inline"/>, Unconfirmed: <field name="register_prospect" class="oe_inline"/>
142                                     </div>
143                                 </group>
144                             </group>
145                         </div>
146                         <div class="oe_google_map" style="height: 200px"></div>
147                         <notebook>
148                             <page string="Event Description">
149                                 <field name="note" colspan="4" nolabel="1"/>
150                             </page>
151                             <page string="Internal Data">
152                                 <group>
153                                     <group>
154                                         <field name="main_speaker_id" domain="[('speaker','=',True)]" context="{'default_speaker':1}"/>
155                                         <field name="speaker_confirmed"/>
156                                     </group>
157                                     <group>
158                                         <field name="register_attended"/>
159                                     </group>
160                                 </group>
161                                 <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
162                                     <tree string="Registration" editable="top">
163                                         <field name="name" />
164                                         <field name="email" />
165                                         <field name="phone"/>
166                                         <field name="nb_register" />
167                                         <field name="state"/>
168                                         <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
169                                         <button name="button_reg_close" string="Attented the Event" states="open" type="object" icon="gtk-jump-to"/>
170                                         <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
171                                     </tree>
172                                     <form string="Registration">
173                                         <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)" />
174                                         <field name="name"/>
175                                         <group colspan="4" col="4">
176                                         <field name="email"/>
177                                         <field name="phone"/>
178                                         </group>
179                                         <group colspan="4" col="4">
180                                             <field name="nb_register"/>
181                                         </group>
182                                         <group colspan="4" col="4">
183                                         </group>
184                                             <group col="8" colspan="4">
185                                                 <separator string="" colspan="4"/>
186                                                 <newline/>
187                                                 <field name="state" colspan="2"/>
188                                                 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
189                                                 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
190                                                 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
191                                             </group>
192                                     </form>
193                                 </field>
194                             </page>
195                         </notebook>
196                     </sheet>
197                     <div class="oe_chatter">
198                         <field name="message_is_follower" invisible="1"/>
199                         <field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
200                         <field name="message_follower_ids" widget="mail_followers"/>
201                     </div>
202                 </form>
203             </field>
204         </record>
205
206         <!-- Event tree view -->
207
208         <record model="ir.ui.view" id="view_event_tree">
209             <field name="name">event.event.tree</field>
210             <field name="model">event.event</field>
211             <field name="arch" type="xml">
212                 <tree string="Events" fonts="bold:message_unread==True" colors="red:(register_min and register_min&gt;register_current) or (register_max and register_max&lt;register_current);grey:state=='cancel'">
213                     <field name="name" string="Name"/>
214                     <field name="type"/>
215                     <field name="date_begin"/>
216                     <field name="date_end"/>
217                     <field name="register_current"/>
218                     <field name="register_min"/>
219                     <field name="register_max" invisible="1"/>
220                     <field name="main_speaker_id" groups="base.extended"/>
221                     <field name="user_id"/>
222                     <field name="state"/>
223                     <field name="message_unread" invisible="1"/>
224                 </tree>
225             </field>
226         </record>
227
228
229         <!-- Event Kanban View -->
230
231         <record model="ir.ui.view" id="view_event_kanban">
232             <field name="name">event.event.kanban</field>
233             <field name="model">event.event</field>
234             <field name="arch" type="xml">
235                 <kanban>
236                     <field name="register_max"/>
237                     <field name="type"/>
238                     <field name="user_id"/>
239                     <field name="register_current"/>
240                     <field name="is_subscribed"/>
241                     <field name="country_id"/>
242                     <field name="date_begin"/>
243                     <field name="state"/>
244                     <field name="register_avail"/>
245                     <templates>
246                     <t t-name="kanban-box">
247                       <div class="oe_module_vignette">
248                         <a type="open" class="oe_module_icon">
249                            <div class="oe_event_date "><t t-esc="record.date_begin.raw_value.getDate()"/></div>
250                            <div class="oe_event_month_year">
251                              <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
252                              <t t-esc="record.date_begin.raw_value.getFullYear()"/>
253                            </div>
254                            <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
255                         </a>
256                         <div class="oe_module_desc">
257                             <h4><a type="open"><field name="name"/></a></h4>
258                             <p>
259                               <t t-if="record.country_id.raw_value">@<field name="country_id"/><br/></t>
260                               <t t-if="record.user_id.raw_value">Organized by <field name="user_id"/><br/></t>
261                               <t t-if="record.register_avail.raw_value lte 10 and record.register_avail.raw_value gt 0"><i>Only</i></t>
262                               <t t-if="record.register_avail.raw_value == 0"><i>No ticket available.</i></t>
263                               <t t-if="record.register_avail.raw_value != 0">
264                                 <i><b><t t-if="record.register_avail.raw_value != 9999"><field name="register_avail"/></t></b></i>
265                                 <i>
266                                     <t t-if="record.register_avail.raw_value > 1">tickets </t>
267                                     <t t-if="record.register_avail.raw_value == 1 || !record.register_avail.raw_value > 1">ticket </t>
268                                     available.
269                                 </i>
270                               </t>
271                             </p>
272                             <t t-if="record.register_avail.raw_value != 0">
273                               <t t-if="!record.is_subscribed.raw_value">
274                                   <input t-att-id="record.id.raw_value" type="text" name="subscribe" class="no_of_seats" value="1" onchange="document.getElementById('btn_sub' +this.id).setAttribute('data-context',JSON.stringify({'ticket':this.value}))"/>
275                                   <button t-att-id="'btn_sub'+record.id.raw_value" type="object" name="subscribe_to_event" class="oe_mail_button_follow">
276                                   <span >Subscribe</span>
277                                   </button>
278                               </t>
279                             </t>
280                             <t t-if="record.is_subscribed.raw_value">
281                               <button type="object" name="unsubscribe_to_event" class="oe_mail_button_unfollow">
282                                 <span>Subscribed</span>
283                                 <span class="unsubscribe">Unsubscribe</span>
284                               </button>
285                             </t>
286                         </div>
287                       </div>
288                     </t>
289                     </templates>
290                 </kanban>
291             </field>
292         </record>
293
294         <!-- Events  Calendar  View -->
295
296         <record id="view_event_calendar" model="ir.ui.view">
297             <field name="name">event.event.calendar</field>
298             <field name="model">event.event</field>
299             <field eval="2" name="priority"/>
300             <field name="arch" type="xml">
301                 <calendar color="type" date_start="date_begin" date_stop="date_end" string="Event Organization">
302                     <field name="name"/>
303                     <field name="type"/>
304                 </calendar>
305             </field>
306         </record>
307
308         <!-- Event Graph view -->
309
310         <record model="ir.ui.view" id="view_event_graph">
311             <field name="name">Event Graph</field>
312             <field name="model">event.event</field>
313             <field name="arch" type="xml">
314                 <graph string="Event by Registration" type="bar" orientation="horizontal">
315                     <field name="name"/>
316                     <field name="register_current" operator="+"/>
317                     <field name="register_prospect" operator="+"/>
318                 </graph>
319             </field>
320         </record>
321
322         <!-- Event Search View -->
323
324         <record model="ir.ui.view" id="view_event_search">
325             <field name="name">Events</field>
326             <field name="model">event.event</field>
327             <field name="arch" type="xml">
328                 <search string="Events">
329                     <field name="name" string="Events"/>
330                     <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="message_unread" domain="[('message_unread','=',True)]"/>
331                     <separator/>
332                     <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
333                     <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
334                     <separator/>
335                     <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
336                     <separator/>
337                     <filter icon="terp-go-today" string="Upcoming" name="upcoming" domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Upcoming events from today" />
338                     <field name="type"/>
339                     <field name="user_id"/>
340                     <group expand="0" string="Group By...">
341                         <filter string="Responsible"  icon="terp-personal" context="{'group_by': 'user_id'}"/>
342                         <filter string="Event Type" icon="terp-crm"  context="{'group_by':'type'}"/>
343                         <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
344                         <filter string="Starting Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_begin'}"/>
345                     </group>
346                 </search>
347             </field>
348         </record>
349
350
351         <!-- Events Organisation/CONFIGURATION/EVENTS  -->
352         <record model="ir.actions.act_window" id="action_event_view">
353            <field name="name">Events</field>
354            <field name="type">ir.actions.act_window</field>
355            <field name="res_model">event.event</field>
356            <field name="view_type">form</field>
357            <field name="view_mode">kanban,calendar,tree,form,graph</field>
358            <field name="context">{"search_default_upcoming":1}</field>
359            <field name="search_view_id" ref="view_event_search"/>
360            <field name="help" type="html">
361              <p class="oe_view_nocontent_create">
362                Click to add a new event.
363              </p><p>
364                OpenERP helps you schedule and efficiently organize your events:
365                track subscriptions and participations, automate the confirmation emails,
366                sell tickets, etc.
367              </p>
368            </field>
369         </record>
370
371         <act_window
372             id="act_register_event_partner"
373             name="Subscribe"
374             res_model="event.registration"
375             src_model="res.partner"
376             view_mode="tree,form,calendar,graph"
377             context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
378             view_type="form"/>
379
380         <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
381
382         <!-- EVENTS/REGISTRATIONS/EVENTS  -->
383
384         <!-- Registration Read/Unread actions -->
385         <record id="actions_server_event_registration_unread" model="ir.actions.server">
386             <field name="name">Mark unread</field>
387             <field name="condition">True</field>
388             <field name="type">ir.actions.server</field>
389             <field name="model_id" ref="model_event_registration"/>
390             <field name="state">code</field>
391             <field name="code">self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)</field>
392         </record>
393         <record id="action_event_registration_unread" model="ir.values">
394             <field name="name">action_event_registration_unread</field>
395             <field name="action_id" ref="actions_server_event_registration_unread"/>
396             <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_event_registration_unread'))" />
397             <field name="key">action</field>
398             <field name="model_id" ref="model_event_registration" />
399             <field name="model">event.registration</field>
400             <field name="key2">client_action_multi</field>
401         </record>
402
403         <record id="actions_server_event_registration_read" model="ir.actions.server">
404             <field name="name">Mark read</field>
405             <field name="condition">True</field>
406             <field name="type">ir.actions.server</field>
407             <field name="model_id" ref="model_event_registration"/>
408             <field name="state">code</field>
409             <field name="code">self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)</field>
410         </record>
411         <record id="action_event_registration_read" model="ir.values">
412             <field name="name">action_event_registration_read</field>
413             <field name="action_id" ref="actions_server_event_registration_read"/>
414             <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_event_registration_read'))" />
415             <field name="key">action</field>
416             <field name="model_id" ref="model_event_registration" />
417             <field name="model">event.registration</field>
418             <field name="key2">client_action_multi</field>
419         </record>
420
421         <record model="ir.ui.view" id="view_event_registration_tree">
422             <field name="name">event.registration.tree</field>
423             <field name="model">event.registration</field>
424             <field name="arch" type="xml">
425                 <tree string="Registration" fonts="bold:message_unread==True">
426                     <field name="create_date"/>
427                     <field name="partner_id"/>
428                     <field name="name"/>
429                     <field name="email"/>
430                     <field name="event_id" />
431                     <field name="nb_register"/>
432                     <field name="user_id"/>
433                     <field name="origin"/>
434                     <field name="state"/>
435                     <field name="message_unread" invisible="1"/>
436                 </tree>
437             </field>
438         </record>
439
440         <record model="ir.ui.view" id="view_event_registration_form">
441             <field name="name">event.registration.form</field>
442             <field name="model">event.registration</field>
443             <field name="arch" type="xml">
444                 <form string="Event Registration" version="7.0">
445                     <header>
446                         <button name="registration_open" string="Confirm" states="draft" type="object" class="oe_highlight"/>
447                         <button name="button_reg_close" string="Attended" states="open" type="object" class="oe_highlight"/>
448                         <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" />
449                         <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object"/>
450                         <field name="state" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
451                     </header>
452                     <sheet string="Registration">
453                         <label for="event_id" class="oe_edit_only"/>
454                         <h1>
455                             <field name="event_id" on_change="onchange_event(event_id, context)" domain="[('state','in',('draft','confirm'))]"/>
456                         </h1>
457                         <group>
458                             <group>
459                                 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
460                                 <field name="name"/>
461                                 <field name="phone"/>
462                                 <label for="email"/>
463                                 <div>
464                                     <field name="email" class="oe_inline"/>
465                                     <button class="oe_inline oe_right" string="Send Email"
466                                         name="%(mail.action_email_compose_message_wizard)d"
467                                         icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
468                                 </div>
469                             </group>
470                             <group>
471                                 <field name="nb_register"/>
472                                 <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}"/>
473                             </group>
474                             <group groups="base.group_no_one">
475                                 <field name="create_date"/>
476                                 <field name="date_closed"/>
477                             </group>
478                         </group>
479                     </sheet>
480                     <div class="oe_chatter">
481                         <field name="message_is_follower" invisible="1"/>
482                         <field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
483                         <field name="message_follower_ids" widget="mail_followers"/>
484                     </div>
485                 </form>
486             </field>
487         </record>
488
489          <!-- Calendar view of event registration -->
490         <record id="view_event_registration_calendar" model="ir.ui.view">
491             <field name="name">event.registration.calendar</field>
492             <field name="model">event.registration</field>
493             <field eval="2" name="priority"/>
494             <field name="arch" type="xml">
495                 <calendar color="event_id" date_start="event_begin_date" date_stop="event_end_date" string="Event Registration">
496                     <field name="event_id"/>
497                     <field name="name"/>
498                 </calendar>
499             </field>
500         </record>
501
502         <record model="ir.ui.view" id="view_event_registration_graph">
503             <field name="name">Registration Graph</field>
504             <field name="model">event.registration</field>
505             <field name="arch" type="xml">
506                 <graph string="Registration" type="bar" orientation="horizontal">
507                     <field name="event_id"/>
508                     <field name= "nb_register" operator="+"/>
509                 </graph>
510             </field>
511         </record>
512
513
514         <!-- Search view of event registration -->
515         <record model="ir.ui.view" id="view_registration_search">
516             <field name="name">Registrations</field>
517             <field name="model">event.registration</field>
518             <field name="arch" type="xml">
519                 <search string="Event Registration">
520                     <field name="name" string="Participant" filter_domain="['|','|','|',('name','ilike',self),('partner_id','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
521                     <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="message_unread" domain="[('message_unread','=',True)]"/>
522                     <separator/>
523                     <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
524                     <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
525                     <separator/>
526                     <filter icon="terp-personal" string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/>
527                     <field name="event_id"/>
528                     <field name="user_id"/>
529                     <group expand="0" string="Group By...">
530                         <filter string="Responsible"  icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
531                         <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
532                         <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
533                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
534                    </group>
535                 </search>
536             </field>
537         </record>
538
539         <record model="ir.actions.act_window" id="action_registration">
540           <field name="name">Registrations</field>
541           <field name="res_model">event.registration</field>
542           <field name="view_type">form</field>
543           <field name="domain"></field>
544           <field name="view_mode">tree,form,calendar,graph</field>
545           <field name="context">{}</field>
546           <field name="search_view_id" ref="view_registration_search"/>
547         </record>view_
548
549         <menuitem name="Registrations"
550             id="menu_action_registration" parent="base.menu_event_main"
551             action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
552
553         <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>
554
555     </data>
556 </openerp>