[MERGE] branch merged with trunk-menus-improvements-marketing-jap
[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         <menuitem name="Events" id="base.menu_event_main" parent="base.marketing_menu" />
9         <menuitem name="Events" id="base.menu_event_association" parent="base.menu_association" />
10
11     <!-- EVENTS  -->
12
13     <!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
14         <record model="ir.ui.view" id="view_event_type_form">
15             <field name="name">Event type</field>
16             <field name="model">event.type</field>
17             <field name="type">form</field>
18             <field name="arch" type="xml">
19                 <form string="Event Type">
20                     <field name="name" select="1"/>
21                     <field name="default_reply_to"/>
22                     <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
23                     <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
24                     <field name="default_registration_min"/>
25                     <field name="default_registration_max"/>
26                 </form>
27             </field>
28         </record>
29
30         <record model="ir.ui.view" id="view_event_type_tree">
31             <field name="name">Event type</field>
32             <field name="model">event.type</field>
33             <field name="type">tree</field>
34             <field name="arch" type="xml">
35                 <tree string="Event Type">
36                     <field name="name"/>
37                 </tree>
38             </field>
39         </record>
40
41         <record model="ir.actions.act_window" id="action_event_type">
42             <field name="name">Types of Events</field>
43             <field name="res_model">event.type</field>
44             <field name="view_type">form</field>
45         </record>
46         <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="event_main_menu" sequence="30"/>
47         <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root"/>
48
49     <!-- Events Organisation/CONFIGURATION/EVENTS -->
50
51         <record model="ir.ui.view" id="view_event_form">
52             <field name="name">Events</field>
53             <field name="model">event.event</field>
54             <field name="type">form</field>
55             <field name="arch" type="xml">
56                 <form string="Events">
57                     <group col="6" colspan="4">
58                         <field name="name"/>
59                         <field name="date_begin"/>
60                         <field name="date_end"/>
61                         <field name="type" on_change="onchange_event_type(type,context)"/>
62                         <field name="user_id"/>
63                         <field name="address_id" />
64                     </group>
65                     <notebook colspan="4">
66                     <page string="Event">
67                         <separator string="Description" colspan="4"/>
68                         <field name="note" colspan="4" nolabel="1"/>
69                         <field name="registration_ids" colspan="4" nolabel="1">
70                             <tree string="Registration" editable="top">
71                                 <field name="name" />
72                                 <field name="email" />
73                                 <field name="phone"/>
74                                 <field name="nb_register" />
75                                 <field name="state"/>
76                                 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
77                                 <button name="button_reg_close" string="Attented the Event" states="open" type="object" icon="gtk-jump-to"/>
78                                 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
79                             </tree>
80                             <form string="Registration">
81                                 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)" />
82                                 <field name="name"/>
83                                 <group colspan="4" col="4">
84                                 <field name="email"/>
85                                 <field name="phone"/>
86                                 </group>
87                                 <group colspan="4" col="4">
88                                     <field name="nb_register"/>
89                                 </group>
90                                 <group colspan="4" col="4">
91                                 </group>
92                                     <group col="8" colspan="4">
93                                         <separator string="" colspan="4"/>
94                                         <newline/>
95                                         <field name="state" select="1" colspan="2"/>
96                                         <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
97                                         <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
98                                         <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
99                                     </group>
100                             </form>
101                             </field>
102                         <field name="state" select="1" widget="statusbar" statusbar_visible="draft,confirm,done"/>
103                         <group col="4" colspan="2">
104                            <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
105                            <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
106                            <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
107                            <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
108                         </group>
109                     </page>
110                     <page string="Speakers" groups="base.group_extended">
111                         <field name="main_speaker_id" domain="[('speaker','=',True)]"/>
112                         <field name="speaker_confirmed"/>
113                         <separator string="Other Speakers" colspan="4"/>
114                         <field name="speaker_ids" domain="[('speaker','=',True)]" colspan="4" nolabel="1"/>
115                     </page>
116                     <page string="Extra Info">
117                         <group col="2" colspan="2">
118                             <separator string="Registrations" colspan="2"/>
119                             <field name="register_min"/>
120                             <field name="register_max"/>
121                             <field name="register_prospect"/>
122                             <field name="register_current"/>
123                             <field name="register_attended"/>
124                         </group>
125                         <group col="2" colspan="2">
126                             <separator string="Emails" colspan="2"/>
127                             <field name="reply_to"/>
128                             <field name="email_registration_id" domain="[('model_id.model','=','event.registration')]" groups="base.group_extended"/>
129                             <field name="email_confirmation_id" domain="[('model_id.model','=','event.registration')]" groups="base.group_extended"/>
130                         </group>
131                     </page>
132                     </notebook>
133             </form>
134             </field>
135         </record>
136
137         <!-- Event tree view -->
138
139         <record model="ir.ui.view" id="view_event_tree">
140             <field name="name">event.event.tree</field>
141             <field name="model">event.event</field>
142             <field name="type">tree</field>
143             <field name="arch" type="xml">
144                 <tree string="Events" colors="red:(register_min and register_min&gt;register_current) or (register_max and register_max&lt;register_current);grey:state=='cancel'">
145                     <field name="name" string="Name"/>
146                     <field name="type"/>
147                     <field name="date_begin"/>
148                     <field name="date_end"/>
149                     <field name="register_current"/>
150                     <field name="register_min"/>
151                     <field name="register_max" invisible="1"/>
152                     <field name="main_speaker_id" groups="base.extended"/>
153                     <field name="user_id"/>
154                     <field name="state"/>
155                     <button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
156                     <button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
157                     <button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
158                     <button string="Set To Draft" help="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
159                 </tree>
160             </field>
161         </record>
162
163       <!-- Events  Calendar  View -->
164
165         <record id="view_event_calendar" model="ir.ui.view">
166             <field name="name">event.event.calendar</field>
167             <field name="model">event.event</field>
168             <field name="type">calendar</field>
169             <field eval="2" name="priority"/>
170             <field name="arch" type="xml">
171                 <calendar color="type" date_start="date_begin" date_stop="date_end" string="Event Organization">
172                     <field name="name"/>
173                     <field name="type"/>
174                 </calendar>
175             </field>
176         </record>
177
178         <!-- Event Graph view -->
179
180         <record model="ir.ui.view" id="view_event_graph">
181             <field name="name">Event Graph</field>
182             <field name="model">event.event</field>
183             <field name="type">graph</field>
184             <field name="arch" type="xml">
185                 <graph string="Event by Registration" type="bar" orientation="horizontal">
186                     <field name="name"/>
187                     <field name="register_current" operator="+"/>
188                     <field name="register_prospect" operator="+"/>
189                 </graph>
190             </field>
191         </record>
192
193     <!-- Event Search View -->
194
195         <record model="ir.ui.view" id="view_event_search">
196             <field name="name">Events</field>
197             <field name="model">event.event</field>
198             <field name="type">search</field>
199             <field name="arch" type="xml">
200                 <search string="Events">
201                     <group>
202                         <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
203                         <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
204                         <separator orientation="vertical"/>
205                         <field name="name"/>
206                         <field name="type" widget="selection"/>
207                         <field name="user_id" widget="selection">
208                         <filter icon="terp-personal"
209                               string="My Events"
210                                 help="My Events"
211                               domain="[('user_id','=',uid)]"/>
212                         </field>
213                     </group>
214                     <newline/>
215                     <group expand="0" string="Group By...">
216                         <filter string="Responsible"  icon="terp-personal" context="{'group_by': 'user_id'}"/>
217                         <separator orientation="vertical"/>
218                         <filter string="Event Type" icon="terp-crm"  context="{'group_by':'type'}"/>
219                         <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
220                         <separator orientation="vertical"/>
221                         <filter string="Starting Date" icon="terp-go-month"
222                             domain="[]" context="{'group_by':'date_begin'}"/>
223                     </group>
224                 </search>
225             </field>
226         </record>
227
228
229         <!-- Events Organisation/CONFIGURATION/EVENTS  -->
230        <record model="ir.actions.act_window" id="action_event_view">
231            <field name="name">Events</field>
232            <field name="type">ir.actions.act_window</field>
233            <field name="res_model">event.event</field>
234            <field name="view_type">form</field>
235            <field name="view_mode">tree,form,calendar,graph</field>
236            <field name="context">{"search_default_section_id": section_id}</field>
237            <field name="search_view_id" ref="view_event_search"/>
238            <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>
239        </record>
240
241       <act_window
242             id="act_event_list_register_event"
243             name="Registration"
244             res_model="event.registration"
245             src_model="event.event"
246             view_mode="calendar,tree,form,graph"
247             context="{'search_default_event_id': [active_id], 'default_event_id': active_id}"
248             view_type="form"/>
249
250       <act_window
251             id="act_register_event_partner"
252             name="Subscribe"
253             res_model="event.registration"
254             src_model="res.partner"
255             view_mode="tree,form,calendar,graph"
256             context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
257             view_type="form"/>
258
259        <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
260
261         <!-- EVENTS/REGISTRATIONS/EVENTS  -->
262         <record model="ir.ui.view" id="view_event_registration_tree">
263             <field name="name">event.registration.tree</field>
264             <field name="model">event.registration</field>
265             <field name="type">tree</field>
266             <field name="arch" type="xml">
267                 <tree string="Registration" >
268                     <field name="create_date"/>
269                     <field name="name"/>
270                     <field name="email"/>
271                     <field name="event_id" />
272                     <field name="nb_register"/>
273                     <field name="user_id" groups="base.group_extended"/>
274                     <field name="origin" groups="base.group_extended"/>
275                     <field name="state"/>
276                     <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
277                     <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
278                     <button name="button_reg_close" string="Attended" states="open" type="object" icon="gtk-apply"/>
279                     <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" icon="gtk-convert"/>
280                 </tree>
281             </field>
282         </record>
283
284         <record model="ir.ui.view" id="view_event_registration_form">
285             <field name="name">event.registration.form</field>
286             <field name="model">event.registration</field>
287             <field name="type">form</field>
288             <field name="arch" type="xml">
289                 <form string="Registration">
290                     <group col="6" colspan="4">
291                         <field name="event_id" on_change="onchange_event(event_id, context)" domain="[('state','in',('draft','confirm'))]"/>
292                         <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
293                         <field name="contact_id" attrs="{'readonly':[('state','!=', 'draft')]}" domain="[('partner_id','=',partner_id)]" on_change="onchange_contact_id(contact_id, context)"/>
294                         <field name="nb_register"/>
295                         <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}"/>
296                         <field name="origin"/>
297                     </group>
298                     <notebook colspan="4">
299                         <page string="Additional Information">
300                             <group colspan="2" col="2">
301                                 <separator string="Contact Information" colspan="2"/>
302                                 <field name="name"/>
303                                 <field name="email"/>
304                                 <field name="phone"/>
305                             </group>
306                             <group colspan="2" col="2" groups="base.group_extended">
307                                 <separator string="Dates" colspan="2"/>
308                                 <field name="create_date"/>
309                                 <field name="date_closed"/>
310                                 <field name="event_begin_date" />
311                                 <field name="event_end_date" />
312                             </group>
313
314                             <separator string="" colspan="4"/>
315                             <group col="8" colspan="4">
316                                 <field name="state" select="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
317                                 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
318                                 <button name="button_reg_close" string="Attended" states="open" type="object" icon="gtk-apply"/>
319                                 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
320                                 <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" icon="gtk-convert"/>
321                             </group>
322                         </page>
323                         <page string="Emails" groups="base.group_extended">
324                             <field name="message_ids" colspan="4" nolabel="1" mode="tree">
325                                 <tree string="History">
326                                     <field name="display_text" string="History Information"/>
327                                     <field name="reply_to" invisible="1"/>
328                                     <button
329                                         string="Reply" attrs="{'invisible': [('reply_to', '=', False)]}"
330                                         name="%(mail.action_email_compose_message_wizard)d"
331                                         context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
332                                         icon="terp-mail-replied" type="action" />
333                                 </tree>
334                             </field>
335                             <button string="Send New Email"
336                                 name="%(mail.action_email_compose_message_wizard)d"
337                                 icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
338                            </page>
339
340                     </notebook>
341                 </form>
342             </field>
343         </record>
344
345          <!-- Calendar view of event registration -->
346         <record id="view_event_registration_calendar" model="ir.ui.view">
347             <field name="name">event.registration.calendar</field>
348             <field name="model">event.registration</field>
349             <field name="type">calendar</field>
350             <field eval="2" name="priority"/>
351             <field name="arch" type="xml">
352                 <calendar color="event_id" date_start="event_begin_date" date_stop="event_end_date" string="Event Registration">
353                     <field name="event_id"/>
354                     <field name="name"/>
355                 </calendar>
356             </field>
357         </record>
358
359         <record model="ir.ui.view" id="view_event_registration_graph">
360             <field name="name">Registration Graph</field>
361             <field name="model">event.registration</field>
362             <field name="type">graph</field>
363             <field name="arch" type="xml">
364                 <graph string="Registration" type="bar" orientation="horizontal">
365                     <field name="event_id"/>
366                     <field name= "nb_register" operator="+"/>
367                 </graph>
368             </field>
369         </record>
370
371
372         <!-- Search view of event registration -->
373         <record model="ir.ui.view" id="view_registration_search">
374             <field name="name">Registrations</field>
375             <field name="model">event.registration</field>
376             <field name="type">search</field>
377             <field name="arch" type="xml">
378                 <search string="Event Registration">
379                     <group>
380                         <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
381                         <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
382                         <separator orientation="vertical"/>
383                         <field name="event_id" widget="selection"/>
384                         <field name="name" string="Participant"
385                             filter_domain="['|','|','|', ('name','ilike',self), ('contact_id','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/>
386                         <field name="user_id" groups="base.group_extended">
387                         <filter icon="terp-personal"
388                               string="My Registrations"
389                                 help="My Registrations"
390                               domain="[('user_id','=',uid)]"/>
391                         </field>
392                         <field name="origin" groups="base.group_extended"/>
393                     </group>
394                     <newline/>
395                     <group expand="0" string="Group By...">
396                         <filter string="Responsible"  icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
397                         <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" groups="base.group_extended"/>
398                         <separator orientation="vertical"/>
399                         <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
400                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
401                    </group>
402
403                 </search>
404             </field>
405         </record>
406
407         <record model="ir.actions.act_window" id="action_registration">
408           <field name="name">Registrations</field>
409           <field name="res_model">event.registration</field>
410           <field name="view_type">form</field>
411           <field name="domain"></field>
412           <field name="view_mode">tree,form,calendar,graph</field>
413           <field name="context">{}</field>
414           <field name="search_view_id" ref="view_registration_search"/>
415         </record>
416
417         <menuitem
418             name="Registrations"
419             id="menu_action_registration" parent="base.menu_event_main"
420             action="action_registration"/>
421
422
423         <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>
424     </data>
425 </openerp>