[CLEAN] event: lint / remove dead code
[odoo/odoo.git] / addons / event / event_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5         <!-- Main menu items -->
6         <menuitem name="Events" id="event_main_menu" parent="base.marketing_menu" sequence="2"/>
7         <menuitem name="Events" id="event_configuration" parent="base.menu_marketing_config_root" sequence="1"/>
8
9         <!-- EVENT.TYPE VIEWS -->
10         <record model="ir.ui.view" id="view_event_type_form">
11             <field name="name">event.type.form</field>
12             <field name="model">event.type</field>
13             <field name="arch" type="xml">
14                 <form string="Event Type">
15                     <group>
16                         <field name="name"/>
17                         <field name="default_reply_to"/>
18                         <field name="default_registration_min"/>
19                         <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
20                         <field name="default_registration_max"/>
21                         <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
22                     </group>
23                 </form>
24             </field>
25         </record>
26
27         <record model="ir.ui.view" id="view_event_type_tree">
28             <field name="name">event.type.tree</field>
29             <field name="model">event.type</field>
30             <field name="arch" type="xml">
31                 <tree string="Event Type">
32                     <field name="name"/>
33                 </tree>
34             </field>
35         </record>
36
37         <record model="ir.actions.act_window" id="action_event_type">
38             <field name="name">Events Types</field>
39             <field name="res_model">event.type</field>
40             <field name="view_type">form</field>
41         </record>
42         
43         <menuitem name="Events Types" id="menu_event_type" action="action_event_type" parent="event.event_configuration" groups="base.group_no_one"/>
44
45         <!-- EVENT.REGISTRATION ACTIONS -->
46         <record id="act_event_registration_from_event" model="ir.actions.act_window">
47             <field name="res_model">event.registration</field>
48             <field name="view_type">form</field>
49             <field name="name">Registrations</field>
50             <field name="view_mode">tree,form,calendar,graph</field>
51             <field name="context">{'search_default_event_id': active_id, 'default_event_id': active_id}</field>
52         </record>
53
54         <!-- EVENT.EVENT VIEWS -->
55         <record model="ir.ui.view" id="view_event_form">
56             <field name="name">event.event.form</field>
57             <field name="model">event.event</field>
58             <field name="arch" type="xml">
59                 <form string="Events">
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_title">
69                             <label for="name" class="oe_edit_only"/>
70                             <h1><field name="name"/></h1>
71                         </div>
72                         <div class="oe_right oe_button_box" groups="base.group_user">
73                             <button name="%(event.act_event_registration_from_event)d" 
74                                 type="action" 
75                                 class="oe_stat_button oe_inline" 
76                                 icon="fa-github" 
77                                 help="Register with this event">
78                                 <field name="count_registrations" widget="statinfo" string="Registrations"/>
79                             </button>
80                         </div>
81                         <group name="main_field_group">
82                             <group>
83                                 <field name="address_id" context="{'show_address': 1}" options='{"always_reload": True}'/>
84                                 <field name="organizer_id"/>
85                                 <field name="company_id" groups="base.group_multi_company"/>
86                             </group>
87                             <group>
88                                 <field name="user_id"/>
89                                 <field name="type"/>
90                                 <field name="date_begin"/>
91                                 <field name="date_end"/>
92                                 <field name="date_tz" />
93                             </group>
94                         </group>
95                         <notebook>
96                             <page string="Registrations">
97                                 <group>
98                                     <group>
99                                         <field name="auto_confirm" invisible="1"/>
100                                         <field name="seats_min" attrs="{'invisible':[('auto_confirm','=', True)]}"/>
101                                         <field name="seats_availability" widget='radio'/>
102                                         <field name="seats_max" attrs="{'invisible':[('seats_availability','=','unlimited')]}"/>
103                                     </group>
104                                 </group>
105                             </page>
106                             <page string='Event Details' groups="base.group_no_one">
107                                 <group colspan="4">
108                                     <field name="reply_to"/>
109                                     <field name="email_registration_id"/>
110                                     <field name="email_confirmation_id"/>
111                                 </group>
112                             </page>
113                         </notebook>
114                     </sheet>
115                     <div class="oe_chatter">
116                         <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
117                         <field name="message_ids" widget="mail_thread"/>
118                     </div>
119                 </form>
120             </field>
121         </record>
122
123         <record model="ir.ui.view" id="view_event_tree">
124             <field name="name">event.event.tree</field>
125             <field name="model">event.event</field>
126             <field name="arch" type="xml">
127                 <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'">
128                     <field name="name"/>
129                     <field name="type"/>
130                     <field name="date_begin"/>
131                     <field name="date_end"/>
132                     <field name="seats_reserved"/>
133                     <field name="seats_min"/>
134                     <field name="seats_max" invisible="1"/>
135                     <field name="user_id"/>
136                     <field name="state"/>
137                     <field name="message_unread" invisible="1"/>
138                 </tree>
139             </field>
140         </record>
141
142         <record model="ir.ui.view" id="view_event_kanban">
143             <field name="name">event.event.kanban</field>
144             <field name="model">event.event</field>
145             <field name="arch" type="xml">
146                 <kanban>
147                     <field name="user_id"/>
148                     <field name="country_id"/>
149                     <field name="date_begin"/>
150                     <field name="date_end"/>
151                     <field name="seats_unconfirmed"/>
152                     <field name="seats_reserved"/>
153                     <field name="color"/>
154                     <templates>
155                         <t t-name="kanban-box">
156                             <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_event_kanban_view" >
157                                 <div class="oe_dropdown_toggle oe_dropdown_kanban">
158                                     <span class="oe_e">í</span>
159                                     <ul class="oe_dropdown_menu">
160                                         <t t-if="widget.view.is_action_enabled('edit')">
161                                             <li><a type="edit">Event Settings</a></li>
162                                         </t>
163                                         <t t-if="widget.view.is_action_enabled('delete')">
164                                             <li><a type="delete">Delete</a></li>
165                                         </t>
166                                         <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
167                                     </ul>
168                                 </div>
169                                 <div class="oe_module_vignette row">
170                                     <div class="col-md-3">
171                                         <div class="oe_module_icon">
172                                             <div class="oe_event_date_thumb oe_event_date"><t t-esc="record.date_begin.raw_value.getDate()"/></div>
173                                             <div class="oe_event_date_thumb oe_event_month_year">
174                                                 <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
175                                                 <t t-esc="record.date_begin.raw_value.getFullYear()"/>
176                                             </div>
177                                             <div class="oe_event_date_thumb oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
178                                         </div>
179                                     </div>
180                                     <div class="col-md-8">
181                                         <h4><field name="name"/></h4>
182                                         <div>
183                                             <small>
184                                                 <t t-if="record.country_id.raw_value"> <b> <field name="country_id"/> </b> <br/> </t>
185                                                 <i class="fa fa-clock-o" t-att-title="record.date_begin.raw_value.toString('hh:mm tt')"/>
186                                                 <b>From</b> <t t-esc="record.date_begin.raw_value.toString('MM/dd/yyyy')"/>
187                                                 <b>To</b> <t t-esc="record.date_end.raw_value.toString('MM/dd/yyyy')"/>
188                                             </small>
189                                         </div>
190                                         <h4>
191                                             <a name="%(act_event_registration_from_event)d" type="action">
192                                                 <t t-esc="record.seats_reserved.raw_value" > Attendees</t>
193                                                 <t t-if="(record.seats_reserved.raw_value + record.seats_unconfirmed.raw_value) > 0 ">&#47;
194                                                     <t t-esc="record.seats_reserved.raw_value + record.seats_unconfirmed.raw_value"/> Expected
195                                                 </t>
196                                             </a>
197                                             <t t-if="record.seats_reserved.raw_value > 0">
198                                                 <a name="action_event_registration_report" type="object" >&#40;Report&#41;</a>
199                                             </t>
200                                         </h4>
201                                     </div>
202                                 </div>
203                             </div>
204                         </t>
205                     </templates>
206                 </kanban>
207             </field>
208         </record>
209
210         <record model="ir.ui.view" id="view_event_calendar">
211             <field name="name">event.event.calendar</field>
212             <field name="model">event.event</field>
213             <field eval="2" name="priority"/>
214             <field name="arch" type="xml">
215                 <calendar color="type" date_start="date_begin" date_stop="date_end" string="Event Organization">
216                     <field name="name"/>
217                     <field name="type"/>
218                 </calendar>
219             </field>
220         </record>
221
222         <record model="ir.ui.view" id="view_event_search">
223             <field name="name">event.event.search</field>
224             <field name="model">event.event</field>
225             <field name="arch" type="xml">
226                 <search string="Events">
227                     <field name="name" string="Events"/>
228                     <filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
229                     <separator/>
230                     <filter string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
231                     <filter string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
232                     <separator/>
233                     <filter string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
234                     <separator/>
235                     <filter string="Upcoming" name="upcoming" domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Upcoming events from today" />
236                     <field name="type"/>
237                     <field name="user_id"/>
238                     <group expand="0" string="Group By">
239                         <filter string="Responsible" context="{'group_by': 'user_id'}"/>
240                         <filter string="Event Type" context="{'group_by':'type'}"/>
241                         <filter string="Status" context="{'group_by':'state'}"/>
242                         <filter string="Start Month" domain="[]" context="{'group_by':'date_begin'}"/>
243                     </group>
244                 </search>
245             </field>
246         </record>
247
248         <record model="ir.actions.act_window" id="action_event_view">
249            <field name="name">Events</field>
250            <field name="type">ir.actions.act_window</field>
251            <field name="res_model">event.event</field>
252            <field name="view_type">form</field>
253            <field name="view_mode">kanban,calendar,tree,form</field>
254            <field name="context">{"search_default_upcoming":1}</field>
255            <field name="search_view_id" ref="view_event_search"/>
256            <field name="help" type="html"><p class="oe_view_nocontent_create">
257     Click to add a new event.
258 </p><p>
259     Odoo helps you schedule and efficiently organize your events:
260     track subscriptions and participations, automate the confirmation emails,
261     sell tickets, etc.
262 </p></field>
263         </record>
264
265         <act_window
266             id="act_register_event_partner"
267             name="Subscribe"
268             res_model="event.registration"
269             src_model="res.partner"
270             view_mode="tree,form,calendar,graph"
271             context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
272             view_type="form"/>
273
274         <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="event.event_main_menu" />
275
276         <!-- EVENTS/REGISTRATIONS/EVENTS  -->
277         <record model="ir.ui.view" id="view_event_registration_tree">
278             <field name="name">event.registration.tree</field>
279             <field name="model">event.registration</field>
280             <field name="arch" type="xml">
281                 <tree string="Registration" fonts="bold:message_unread==True">
282                     <field name="create_date"/>
283                     <field name="partner_id"/>
284                     <field name="name"/>
285                     <field name="email"/>
286                     <field name="event_id" />
287                     <field name="nb_register"/>
288                     <field name="user_id" invisible="1"/>
289                     <field name="origin"/>
290                     <field name="state"/>
291                     <field name="message_unread" invisible="1"/>
292                     <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
293                     <button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="gtk-jump-to"/>
294                     <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
295                 </tree>
296             </field>
297         </record>
298
299         <record model="ir.ui.view" id="view_event_registration_form">
300             <field name="name">event.registration.form</field>
301             <field name="model">event.registration</field>
302             <field name="arch" type="xml">
303                 <form string="Event Registration">
304                     <header>
305                         <button name="registration_open" string="Confirm" states="draft" type="object" class="oe_highlight"/>
306                         <button name="button_reg_close" string="Attended" states="open" type="object" class="oe_highlight"/>
307                         <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" />
308                         <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object"/>
309                         <field name="state" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
310                     </header>
311                     <sheet string="Registration">
312                         <label for="event_id" class="oe_edit_only"/>
313                         <h1>
314                             <field name="event_id" domain="[('state','in',('draft','confirm'))]"/>
315                         </h1>
316                         <group>
317                             <group>
318                                 <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}"/>
319                                 <field name="name"/>
320                                 <field name="phone"/>
321                                 <field name="email"/>
322                             </group>
323                             <group>
324                                 <field name="create_date" groups="base.group_no_one"/>
325                                 <field name="date_closed" groups="base.group_no_one"/>
326                                 <field name="nb_register"/>
327                                 <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'event.group_event_user']}"/>
328                             </group>
329                         </group>
330                     </sheet>
331                     <div class="oe_chatter">
332                         <field name="message_follower_ids" widget="mail_followers"/>
333                         <field name="message_ids" widget="mail_thread"/>
334                     </div>
335                 </form>
336             </field>
337         </record>
338
339         <record id="view_event_registration_calendar" model="ir.ui.view">
340             <field name="name">event.registration.calendar</field>
341             <field name="model">event.registration</field>
342             <field eval="2" name="priority"/>
343             <field name="arch" type="xml">
344                 <calendar color="event_id" date_start="event_begin_date" date_stop="event_end_date" string="Event Registration">
345                     <field name="event_id"/>
346                     <field name="name"/>
347                 </calendar>
348             </field>
349         </record>
350
351         <record model="ir.ui.view" id="view_event_registration_graph">
352             <field name="name">event.registration.graph</field>
353             <field name="model">event.registration</field>
354             <field name="arch" type="xml">
355                 <graph string="Registration" type="bar">
356                     <field name="event_id" type="row"/>
357                     <field name= "nb_register" type="measure"/>
358                 </graph>
359             </field>
360         </record>
361
362         <record model="ir.ui.view" id="view_registration_search">
363             <field name="name">event.registration.search</field>
364             <field name="model">event.registration</field>
365             <field name="arch" type="xml">
366                 <search string="Event Registration">
367                     <field name="name" string="Participant" filter_domain="['|','|',('name','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
368                     <filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
369                     <separator/>
370                     <filter string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
371                     <filter string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
372                     <separator/>
373                     <filter string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/>
374                     <field name="event_id"/>
375                     <field name="user_id"/>
376                     <field name="partner_id"/>
377                     <group expand="0" string="Group By">
378                         <filter string="Responsible"  domain="[]" context="{'group_by':'user_id'}"/>
379                         <filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
380                         <filter string="Event" name="group_event" domain="[]" context="{'group_by':'event_id'}"/>
381                         <filter string="Status" domain="[]" context="{'group_by':'state'}"/>
382                         <filter string="Registration Day" domain="[]" context="{'group_by': 'create_date:day'}"/>
383                         <filter string="Registration Month" domain="[]" context="{'group_by': 'create_date:month'}"/>
384                    </group>
385                 </search>
386             </field>
387         </record>
388
389         <record model="ir.actions.act_window" id="action_registration">
390           <field name="name">Registrations</field>
391           <field name="res_model">event.registration</field>
392           <field name="view_type">form</field>
393           <field name="domain"></field>
394           <field name="view_mode">tree,form,calendar,graph</field>
395           <field name="context">{}</field>
396           <field name="search_view_id" ref="view_registration_search"/>
397         </record>
398
399         <menuitem name="Registrations"
400             id="menu_action_registration" parent="event.event_main_menu"
401             action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
402
403     </data>
404 </openerp>