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>
12 <menuitem name="Events" parent="base.marketing_menu" id="event_main_menu"/>
16 <!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
17 <record model="ir.ui.view" id="view_event_type_form">
18 <field name="name">Event type</field>
19 <field name="model">event.type</field>
20 <field name="arch" type="xml">
21 <form string="Event Type">
24 <field name="default_reply_to"/>
25 <field name="default_registration_min"/>
26 <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
27 <field name="default_registration_max"/>
28 <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
34 <record model="ir.ui.view" id="view_event_type_tree">
35 <field name="name">Event type</field>
36 <field name="model">event.type</field>
37 <field name="arch" type="xml">
38 <tree string="Event Type">
44 <record model="ir.actions.act_window" id="action_event_type">
45 <field name="name">Types of Events</field>
46 <field name="res_model">event.type</field>
47 <field name="view_type">form</field>
49 <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="base.marketing_menu" sequence="30"/>
50 <menuitem name="Events" id="event_configuration" parent="base.menu_marketing_config_root"/>
51 <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="event.event_configuration" groups="base.group_no_one"/>
53 <!-- Events Organisation/CONFIGURATION/EVENTS -->
55 <record model="ir.ui.view" id="view_event_form">
56 <field name="name">Events</field>
57 <field name="model">event.event</field>
58 <field name="arch" type="xml">
59 <form string="Events" version="7.0">
61 <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight" groups="base.group_user"/>
62 <button string="Finish Event" name="button_done" states="confirm" type="object" class="oe_highlight" groups="base.group_user"/>
63 <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" groups="base.group_user"/>
64 <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" groups="base.group_user"/>
65 <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
68 <div class="oe_right oe_button_box" groups="base.group_user">
69 <button name="%(event.act_event_list_register_event)d" type="action" string="Registrations" help="Register with this event"/>
71 <div class="oe_title">
72 <label for="name" class="oe_edit_only"/>
73 <h1><field name="name"/></h1>
75 <group name="main_field_group">
77 <field name="address_id" context="{'show_address': 1}" options='{"always_reload": True}'/>
78 <field name="organizer_id"/>
79 <field name="company_id" groups="base.group_multi_company"/>
82 <field name="user_id"/>
83 <field name="type" on_change="onchange_event_type(type,context)" />
84 <field name="date_begin" on_change="onchange_start_date(date_begin,date_end)"/>
85 <field name="date_end"/>
89 <page string="Registrations">
92 <field name="seats_min"/>
93 <field name="seats_max"/>
94 <label for="seats_reserved" string="Current Registrations" groups="base.group_user"/>
95 <div groups="base.group_user">
96 <field name="seats_unconfirmed" class="oe_inline"/> (confirmed: <field name="seats_reserved" class="oe_inline"/>)
98 <field name="seats_used"/>
101 <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user" context="{'event_id': active_id}">
102 <tree string="Registration" editable="top">
103 <field name="name" />
104 <field name="email" />
105 <field name="phone"/>
106 <field name="nb_register" />
107 <field name="state"/>
108 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
109 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
110 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
112 <form string="Registration">
113 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)" />
115 <group colspan="4" col="4">
116 <field name="email"/>
117 <field name="phone"/>
119 <group colspan="4" col="4">
120 <field name="nb_register"/>
122 <group colspan="4" col="4">
124 <group col="8" colspan="4">
125 <separator string="" colspan="4"/>
127 <field name="state" colspan="2"/>
128 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
129 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
130 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
135 <page string="Description">
136 <field name="description" nolabel="1" placeholder="Event Description..."/>
138 <page string='Event Details' groups="base.group_no_one">
140 <field name="reply_to"/>
141 <field name="email_registration_id"/>
142 <field name="email_confirmation_id"/>
147 <div class="oe_chatter">
148 <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
149 <field name="message_ids" widget="mail_thread"/>
155 <!-- Event tree view -->
157 <record model="ir.ui.view" id="view_event_tree">
158 <field name="name">event.event.tree</field>
159 <field name="model">event.event</field>
160 <field name="arch" type="xml">
161 <tree string="Events" fonts="bold:message_unread==True" colors="red:(seats_min and seats_min>seats_reserved) or (seats_max and seats_max<seats_reserved);grey:state=='cancel'">
162 <field name="name" string="Name"/>
163 <field name="type" string="Event Category"/>
164 <field name="date_begin"/>
165 <field name="date_end"/>
166 <field name="seats_reserved"/>
167 <field name="seats_min"/>
168 <field name="seats_max" invisible="1"/>
169 <field name="user_id"/>
170 <field name="state"/>
171 <field name="message_unread" invisible="1"/>
177 <!-- Event Kanban View -->
179 <record model="ir.ui.view" id="view_event_kanban">
180 <field name="name">event.event.kanban</field>
181 <field name="model">event.event</field>
182 <field name="arch" type="xml">
185 <field name="user_id"/>
186 <field name="is_subscribed"/>
187 <field name="country_id"/>
188 <field name="date_begin"/>
189 <field name="state"/>
190 <field name="seats_max"/>
191 <field name="seats_reserved"/>
192 <field name="seats_available"/>
194 <t t-name="kanban-box">
195 <div class="oe_module_vignette">
196 <a type="open" class="oe_module_icon">
197 <div class="oe_event_date "><t t-esc="record.date_begin.raw_value.getDate()"/></div>
198 <div class="oe_event_month_year">
199 <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
200 <t t-esc="record.date_begin.raw_value.getFullYear()"/>
202 <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
204 <div class="oe_module_desc">
205 <h4><a type="open"><field name="name"/></a></h4>
207 <t t-if="record.country_id.raw_value">@<field name="country_id"/><br/></t>
208 <t t-if="record.user_id.raw_value">Organized by <field name="user_id"/><br/></t>
209 <t t-if="record.seats_available.raw_value lte 10 and record.seats_available.raw_value gt 0"><i>Only</i></t>
210 <t t-if="!record.seats_max.raw_value"><i>No ticket available.</i></t>
211 <t t-if="record.seats_max.raw_value">
212 <i t-if="record.seats_available.raw_value">
213 <b><field name="seats_available"/></b>
214 <t t-if="record.seats_available.raw_value > 1">tickets </t>
215 <t t-if="record.seats_available.raw_value lte 1">ticket </t>
220 <div groups="base.group_user,base.group_portal">
221 <t t-if="record.seats_available.raw_value gt 0 and record.seats_max.raw_value">
222 <t t-if="!record.is_subscribed.raw_value">
223 <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}))"/>
224 <button t-att-id="'btn_sub'+record.id.raw_value" type="object" name="subscribe_to_event" class="oe_subscribe_button">
225 <span >Subscribe</span>
229 <t t-if="record.is_subscribed.raw_value">
230 <button type="object" name="unsubscribe_to_event" class="oe_unsubscribe_button ">
231 <span>Subscribed</span>
232 <span class="oe_unsubscribe">Unsubscribe</span>
244 <!-- Events Calendar View -->
246 <record id="view_event_calendar" model="ir.ui.view">
247 <field name="name">event.event.calendar</field>
248 <field name="model">event.event</field>
249 <field eval="2" name="priority"/>
250 <field name="arch" type="xml">
251 <calendar color="type" date_start="date_begin" date_stop="date_end" string="Event Organization">
258 <!-- Event Search View -->
260 <record model="ir.ui.view" id="view_event_search">
261 <field name="name">Events</field>
262 <field name="model">event.event</field>
263 <field name="arch" type="xml">
264 <search string="Events">
265 <field name="name" string="Events"/>
266 <filter icon="terp-mail-message-new" string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
268 <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
269 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
271 <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
273 <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" />
275 <field name="user_id"/>
276 <group expand="0" string="Group By...">
277 <filter string="Responsible" icon="terp-personal" context="{'group_by': 'user_id'}"/>
278 <filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/>
279 <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
280 <filter string="Start Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_begin'}"/>
287 <!-- Events Organisation/CONFIGURATION/EVENTS -->
288 <record model="ir.actions.act_window" id="action_event_view">
289 <field name="name">Events</field>
290 <field name="type">ir.actions.act_window</field>
291 <field name="res_model">event.event</field>
292 <field name="view_type">form</field>
293 <field name="view_mode">kanban,calendar,tree,form</field>
294 <field name="context">{"search_default_upcoming":1}</field>
295 <field name="search_view_id" ref="view_event_search"/>
296 <field name="help" type="html">
297 <p class="oe_view_nocontent_create">
298 Click to add a new event.
300 OpenERP helps you schedule and efficiently organize your events:
301 track subscriptions and participations, automate the confirmation emails,
308 id="act_register_event_partner"
310 res_model="event.registration"
311 src_model="res.partner"
312 view_mode="tree,form,calendar,graph"
313 context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
316 <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="event.event_main_menu" />
318 <!-- EVENTS/REGISTRATIONS/EVENTS -->
321 <record model="ir.ui.view" id="view_event_registration_tree">
322 <field name="name">event.registration.tree</field>
323 <field name="model">event.registration</field>
324 <field name="arch" type="xml">
325 <tree string="Registration" fonts="bold:message_unread==True">
326 <field name="create_date"/>
327 <field name="partner_id"/>
329 <field name="email"/>
330 <field name="event_id" />
331 <field name="nb_register"/>
332 <field name="user_id" invisible="1"/>
333 <field name="origin"/>
334 <field name="state"/>
335 <field name="message_unread" invisible="1"/>
336 <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
337 <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
338 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
343 <record model="ir.ui.view" id="view_event_registration_form">
344 <field name="name">event.registration.form</field>
345 <field name="model">event.registration</field>
346 <field name="arch" type="xml">
347 <form string="Event Registration" version="7.0">
349 <button name="registration_open" string="Confirm" states="draft" type="object" class="oe_highlight"/>
350 <button name="button_reg_close" string="Attended" states="open" type="object" class="oe_highlight"/>
351 <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" />
352 <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object"/>
353 <field name="state" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
355 <sheet string="Registration">
356 <label for="event_id" class="oe_edit_only"/>
358 <field name="event_id" domain="[('state','in',('draft','confirm'))]"/>
362 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
364 <field name="phone"/>
367 <field name="email" class="oe_inline"/>
368 <button class="oe_inline oe_right" string="Send Email"
369 name="%(mail.action_email_compose_message_wizard)d"
370 icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
374 <field name="nb_register"/>
375 <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'event.group_event_user']}"/>
377 <group groups="base.group_no_one">
378 <field name="create_date"/>
379 <field name="date_closed"/>
383 <div class="oe_chatter">
384 <field name="message_follower_ids" widget="mail_followers"/>
385 <field name="message_ids" widget="mail_thread"/>
391 <!-- Calendar view of event registration -->
392 <record id="view_event_registration_calendar" model="ir.ui.view">
393 <field name="name">event.registration.calendar</field>
394 <field name="model">event.registration</field>
395 <field eval="2" name="priority"/>
396 <field name="arch" type="xml">
397 <calendar color="event_id" date_start="event_begin_date" date_stop="event_end_date" string="Event Registration">
398 <field name="event_id"/>
404 <record model="ir.ui.view" id="view_event_registration_graph">
405 <field name="name">Registration Graph</field>
406 <field name="model">event.registration</field>
407 <field name="arch" type="xml">
408 <graph string="Registration" type="bar">
409 <field name="event_id" type="row"/>
410 <field name= "nb_register" type="measure"/>
416 <!-- Search view of event registration -->
417 <record model="ir.ui.view" id="view_registration_search">
418 <field name="name">Registrations</field>
419 <field name="model">event.registration</field>
420 <field name="arch" type="xml">
421 <search string="Event Registration">
422 <field name="name" string="Participant" filter_domain="['|','|',('name','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
423 <filter icon="terp-mail-message-new" string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
425 <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
426 <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
428 <filter icon="terp-personal" string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/>
429 <field name="event_id"/>
430 <field name="user_id"/>
431 <field name="partner_id"/>
432 <group expand="0" string="Group By...">
433 <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
434 <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
435 <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
436 <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
442 <record model="ir.actions.act_window" id="action_registration">
443 <field name="name">Registrations</field>
444 <field name="res_model">event.registration</field>
445 <field name="view_type">form</field>
446 <field name="domain"></field>
447 <field name="view_mode">tree,form,calendar,graph</field>
448 <field name="context">{}</field>
449 <field name="search_view_id" ref="view_registration_search"/>
452 <menuitem name="Registrations"
453 id="menu_action_registration" parent="event.event_main_menu"
454 action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
456 <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>