6 id="act_event_list_register_event"
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}"
14 <!-- Top menu item -->
15 <menuitem name="Events"
17 groups="base.group_user"
19 <menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu"/>
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">
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')]"/>
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">
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>
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"/>
59 <!-- Events Organisation/CONFIGURATION/EVENTS -->
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>
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>
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>
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>
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">
104 <span groups="base.group_user">
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"/>
110 <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
113 <div class="oe_right oe_button_box">
114 <button name="%(event.act_event_list_register_event)d" type="action" string="Registrations" help="Register with this event"/>
116 <div class="oe_title">
117 <label for="name" class="oe_edit_only"/>
118 <h1><field name="name"/></h1>
123 <label for="address_id" string="Location"/>
125 <field name="address_id" on_change="on_change_address_id(address_id)" />
126 <field name="street" placeholder="Street..."/>
127 <field name="street2"/>
128 <div class="address_format">
129 <field name="city" placeholder="City" style="width: 40%%"/>
130 <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": true}'/>
131 <field name="zip" placeholder="ZIP" style="width: 20%%"/>
133 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": true}'/>
137 <field name="type" on_change="onchange_event_type(type,context)"/>
138 <field name="date_begin"/>
139 <field name="date_end"/>
144 <page string="Event Description">
145 <field name="note" colspan="4" nolabel="1"/>
147 <page string="Registrations">
150 <field name="register_min"/>
151 <field name="register_max"/>
152 <label for="register_current" string="Current Registrations" groups="base.group_user"/>
153 <div groups="base.group_user">
154 <field name="register_prospect" class="oe_inline"/> (confirmed: <field name="register_current" class="oe_inline"/>)
156 <field name="register_attended"/>
159 <field name="main_speaker_id" domain="[('speaker','=',True)]" context="{'default_speaker':1}"/>
160 <field name="speaker_confirmed"/>
163 <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
164 <tree string="Registration" editable="top">
165 <field name="name" />
166 <field name="email" />
167 <field name="phone"/>
168 <field name="nb_register" />
169 <field name="state"/>
170 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
171 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
172 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
174 <form string="Registration">
175 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)" />
177 <group colspan="4" col="4">
178 <field name="email"/>
179 <field name="phone"/>
181 <group colspan="4" col="4">
182 <field name="nb_register"/>
184 <group colspan="4" col="4">
186 <group col="8" colspan="4">
187 <separator string="" colspan="4"/>
189 <field name="state" colspan="2"/>
190 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
191 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
192 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
199 <div class="oe_chatter">
200 <field name="message_is_follower" invisible="1"/>
201 <field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
202 <!-- Invisible fields used in chatter widgets -->
203 <field name="message_subtype_data" invisible="True"/>
204 <field name="message_is_follower" invisible="True"/>
205 <field name="message_follower_ids" widget="mail_followers"/>
211 <!-- Event tree view -->
213 <record model="ir.ui.view" id="view_event_tree">
214 <field name="name">event.event.tree</field>
215 <field name="model">event.event</field>
216 <field name="arch" type="xml">
217 <tree string="Events" fonts="bold:message_unread==True" colors="red:(register_min and register_min>register_current) or (register_max and register_max<register_current);grey:state=='cancel'">
218 <field name="name" string="Name"/>
220 <field name="date_begin"/>
221 <field name="date_end"/>
222 <field name="register_current"/>
223 <field name="register_min"/>
224 <field name="register_max" invisible="1"/>
225 <field name="main_speaker_id" groups="base.extended"/>
226 <field name="user_id"/>
227 <field name="state"/>
228 <field name="message_unread" invisible="1"/>
234 <!-- Event Kanban View -->
236 <record model="ir.ui.view" id="view_event_kanban">
237 <field name="name">event.event.kanban</field>
238 <field name="model">event.event</field>
239 <field name="arch" type="xml">
241 <field name="register_max"/>
243 <field name="user_id"/>
244 <field name="register_current"/>
245 <field name="is_subscribed"/>
246 <field name="country_id"/>
247 <field name="date_begin"/>
248 <field name="state"/>
249 <field name="register_avail"/>
251 <t t-name="kanban-box">
252 <div class="oe_module_vignette">
253 <a type="open" class="oe_module_icon">
254 <div class="oe_event_date "><t t-esc="record.date_begin.raw_value.getDate()"/></div>
255 <div class="oe_event_month_year">
256 <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
257 <t t-esc="record.date_begin.raw_value.getFullYear()"/>
259 <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
261 <div class="oe_module_desc">
262 <h4><a type="open"><field name="name"/></a></h4>
264 <t t-if="record.country_id.raw_value">@<field name="country_id"/><br/></t>
265 <t t-if="record.user_id.raw_value">Organized by <field name="user_id"/><br/></t>
266 <t t-if="record.register_avail.raw_value lte 10 and record.register_avail.raw_value gt 0"><i>Only</i></t>
267 <t t-if="record.register_avail.raw_value == 0"><i>No ticket available.</i></t>
268 <t t-if="record.register_avail.raw_value != 0">
269 <i><b><t t-if="record.register_avail.raw_value != 9999"><field name="register_avail"/></t></b></i>
271 <t t-if="record.register_avail.raw_value > 1">tickets </t>
272 <t t-if="record.register_avail.raw_value == 1 || !record.register_avail.raw_value > 1">ticket </t>
277 <t t-if="record.register_avail.raw_value != 0">
278 <t t-if="!record.is_subscribed.raw_value">
279 <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}))"/>
280 <button t-att-id="'btn_sub'+record.id.raw_value" type="object" name="subscribe_to_event" class="oe_mail_button_follow">
281 <span >Subscribe</span>
285 <t t-if="record.is_subscribed.raw_value">
286 <button type="object" name="unsubscribe_to_event" class="oe_mail_button_unfollow">
287 <span>Subscribed</span>
288 <span class="unsubscribe">Unsubscribe</span>
299 <!-- Events Calendar View -->
301 <record id="view_event_calendar" model="ir.ui.view">
302 <field name="name">event.event.calendar</field>
303 <field name="model">event.event</field>
304 <field eval="2" name="priority"/>
305 <field name="arch" type="xml">
306 <calendar color="type" date_start="date_begin" date_stop="date_end" string="Event Organization">
313 <!-- Event Graph view -->
315 <record model="ir.ui.view" id="view_event_graph">
316 <field name="name">Event Graph</field>
317 <field name="model">event.event</field>
318 <field name="arch" type="xml">
319 <graph string="Event by Registration" type="bar" orientation="horizontal">
321 <field name="register_current" operator="+"/>
322 <field name="register_prospect" operator="+"/>
327 <!-- Event Search View -->
329 <record model="ir.ui.view" id="view_event_search">
330 <field name="name">Events</field>
331 <field name="model">event.event</field>
332 <field name="arch" type="xml">
333 <search string="Events">
334 <field name="name" string="Events"/>
335 <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="message_unread" domain="[('message_unread','=',True)]"/>
337 <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
338 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
340 <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
342 <filter icon="terp-go-today" string="Upcoming" name="upcoming" domain="[('date_begin','>=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Upcoming events from today" />
344 <field name="user_id"/>
345 <group expand="0" string="Group By...">
346 <filter string="Responsible" icon="terp-personal" context="{'group_by': 'user_id'}"/>
347 <filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/>
348 <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
349 <filter string="Starting Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_begin'}"/>
356 <!-- Events Organisation/CONFIGURATION/EVENTS -->
357 <record model="ir.actions.act_window" id="action_event_view">
358 <field name="name">Events</field>
359 <field name="type">ir.actions.act_window</field>
360 <field name="res_model">event.event</field>
361 <field name="view_type">form</field>
362 <field name="view_mode">kanban,calendar,tree,form,graph</field>
363 <field name="context">{"search_default_upcoming":1}</field>
364 <field name="search_view_id" ref="view_event_search"/>
365 <field name="help" type="html">
366 <p class="oe_view_nocontent_create">
367 Click to add a new event.
369 OpenERP helps you schedule and efficiently organize your events:
370 track subscriptions and participations, automate the confirmation emails,
377 id="act_register_event_partner"
379 res_model="event.registration"
380 src_model="res.partner"
381 view_mode="tree,form,calendar,graph"
382 context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
385 <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
387 <!-- EVENTS/REGISTRATIONS/EVENTS -->
389 <!-- Registration Read/Unread actions -->
390 <record id="actions_server_event_registration_unread" model="ir.actions.server">
391 <field name="name">Mark unread</field>
392 <field name="condition">True</field>
393 <field name="type">ir.actions.server</field>
394 <field name="model_id" ref="model_event_registration"/>
395 <field name="state">code</field>
396 <field name="code">self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)</field>
398 <record id="action_event_registration_unread" model="ir.values">
399 <field name="name">action_event_registration_unread</field>
400 <field name="action_id" ref="actions_server_event_registration_unread"/>
401 <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_event_registration_unread'))" />
402 <field name="key">action</field>
403 <field name="model_id" ref="model_event_registration" />
404 <field name="model">event.registration</field>
405 <field name="key2">client_action_multi</field>
408 <record id="actions_server_event_registration_read" model="ir.actions.server">
409 <field name="name">Mark read</field>
410 <field name="condition">True</field>
411 <field name="type">ir.actions.server</field>
412 <field name="model_id" ref="model_event_registration"/>
413 <field name="state">code</field>
414 <field name="code">self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)</field>
416 <record id="action_event_registration_read" model="ir.values">
417 <field name="name">action_event_registration_read</field>
418 <field name="action_id" ref="actions_server_event_registration_read"/>
419 <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_event_registration_read'))" />
420 <field name="key">action</field>
421 <field name="model_id" ref="model_event_registration" />
422 <field name="model">event.registration</field>
423 <field name="key2">client_action_multi</field>
426 <record model="ir.ui.view" id="view_event_registration_tree">
427 <field name="name">event.registration.tree</field>
428 <field name="model">event.registration</field>
429 <field name="arch" type="xml">
430 <tree string="Registration" fonts="bold:message_unread==True">
431 <field name="create_date"/>
432 <field name="partner_id"/>
434 <field name="email"/>
435 <field name="event_id" />
436 <field name="nb_register"/>
437 <field name="user_id"/>
438 <field name="origin"/>
439 <field name="state"/>
440 <field name="message_unread" invisible="1"/>
445 <record model="ir.ui.view" id="view_event_registration_form">
446 <field name="name">event.registration.form</field>
447 <field name="model">event.registration</field>
448 <field name="arch" type="xml">
449 <form string="Event Registration" version="7.0">
451 <button name="registration_open" string="Confirm" states="draft" type="object" class="oe_highlight"/>
452 <button name="button_reg_close" string="Attended" states="open" type="object" class="oe_highlight"/>
453 <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" />
454 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object"/>
455 <field name="state" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
457 <sheet string="Registration">
458 <label for="event_id" class="oe_edit_only"/>
460 <field name="event_id" on_change="onchange_event(event_id, context)" domain="[('state','in',('draft','confirm'))]"/>
464 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
466 <field name="phone"/>
469 <field name="email" class="oe_inline"/>
470 <button class="oe_inline oe_right" string="Send Email"
471 name="%(mail.action_email_compose_message_wizard)d"
472 icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
476 <field name="nb_register"/>
477 <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}"/>
479 <group groups="base.group_no_one">
480 <field name="create_date"/>
481 <field name="date_closed"/>
485 <div class="oe_chatter">
486 <field name="message_is_follower" invisible="1"/>
487 <field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
488 <!-- Invisible fields used in chatter widgets -->
489 <field name="message_subtype_data" invisible="True"/>
490 <field name="message_is_follower" invisible="True"/>
491 <field name="message_follower_ids" widget="mail_followers"/>
497 <!-- Calendar view of event registration -->
498 <record id="view_event_registration_calendar" model="ir.ui.view">
499 <field name="name">event.registration.calendar</field>
500 <field name="model">event.registration</field>
501 <field eval="2" name="priority"/>
502 <field name="arch" type="xml">
503 <calendar color="event_id" date_start="event_begin_date" date_stop="event_end_date" string="Event Registration">
504 <field name="event_id"/>
510 <record model="ir.ui.view" id="view_event_registration_graph">
511 <field name="name">Registration Graph</field>
512 <field name="model">event.registration</field>
513 <field name="arch" type="xml">
514 <graph string="Registration" type="bar" orientation="horizontal">
515 <field name="event_id"/>
516 <field name= "nb_register" operator="+"/>
522 <!-- Search view of event registration -->
523 <record model="ir.ui.view" id="view_registration_search">
524 <field name="name">Registrations</field>
525 <field name="model">event.registration</field>
526 <field name="arch" type="xml">
527 <search string="Event Registration">
528 <field name="name" string="Participant" filter_domain="['|','|','|',('name','ilike',self),('partner_id','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
529 <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="message_unread" domain="[('message_unread','=',True)]"/>
531 <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
532 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
534 <filter icon="terp-personal" string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/>
535 <field name="event_id"/>
536 <field name="user_id"/>
537 <group expand="0" string="Group By...">
538 <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
539 <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
540 <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
541 <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
547 <record model="ir.actions.act_window" id="action_registration">
548 <field name="name">Registrations</field>
549 <field name="res_model">event.registration</field>
550 <field name="view_type">form</field>
551 <field name="domain"></field>
552 <field name="view_mode">tree,form,calendar,graph</field>
553 <field name="context">{}</field>
554 <field name="search_view_id" ref="view_registration_search"/>
557 <menuitem name="Registrations"
558 id="menu_action_registration" parent="base.menu_event_main"
559 action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
561 <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>