[FIX] stock_picking_wave: fixed picking wave report
[odoo/odoo.git] / addons / event / event_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
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>
11         </record>
12         <menuitem name="Events" parent="base.marketing_menu" id="event_main_menu"/>
13
14         <!-- EVENTS  -->
15
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">
22                     <group col="4">
23                         <field name="name"/>
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')]"/>
29                     </group>
30                 </form>
31             </field>
32         </record>
33
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">
39                     <field name="name"/>
40                 </tree>
41             </field>
42         </record>
43
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>
48         </record>
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"/>
52
53         <!-- Events Organisation/CONFIGURATION/EVENTS -->
54
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">
60                     <header>
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"/>
66                     </header>
67                     <sheet>
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"/>
70                         </div>
71                         <div class="oe_title">
72                             <label for="name" class="oe_edit_only"/>
73                             <h1><field name="name"/></h1>
74                         </div>
75                         <group name="main_field_group">
76                             <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"/>
80                             </group>
81                             <group>
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"/>
86                             </group>
87                         </group>
88                         <notebook>
89                             <page string="Registrations">
90                                 <group>
91                                     <group>
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"/>)
97                                         </div>
98                                         <field name="seats_used"/>
99                                     </group>
100                                 </group>
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"/>
111                                     </tree>
112                                     <form string="Registration">
113                                         <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)" />
114                                         <field name="name"/>
115                                         <group colspan="4" col="4">
116                                         <field name="email"/>
117                                         <field name="phone"/>
118                                         </group>
119                                         <group colspan="4" col="4">
120                                             <field name="nb_register"/>
121                                         </group>
122                                         <group colspan="4" col="4">
123                                         </group>
124                                             <group col="8" colspan="4">
125                                                 <separator string="" colspan="4"/>
126                                                 <newline/>
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"/>
131                                             </group>
132                                     </form>
133                                 </field>
134                             </page>
135                             <page string="Description">
136                                 <field name="description" nolabel="1" placeholder="Event Description..."/>
137                             </page>
138                             <page string='Event Details' groups="base.group_no_one">
139                                 <group colspan="4">
140                                     <field name="reply_to"/>
141                                     <field name="email_registration_id"/>
142                                     <field name="email_confirmation_id"/>
143                                 </group>
144                             </page>
145                         </notebook>
146                     </sheet>
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"/>
150                     </div>
151                 </form>
152             </field>
153         </record>
154
155         <!-- Event tree view -->
156
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&gt;seats_reserved) or (seats_max and seats_max&lt;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"/>
172                 </tree>
173             </field>
174         </record>
175
176
177         <!-- Event Kanban View -->
178
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">
183                 <kanban>
184                     <field name="type"/>
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"/>
193                     <templates>
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()"/>
201                             </div>
202                             <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
203                         </a>
204                         <div class="oe_module_desc">
205                             <h4><a type="open"><field name="name"/></a></h4>
206                             <p>
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>
216                                     available.
217                                 </i>
218                               </t>
219                             </p>
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>
226                                     </button>
227                                   </t>
228                                 </t>
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>
233                                   </button>
234                                 </t>
235                             </div>
236                         </div>
237                       </div>
238                     </t>
239                     </templates>
240                 </kanban>
241             </field>
242         </record>
243
244         <!-- Events  Calendar  View -->
245
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">
252                     <field name="name"/>
253                     <field name="type"/>
254                 </calendar>
255             </field>
256         </record>
257
258         <!-- Event Search View -->
259
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)]"/>
267                     <separator/>
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"/>
270                     <separator/>
271                     <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
272                     <separator/>
273                     <filter icon="terp-go-today" string="Upcoming" name="upcoming" domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Upcoming events from today" />
274                     <field name="type"/>
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'}"/>
281                     </group>
282                 </search>
283             </field>
284         </record>
285
286
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.
299              </p><p>
300                OpenERP helps you schedule and efficiently organize your events:
301                track subscriptions and participations, automate the confirmation emails,
302                sell tickets, etc.
303              </p>
304            </field>
305         </record>
306
307         <act_window
308             id="act_register_event_partner"
309             name="Subscribe"
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}"
314             view_type="form"/>
315
316         <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="event.event_main_menu" />
317
318         <!-- EVENTS/REGISTRATIONS/EVENTS  -->
319
320
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"/>
328                     <field name="name"/>
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"/>
339                 </tree>
340             </field>
341         </record>
342
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">
348                     <header>
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"/>
354                     </header>
355                     <sheet string="Registration">
356                         <label for="event_id" class="oe_edit_only"/>
357                         <h1>
358                             <field name="event_id" domain="[('state','in',('draft','confirm'))]"/>
359                         </h1>
360                         <group>
361                             <group>
362                                 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
363                                 <field name="name"/>
364                                 <field name="phone"/>
365                                 <label for="email"/>
366                                 <div>
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"/>
371                                 </div>
372                             </group>
373                             <group>
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']}"/>
376                             </group>
377                             <group groups="base.group_no_one">
378                                 <field name="create_date"/>
379                                 <field name="date_closed"/>
380                             </group>
381                         </group>
382                     </sheet>
383                     <div class="oe_chatter">
384                         <field name="message_follower_ids" widget="mail_followers"/>
385                         <field name="message_ids" widget="mail_thread"/>
386                     </div>
387                 </form>
388             </field>
389         </record>
390
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"/>
399                     <field name="name"/>
400                 </calendar>
401             </field>
402         </record>
403
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"/>
411                 </graph>
412             </field>
413         </record>
414
415
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)]"/>
424                     <separator/>
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"/>
427                     <separator/>
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'}"/>
437                    </group>
438                 </search>
439             </field>
440         </record>
441
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"/>
450         </record>
451
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"/>
455
456         <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>
457
458     </data>
459 </openerp>