5 <record id="act_event_list_register_event" model="ir.actions.act_window">
6 <field name="res_model">event.registration</field>
7 <field name="view_type">form</field>
8 <field name="name">Registrations</field>
9 <field name="view_mode">tree,form,calendar,graph</field>
10 <field name="context">{'search_default_event_id': active_id, 'default_event_id': active_id}</field>
13 <!-- Top menu item -->
14 <menuitem name="Events"
16 groups="base.group_user"
18 <menuitem name="Events Organization" id="base.menu_event_main" parent="event_main_menu"/>
22 <!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
23 <record model="ir.ui.view" id="view_event_type_form">
24 <field name="name">Event type</field>
25 <field name="model">event.type</field>
26 <field name="arch" type="xml">
27 <form string="Event Type">
30 <field name="default_reply_to"/>
31 <field name="default_registration_min"/>
32 <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
33 <field name="default_registration_max"/>
34 <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
40 <record model="ir.ui.view" id="view_event_type_tree">
41 <field name="name">Event type</field>
42 <field name="model">event.type</field>
43 <field name="arch" type="xml">
44 <tree string="Event Type">
50 <record model="ir.actions.act_window" id="action_event_type">
51 <field name="name">Types of Events</field>
52 <field name="res_model">event.type</field>
53 <field name="view_type">form</field>
55 <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="event_main_menu" sequence="30"/>
56 <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_no_one"/>
58 <!-- Events Organisation/CONFIGURATION/EVENTS -->
60 <record model="ir.ui.view" id="view_event_form">
61 <field name="name">Events</field>
62 <field name="model">event.event</field>
63 <field name="arch" type="xml">
64 <form string="Events" version="7.0">
66 <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight" groups="base.group_user"/>
67 <button string="Finish Event" name="button_done" states="confirm" type="object" class="oe_highlight" groups="base.group_user"/>
68 <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" groups="base.group_user"/>
69 <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" groups="base.group_user"/>
70 <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
73 <div class="oe_right oe_button_box" groups="base.group_user">
74 <button name="%(event.act_event_list_register_event)d" type="action" string="Registrations" help="Register with this event"/>
76 <div class="oe_title">
77 <label for="name" class="oe_edit_only"/>
78 <h1><field name="name"/></h1>
79 <field name="visibility"/>
83 <label for="address_id" string="Location"/>
85 <field name="address_id" on_change="on_change_address_id(address_id)" />
86 <field name="street" placeholder="Street..."/>
87 <field name="street2"/>
88 <div class="address_format">
89 <field name="city" placeholder="City" style="width: 40%%"/>
90 <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": true}'/>
91 <field name="zip" placeholder="ZIP" style="width: 20%%"/>
93 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": true}'/>
97 <field name="user_id"/>
98 <field name="type" on_change="onchange_event_type(type,context)" />
99 <field name="date_begin" on_change="onchange_start_date(date_begin,date_end)"/>
100 <field name="date_end"/>
101 <field name="company_id" groups="base.group_multi_company"/>
105 <page string="Event Details" groups="base.group_no_one">
107 <field name="reply_to"/>
108 <field name="email_registration_id"/>
109 <field name="email_confirmation_id"/>
111 <field name="note" nolabel="1" placeholder="Event Description..."/>
113 <page string="Registrations">
116 <field name="register_min"/>
117 <field name="register_max"/>
118 <label for="register_current" string="Current Registrations" groups="base.group_user"/>
119 <div groups="base.group_user">
120 <field name="register_prospect" class="oe_inline"/> (confirmed: <field name="register_current" class="oe_inline"/>)
122 <field name="register_attended"/>
125 <field name="main_speaker_id" domain="[('speaker','=',True)]" context="{'default_speaker':1}"/>
126 <field name="speaker_confirmed"/>
129 <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
130 <tree string="Registration" editable="top">
131 <field name="name" />
132 <field name="email" />
133 <field name="phone"/>
134 <field name="nb_register" />
135 <field name="state"/>
136 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
137 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
138 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
140 <form string="Registration">
141 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)" />
143 <group colspan="4" col="4">
144 <field name="email"/>
145 <field name="phone"/>
147 <group colspan="4" col="4">
148 <field name="nb_register"/>
150 <group colspan="4" col="4">
152 <group col="8" colspan="4">
153 <separator string="" colspan="4"/>
155 <field name="state" colspan="2"/>
156 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
157 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
158 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
165 <div class="oe_chatter">
166 <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
167 <field name="message_ids" widget="mail_thread"/>
173 <!-- Event tree view -->
175 <record model="ir.ui.view" id="view_event_tree">
176 <field name="name">event.event.tree</field>
177 <field name="model">event.event</field>
178 <field name="arch" type="xml">
179 <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'">
180 <field name="name" string="Name"/>
181 <field name="type" string="Event Category"/>
182 <field name="date_begin"/>
183 <field name="date_end"/>
184 <field name="register_current"/>
185 <field name="register_min"/>
186 <field name="register_max" invisible="1"/>
187 <field name="main_speaker_id" groups="base.group_no_one"/>
188 <field name="user_id"/>
189 <field name="state"/>
190 <field name="message_unread" invisible="1"/>
196 <!-- Event Kanban View -->
198 <record model="ir.ui.view" id="view_event_kanban">
199 <field name="name">event.event.kanban</field>
200 <field name="model">event.event</field>
201 <field name="arch" type="xml">
203 <field name="register_max"/>
205 <field name="user_id"/>
206 <field name="register_current"/>
207 <field name="is_subscribed"/>
208 <field name="country_id"/>
209 <field name="date_begin"/>
210 <field name="state"/>
211 <field name="register_avail"/>
213 <t t-name="kanban-box">
214 <div class="oe_module_vignette">
215 <a type="open" class="oe_module_icon">
216 <div class="oe_event_date "><t t-esc="record.date_begin.raw_value.getDate()"/></div>
217 <div class="oe_event_month_year">
218 <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
219 <t t-esc="record.date_begin.raw_value.getFullYear()"/>
221 <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
223 <div class="oe_module_desc">
224 <h4><a type="open"><field name="name"/></a></h4>
226 <t t-if="record.country_id.raw_value">@<field name="country_id"/><br/></t>
227 <t t-if="record.user_id.raw_value">Organized by <field name="user_id"/><br/></t>
228 <t t-if="record.register_avail.raw_value lte 10 and record.register_avail.raw_value gt 0"><i>Only</i></t>
229 <t t-if="record.register_avail.raw_value == 9999"><i>No ticket available.</i></t>
230 <t t-if="record.register_avail.raw_value != 9999">
231 <i><b><t t-if="record.register_avail.raw_value != 9999"><field name="register_avail"/></t></b></i>
233 <t t-if="record.register_avail.raw_value > 1">tickets </t>
234 <t t-if="record.register_avail.raw_value lte 1">ticket </t>
239 <div groups="base.group_user,portal.group_portal">
240 <t t-if="record.register_avail.raw_value gt 0 and record.register_avail.raw_value lt 9999">
241 <t t-if="!record.is_subscribed.raw_value">
242 <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}))"/>
243 <button t-att-id="'btn_sub'+record.id.raw_value" type="object" name="subscribe_to_event" class="oe_subscribe_button">
244 <span >Subscribe</span>
248 <t t-if="record.is_subscribed.raw_value">
249 <button type="object" name="unsubscribe_to_event" class="oe_unsubscribe_button ">
250 <span>Subscribed</span>
251 <span class="oe_unsubscribe">Unsubscribe</span>
263 <!-- Events Calendar View -->
265 <record id="view_event_calendar" model="ir.ui.view">
266 <field name="name">event.event.calendar</field>
267 <field name="model">event.event</field>
268 <field eval="2" name="priority"/>
269 <field name="arch" type="xml">
270 <calendar color="type" date_start="date_begin" date_stop="date_end" string="Event Organization">
277 <!-- Event Search View -->
279 <record model="ir.ui.view" id="view_event_search">
280 <field name="name">Events</field>
281 <field name="model">event.event</field>
282 <field name="arch" type="xml">
283 <search string="Events">
284 <field name="name" string="Events"/>
285 <filter icon="terp-mail-message-new" string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
287 <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
288 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
290 <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
292 <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" />
294 <field name="user_id"/>
295 <group expand="0" string="Group By...">
296 <filter string="Responsible" icon="terp-personal" context="{'group_by': 'user_id'}"/>
297 <filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/>
298 <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
299 <filter string="Start Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_begin'}"/>
306 <!-- Events Organisation/CONFIGURATION/EVENTS -->
307 <record model="ir.actions.act_window" id="action_event_view">
308 <field name="name">Events</field>
309 <field name="type">ir.actions.act_window</field>
310 <field name="res_model">event.event</field>
311 <field name="view_type">form</field>
312 <field name="view_mode">kanban,calendar,tree,form</field>
313 <field name="context">{"search_default_upcoming":1}</field>
314 <field name="search_view_id" ref="view_event_search"/>
315 <field name="help" type="html">
316 <p class="oe_view_nocontent_create">
317 Click to add a new event.
319 OpenERP helps you schedule and efficiently organize your events:
320 track subscriptions and participations, automate the confirmation emails,
327 id="act_register_event_partner"
329 res_model="event.registration"
330 src_model="res.partner"
331 view_mode="tree,form,calendar,graph"
332 context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
335 <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
337 <!-- EVENTS/REGISTRATIONS/EVENTS -->
340 <record model="ir.ui.view" id="view_event_registration_tree">
341 <field name="name">event.registration.tree</field>
342 <field name="model">event.registration</field>
343 <field name="arch" type="xml">
344 <tree string="Registration" fonts="bold:message_unread==True">
345 <field name="create_date"/>
346 <field name="partner_id"/>
348 <field name="email"/>
349 <field name="event_id" />
350 <field name="nb_register"/>
351 <field name="user_id" invisible="1"/>
352 <field name="origin"/>
353 <field name="state"/>
354 <field name="message_unread" invisible="1"/>
355 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
356 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
357 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
362 <record model="ir.ui.view" id="view_event_registration_form">
363 <field name="name">event.registration.form</field>
364 <field name="model">event.registration</field>
365 <field name="arch" type="xml">
366 <form string="Event Registration" version="7.0">
368 <button name="registration_open" string="Confirm" states="draft" type="object" class="oe_highlight"/>
369 <button name="button_reg_close" string="Attended" states="open" type="object" class="oe_highlight"/>
370 <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" />
371 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object"/>
372 <field name="state" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
374 <sheet string="Registration">
375 <label for="event_id" class="oe_edit_only"/>
377 <field name="event_id" domain="[('state','in',('draft','confirm'))]"/>
381 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
383 <field name="phone"/>
386 <field name="email" class="oe_inline"/>
387 <button class="oe_inline oe_right" string="Send Email"
388 name="%(mail.action_email_compose_message_wizard)d"
389 icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
393 <field name="nb_register"/>
394 <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}"/>
396 <group groups="base.group_no_one">
397 <field name="create_date"/>
398 <field name="date_closed"/>
402 <div class="oe_chatter">
403 <field name="message_follower_ids" widget="mail_followers"/>
404 <field name="message_ids" widget="mail_thread"/>
410 <!-- Calendar view of event registration -->
411 <record id="view_event_registration_calendar" model="ir.ui.view">
412 <field name="name">event.registration.calendar</field>
413 <field name="model">event.registration</field>
414 <field eval="2" name="priority"/>
415 <field name="arch" type="xml">
416 <calendar color="event_id" date_start="event_begin_date" date_stop="event_end_date" string="Event Registration">
417 <field name="event_id"/>
423 <record model="ir.ui.view" id="view_event_registration_graph">
424 <field name="name">Registration Graph</field>
425 <field name="model">event.registration</field>
426 <field name="arch" type="xml">
427 <graph string="Registration" type="bar" orientation="horizontal">
428 <field name="event_id"/>
429 <field name= "nb_register" operator="+"/>
435 <!-- Search view of event registration -->
436 <record model="ir.ui.view" id="view_registration_search">
437 <field name="name">Registrations</field>
438 <field name="model">event.registration</field>
439 <field name="arch" type="xml">
440 <search string="Event Registration">
441 <field name="name" string="Participant" filter_domain="['|','|',('name','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
442 <filter icon="terp-mail-message-new" string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
444 <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
445 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
447 <filter icon="terp-personal" string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/>
448 <field name="event_id"/>
449 <field name="user_id"/>
450 <field name="partner_id"/>
451 <group expand="0" string="Group By...">
452 <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
453 <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
454 <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
455 <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
461 <record model="ir.actions.act_window" id="action_registration">
462 <field name="name">Registrations</field>
463 <field name="res_model">event.registration</field>
464 <field name="view_type">form</field>
465 <field name="domain"></field>
466 <field name="view_mode">tree,form,calendar,graph</field>
467 <field name="context">{}</field>
468 <field name="search_view_id" ref="view_registration_search"/>
471 <menuitem name="Registrations"
472 id="menu_action_registration" parent="base.menu_event_main"
473 action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
475 <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>