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