4 <menuitem name="Marketing" icon="terp-crm" id="base.marketing_menu" sequence="17"/>
5 <menuitem name="Events Organisation" id="base.menu_event_main" parent="base.marketing_menu" />
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"/>
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">
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>
36 <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="base.marketing_menu" sequence="30" groups="base.group_extended"/>
37 <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_extended"/>
39 <!-- Events Organisation/CONFIGURATION/EVENTS -->
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">
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"/>
55 <notebook colspan="4">
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" widget="selection" domain="[('type','=','sale')]" groups="base.group_extended"/>
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"/>
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)]"/>
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="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
80 <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
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="cancel" type="object" icon="gtk-convert"/>
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"/>
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">
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"/>
108 <group col="8" colspan="4">
109 <separator string="" colspan="4"/>
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"/>
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"/>
131 <page string="Mailing">
132 <field name="reply_to" />
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" />
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"/>
158 <!-- Event tree view -->
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<=register_current">
166 <field name="name" string="Name"/>
167 <field name="user_id"/>
168 <field name="main_speaker_id"/>
169 <field name="language"/>
171 <field name="date_begin"/>
172 <field name="date_end"/>
173 <field name="register_min"/>
174 <field name="register_current"/>
175 <field name="section_id" invisible="context.get('invisible_section', True)"/>
176 <field name="state"/>
177 <button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
178 <button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
179 <button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
180 <button string="Set To Draft" help="Set To Draft" name="button_draft" states="confirm,cancel,done" type="object" icon="gtk-convert"/>
185 <!-- Events Calendar View -->
187 <record id="view_event_calendar" model="ir.ui.view">
188 <field name="name">event.event.calendar</field>
189 <field name="model">event.event</field>
190 <field name="type">calendar</field>
191 <field eval="2" name="priority"/>
192 <field name="arch" type="xml">
193 <calendar color="user_id" date_start="date_begin" string="Event Organization">
195 <field name="type" widget="selection"/>
200 <!-- Event Graph view -->
202 <record model="ir.ui.view" id="view_event_graph">
203 <field name="name">Event Graph</field>
204 <field name="model">event.event</field>
205 <field name="type">graph</field>
206 <field name="arch" type="xml">
207 <graph string="Event by Registration" type="bar" orientation="horizontal">
209 <field name="register_current" operator="+"/>
210 <field name="register_prospect" operator="+"/>
215 <!-- Event Search View -->
217 <record model="ir.ui.view" id="view_event_search">
218 <field name="name">Events</field>
219 <field name="model">event.event</field>
220 <field name="type">search</field>
221 <field name="arch" type="xml">
222 <search string="Events">
223 <group col="10" colspan="4">
224 <filter icon="terp-check" string="Current" name="draft" domain="[('state','in',('draft', 'confirm'))]" help="Events in draft or confirmed state"/>
225 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
226 <separator orientation="vertical"/>
227 <field name="name" select="1"/>
228 <field name="user_id" widget="selection">
229 <filter icon="terp-personal"
232 domain="[('user_id','=',uid)]"/>
234 <field name="date_begin" select="1"/>
235 <field name="section_id" default="context.get('section_id', False)" widget="selection" groups="base.group_extended">
236 <filter icon="terp-personal+"
237 context="{'invisible_section': False}"
238 domain="[('section_id.user_id','=',uid)]"
239 groups="base.group_extended"
240 help="My Sales Team(s)"/>
244 <group expand="0" string="Group By..." colspan="4" col="12">
245 <filter string="Responsible" icon="terp-personal" context="{'group_by': 'user_id'}"/>
246 <separator orientation="vertical"/>
247 <filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/>
248 <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
249 <separator orientation="vertical"/>
250 <filter string="Beginning Date" icon="terp-go-month"
251 domain="[]" context="{'group_by':'date_begin'}"/>
257 <!-- Events Organisation/CONFIGURATION/EVENTS -->
259 <record model="ir.actions.act_window" id="action_event_view">
260 <field name="name">Events</field>
261 <field name="type">ir.actions.act_window</field>
262 <field name="res_model">event.event</field>
263 <field name="view_type">form</field>
264 <field name="view_mode">tree,form,calendar,graph</field>
265 <field name="context">{"search_default_draft": "1", "search_default_section_id": section_id}</field>
266 <field name="search_view_id" ref="view_event_search"/>
270 id="act_event_list_register_event"
272 res_model="event.registration"
273 src_model="event.event"
274 view_mode="tree,form,calendar,graph"
275 context="{'search_default_event_id': active_id}"
279 id="act_register_event_partner"
281 res_model="event.registration"
282 src_model="res.partner"
283 view_mode="tree,form,calendar,graph"
284 context="{'search_default_partner_id': [active_id]}"
287 <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
289 <!-- EVENTS/REGISTRATIONS/EVENTS -->
292 <record model="ir.ui.view" id="view_event_registration_tree">
293 <field name="name">event.registration.tree</field>
294 <field name="model">event.registration</field>
295 <field name="type">tree</field>
296 <field name="arch" type="xml">
297 <tree string="Registration">
298 <field name="partner_id"/>
299 <field name="event_id"/>
300 <field name="nb_register"/>
301 <field name="price_subtotal" sum="Total"/>
302 <field name="user_id"/>
303 <field name="state"/>
304 <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
305 <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
306 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
311 <record model="ir.ui.view" id="view_event_registration_form">
312 <field name="name">event.registration.form</field>
313 <field name="model">event.registration</field>
314 <field name="type">form</field>
315 <field name="arch" type="xml">
316 <form string="Registration">
317 <group col="6" colspan="4">
318 <field name="event_id" on_change="onchange_event(event_id, partner_invoice_id)" domain="[('state','in',('draft','confirm'))]"/>
319 <field name="create_date" string="Registration Date"/>
321 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" required="1" on_change="onchange_partner_id(partner_id,event_id)" />
322 <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}" />
323 <field name="tobe_invoiced"/>
325 <notebook colspan="4">
326 <page string="Registration">
327 <field name="date" />
328 <field name="date_deadline" />
329 <group colspan="2" col="2">
330 <separator string="Registration Cost" colspan="4"/>
331 <field name="nb_register"/>
332 <field name="unit_price"/>
333 <field name="price_subtotal"/>
335 <group colspan="2" col="2" attrs="{'invisible':[('tobe_invoiced','=',False)]}">
336 <separator string="Invoice" colspan="4"/>
337 <field name="event_product" attrs="{'required':[('tobe_invoiced','=',True)]}"/>
338 <field name="partner_invoice_id" attrs="{'required':[('tobe_invoiced','=',True)]}" on_change="onchange_partner_invoice_id(event_id, partner_invoice_id)"/>
339 <field name="invoice_id"/>
341 <separator string="Description" colspan="4"/>
342 <field name="description" colspan="4" nolabel="1"/>
343 <separator string="" colspan="4"/>
344 <group col="8" colspan="4">
345 <field name="state" select="1" colspan="2"/>
346 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
347 <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
348 <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
351 <page string="Extra Info">
352 <separator string="Contact" colspan="4"/>
353 <field name="contact_id" on_change="onchange_contact_id(contact_id, partner_id)" />
354 <field name="email_from"/>
355 <field name="badge_ids" colspan="4" nolabel="1">
356 <tree string="Badges" editable="bottom">
358 <field name="title"/>
359 <field name="address_id"/>
361 <form string="Badges">
363 <field name="title"/>
364 <field name="address_id"/>
367 <group col="2" colspan="2" groups="base.group_extended">
368 <separator string="Dates" colspan="2"/>
369 <field name="date_closed"/>
371 <group col="2" colspan="2" groups="base.group_extended">
372 <separator string="Misc" colspan="2"/>
374 <field name="active"/>
377 <page string="Emails" groups="base.group_extended">
379 <field colspan="4" name="email_cc" string="CC" widget="char" size="512"/>
381 <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
382 <tree string="History">
383 <field name="display_text" string="History Information"/>
384 <field name="history" invisible="1"/>
386 string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
387 name="%(crm.action_crm_send_mail)d"
388 context="{'mail':'reply', 'model': 'event.registration', 'include_original' : True}"
389 icon="terp-mail-replied" type="action" />
391 <form string="History">
392 <group col="4" colspan="4">
393 <field name="email_from"/>
395 <field name="email_to" widget="char" size="512"/>
396 <field name="email_cc" widget="char" size="512"/>
397 <field name="name" colspan="4" widget="char" size="512"/>
398 <field name="history" invisible="1"/>
400 <notebook colspan="4">
401 <page string="Details">
402 <group attrs="{'invisible': [('history', '!=', True)]}">
403 <field name="description" colspan="4" nolabel="1" height="250"/>
406 name="%(crm.action_crm_send_mail)d"
407 context="{'mail':'reply', 'model': 'event.registration', 'include_original' : True}"
408 icon="terp-mail-replied" type="action" />
410 <group attrs="{'invisible': [('history', '=', True)]}">
411 <field name="display_text" colspan="4" nolabel="1" height="250"/>
414 <page string="Attachments">
415 <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
420 <button string="Add Internal Note"
421 name="%(crm.action_crm_add_note)d"
422 context="{'model': 'crm.lead' }"
423 icon="terp-document-new" type="action" />
424 <button string="Send New Email"
425 name="%(crm.action_crm_send_mail)d"
426 context="{'mail':'new', 'model': 'event.registration'}"
427 icon="terp-mail-message-new" type="action" />
434 <!-- Calendar view of event registration -->
436 <record id="view_event_registration_calendar" model="ir.ui.view">
437 <field name="name">event.registration.calendar</field>
438 <field name="model">event.registration</field>
439 <field name="type">calendar</field>
440 <field eval="2" name="priority"/>
441 <field name="arch" type="xml">
442 <calendar color="event_id" date_start="date" date_delay="date_closed" string="Event Registration">
443 <field name="event_id"/>
444 <field name="partner_invoice_id"/>
449 <record model="ir.ui.view" id="view_event_registration_graph">
450 <field name="name">Registration Graph</field>
451 <field name="model">event.registration</field>
452 <field name="type">graph</field>
453 <field name="arch" type="xml">
454 <graph string="Registration" type="bar" orientation="horizontal">
455 <field name="event_id"/>
456 <field name = "nb_register" operator="+"/>
462 <!-- Search view of event registration form-->
464 <record model="ir.ui.view" id="view_registration_search">
465 <field name="name">Registrations</field>
466 <field name="model">event.registration</field>
467 <field name="type">search</field>
468 <field name="arch" type="xml">
469 <search string="Event Registration">
470 <group col="12" colspan="4">
471 <filter icon="terp-check" string="Current" name="draft" domain="[('state','in',('draft', 'open'))]" help="Registrations in unconfirmed or confirmed state"/>
472 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
473 <separator orientation="vertical"/>
474 <field name="partner_id" />
475 <field name="event_id" widget="selection"/>
476 <field name="user_id" widget="selection">
477 <filter icon="terp-personal"
478 string="My Registrations"
479 help="My Registrations"
480 domain="[('user_id','=',uid)]"/>
482 <field name="state" select="1"/>
485 <group expand="0" string="Group By...">
486 <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
487 <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
488 <separator orientation="vertical"/>
489 <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
490 <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
496 <record model="ir.actions.act_window" id="action_registration">
497 <field name="name">Registrations</field>
498 <field name="res_model">event.registration</field>
499 <field name="view_type">form</field>
500 <field name="domain"></field>
501 <field name="view_mode">tree,form,calendar,graph</field>
502 <field name="context">{"search_default_draft": "1"}</field>
503 <field name="search_view_id" ref="view_registration_search"/>
508 id="menu_action_registration" parent="base.menu_event_main"
509 action="action_registration"/>
510 <menuitem name="Reporting" id="base.menu_report_association" parent="base.marketing_menu" sequence="20"/>