c32924522980431860d53fd0765858b9ba2d27b8
[odoo/odoo.git] / addons / base_calendar / base_calendar_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <!--        Attendee form view-->
6
7         <record id="base_calendar_attendee_form_view" model="ir.ui.view">
8             <field name="name">calendar.attendee.form</field>
9             <field name="model">calendar.attendee</field>
10             <field name="type">form</field>
11             <field name="arch" type="xml">
12                 <form string="Invitation details">
13                     <group col="6" colspan="4">
14                         <field name="email" string="Invitation To"/>
15                         <field name="cutype" string="Invitation type" />
16                         <field name="rsvp" />
17                         <field name="role" string="Role" />
18                         <field name="sent_by_uid" string="Invitation From" />
19                     </group>
20                     <notebook colspan="4">
21                         <page string="Invitation">
22                             <separator string="Invitation Detail" colspan="4" />
23                             <group colspan="4" col="4">
24                                 <field name="user_id" string="Invited User"/>
25                                 <newline/>
26                                 <field name="partner_address_id"
27                                     string="Contact" />
28                                 <field name="partner_id"
29                                     string="Partner" readonly="1" />
30                             </group>
31                             <separator string="Event Detail" colspan="4" />
32                             <group colspan="4" col="4">
33                                 <field name="event_date" />
34                                 <field name="event_end_date" />
35                                 <field name="language"/>
36                                 <field name="ref" colspan="4" readonly="1"/>
37                             </group>
38                         </page>
39                         <page string="Delegation Info">
40                             <separator string="Delegated From" colspan="4" />
41                             <field name="parent_ids" nolabel="1"
42                                 colspan="4" readonly="1" />
43                             <separator string="Delegated To" colspan="4" />
44                             <field name="child_ids" nolabel="1"
45                                 colspan="4" readonly="1" />
46                         </page>
47                     </notebook>
48                     <group col="6" colspan="4">
49                             <field name="state" />
50                             <button name="do_tentative"
51                                 states="needs-action,declined,accepted"
52                                 string="Uncertain" type="object"
53                                 icon="terp-crm" />
54                             <button name="do_accept" string="Accept"
55                                 states="needs-action,tentative,declined"
56                                 type="object" icon="gtk-apply" />
57                             <button name="do_decline" string="Decline"
58                                 states="needs-action,tentative,accepted"
59                                 type="object" icon="gtk-cancel" />
60                             <button
61                                 name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
62                                 string="Delegate" type="action"
63                                 icon="gtk-sort-descending"
64                                 states="needs-action,tentative,declined,accepted"
65                                 context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
66                     </group>
67                 </form>
68             </field>
69         </record>
70
71         <!--        Attendee tree view-->
72
73         <record id="base_calendar_attendee_tree_view" model="ir.ui.view">
74             <field name="name">calendar.attendee.tree</field>
75             <field name="model">calendar.attendee</field>
76             <field name="type">tree</field>
77             <field name="arch" type="xml">
78                 <tree string="Invitation details">
79                     <field name="sent_by_uid" string="Invitation From" />
80                     <field name="role" string="My Role"/>
81                     <field name="cutype" string="Invitation type"/>
82                     <field name="state" />
83                     <field name="rsvp" string="Required to Join"/>
84                     <button name="do_tentative" states="needs-action,declined,accepted"
85                                 string="Uncertain" type="object"
86                                 icon="terp-crm" />
87                     <button name="do_accept" string="Accept"
88                         states="needs-action,tentative,declined"
89                         type="object" icon="gtk-apply" />
90                     <button name="do_decline" string="Decline"
91                         states="needs-action,tentative,accepted"
92                         type="object" icon="gtk-cancel" />
93                     <button
94                         name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
95                         string="Delegate" type="action"
96                         icon="gtk-sort-descending"
97                         states="needs-action,tentative,declined,accepted"
98                         context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
99                 </tree>
100             </field>
101         </record>
102
103         <!--        Attendee search view-->
104
105         <record id="base_calendar_attendee_search_view" model="ir.ui.view">
106             <field name="name">calendar.attendee.search</field>
107             <field name="model">calendar.attendee</field>
108             <field name="type">search</field>
109             <field name="arch" type="xml">
110                 <search string="Search Invitations">
111                    <filter icon="terp-camera_test" name="toreview" string="To Review"
112                        domain="[('state','=', 'needs-action')]"
113                        separator="1" help="Invitations To Review" />
114                    <filter icon="terp-check" string="Accepted"
115                        domain="[('state','=', 'accepted')]"
116                        separator="1" help="Accepted Invitations" />
117                    <filter icon="terp-dialog-close" string="Declined"
118                        domain="[('state','=', 'declined')]"
119                        separator="1" help="Declined Invitations" />
120                    <filter icon="gtk-sort-descending" string="Delegated"
121                        domain="[('state','=', 'delegated')]"
122                        separator="1" help="Delegated Invitations" />
123                    <separator orientation="vertical"/>
124                    <field name="email" select='1'/>
125                    <field name="user_id" select="1"/>
126                    <separator orientation="vertical"/>
127                    <field name="cutype" string="Invitation type" select="1"/>
128                    <field name="event_date" select="1"/>
129                    <newline/>
130                     <group expand="0" string="Group By...">
131                         <filter string="Responsible" icon="terp-personal" domain="[]"
132                             context="{'group_by':'user_id'}" />
133                         <filter string="Contact" icon="terp-partner" domain="[]"
134                             context="{'group_by':'partner_address_id'}" />
135                         <separator orientation="vertical" />
136                         <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type"
137                             domain="[]" context="{'group_by':'cutype'}" />
138                         <filter string="Role" icon="terp-gtk-select-all"
139                             domain="[]" context="{'group_by':'role'}" />
140                         <filter string="Required Reply" icon="terp-mail-replied"
141                             domain="[]" context="{'group_by':'rsvp'}" />
142                         <separator orientation="vertical" />
143                         <filter string="State" icon="terp-stock_effects-object-colorize" help="Invitation Type"
144                             domain="[]" context="{'group_by':'state'}" />
145                     </group>
146                </search>
147             </field>
148         </record>
149         <record id="action_view_attendee_form" model="ir.actions.act_window">
150              <field name="name">Event Invitations</field>
151              <field name="type">ir.actions.act_window</field>
152              <field name="res_model">calendar.attendee</field>
153              <field name="view_type">form</field>
154              <field name="view_mode">tree,form</field>
155              <field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
156              <field name="context">{'default_sent_by_uid': uid}</field>
157          </record>
158
159         <!-- Calenadar's menu -->
160           <menuitem id="base.menu_calendar_configuration" name="Calendar"
161             parent="base.menu_base_config" sequence="6" groups="base.group_system" />
162
163         <!-- Invitation menu -->
164
165            <menuitem id="menu_attendee_invitations"
166             name="Event Invitations" parent="base.menu_calendar_configuration"
167             sequence="10" action="action_view_attendee_form" />
168
169         <!--        ALARM FORM VIEW-->
170
171         <record id="res_alarm_form_view" model="ir.ui.view">
172             <field name="name">res.alarm.form</field>
173             <field name="model">res.alarm</field>
174             <field name="type">form</field>
175             <field name="arch" type="xml">
176                 <form string="Reminder details">
177                     <field name="name" />
178                     <field name="active" />
179                     <separator string="Reminder Details" colspan="4" />
180                     <field name="trigger_duration" select="1" />
181                     <field name="trigger_interval" select="1" />
182                     <field name="trigger_occurs" select="1" />
183                     <field name="trigger_related" select="1" />
184                 </form>
185             </field>
186         </record>
187
188         <!--        ALARM TREE VIEW-->
189
190         <record id="res_alarm_tree_view" model="ir.ui.view">
191             <field name="name">res.alarm.tree</field>
192             <field name="model">res.alarm</field>
193             <field name="type">tree</field>
194             <field name="arch" type="xml">
195                 <tree string="Reminder details">
196                 <field name="name" select="1"/>
197                 <field name="trigger_interval" select="1"/>
198                 <field name="trigger_duration" select="1"/>
199                 <field name="trigger_occurs" select="1"/>
200                 <field name="trigger_related" select="1"/>
201                 </tree>
202             </field>
203         </record>
204         <record id="action_res_alarm_view" model="ir.actions.act_window">
205             <field name="name">Alarms</field>
206             <field name="type">ir.actions.act_window</field>
207             <field name="res_model">res.alarm</field>
208             <field name="view_type">form</field>
209             <field name="view_mode">tree,form</field>
210         </record>
211
212         <!--        Menu for Alarms-->
213
214          <menuitem id="menu_crm_meeting_avail_alarm"
215             groups="base.group_extended"
216             action="base_calendar.action_res_alarm_view"
217             parent="base.menu_calendar_configuration" />
218
219         <!-- Event Form View-->
220
221         <record model="ir.ui.view" id="event_form_view">
222             <field name="name">Event Form</field>
223             <field name="model">calendar.event</field>
224             <field name="type">form</field>
225             <field name="arch" type="xml">
226                 <form string="Events">
227                     <group col="6" colspan="4">
228                         <field name="name" select="1" string="Summary"
229                             colspan="4" required="1" />
230                         <field name="allday" colspan="2" on_change="onchange_allday(allday)" />
231                         <newline/>
232                         <field name="date" string="Start Date" required="1" select="1"
233                             on_change="onchange_dates(date,duration,False,allday)" />
234                         <field name="duration" widget="float_time"
235                             on_change="onchange_dates(date,duration,False,allday)" attrs="{'invisible': [('allday', '=', True)]}"/>
236                         <field name="date_deadline" string="End Date" required="1"
237                             on_change="onchange_dates(date,False,date_deadline)" />
238                         <field name="location" />
239                         <field name="alarm_id" string="Reminder"
240                             widget="selection" />
241                         <group colspan="2" col="4" >
242                                <field name="rrule_type" string="Recurrency"
243                                     colspan="1" attrs="{'readonly':[('recurrent_uid','!=',False)]}"/>
244                                <button string="Edit All"
245                                    help="Edit all Ourrences of recurrent Events"
246                                    attrs="{'invisible':[('rrule_type','in', ('none', False))]}"
247                                    name="open_event" icon="gtk-edit"
248                                    type="object" />
249                                <button string="Exclude range" groups="base.group_extended"
250                                     help="Add Exception Rule"
251                                     name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out"  type="action"
252                                     context="{'model' : 'calendar.event'}"
253                                     attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
254                         </group>
255                     </group>
256                     <group col="4" colspan="4" name="rrule" attrs="{'invisible': [('rrule_type','!=','custom')]}">
257                         <separator string="Select data for Custom Rule" colspan="8"/>
258                         <group col="8" colspan="4">
259                             <field name="interval" />
260                             <field name="freq" />
261                             <field name="count" />
262                             <field name="end_date" />
263                         </group>
264                         <group col="14" colspan="4" name="Select weekdays"
265                             attrs="{'invisible' : [('freq','!=','weekly')]}">
266                             <field name="mo" colspan="1" />
267                             <field name="tu" colspan="1" />
268                             <field name="we" colspan="1" />
269                             <field name="th" colspan="1" />
270                             <field name="fr" colspan="1" />
271                             <field name="sa" colspan="1" />
272                             <field name="su" colspan="1" />
273                             <newline />
274                         </group>
275                         <group col="10" colspan="4"
276                             attrs="{'invisible' : [('freq','!=','monthly'), ('freq','!=','yearly')]}">
277                             <group col="2" colspan="1">
278                                 <field name="select1" />
279                             </group>
280                             <group col="2" colspan="1"
281                                 attrs="{'invisible' : [('select1','=','day')]}">
282                                 <field name="day"
283                                     attrs="{'required' : [('select1','=','date')]}" />
284                             </group>
285                             <group col="3" colspan="1"
286                                 attrs="{'invisible' : [('select1','=','date')]}">
287                                 <field name="byday" string="The"
288                                     attrs="{'required' : [('select1','=','day')]}" />
289                                 <field name="week_list" nolabel="1"
290                                     attrs="{'required' : [('select1','=','day')]}" />
291                             </group>
292                             <group col="1" colspan="1"
293                                 attrs="{'invisible' : [('freq','!=','yearly')]}">
294                                 <field name="month_list" string="of"
295                                     colspan="1"
296                                     attrs="{'required' : [('freq','=','yearly')]}" />
297                             </group>
298                         </group>
299                     </group>
300                     <notebook colspan="4">
301                     <page string="Event">
302                         <group col="6" colspan="4">
303                              <separator colspan="6" string="Visibility"/>
304                              <field name="user_id" string="Responsible User" />
305                              <field name="show_as" string="Show time as"/>
306                              <field name="class" string="Privacy"/>
307                              <field name="recurrent_id" invisible="1" />
308                              <field name="recurrent_uid" invisible="1" />
309                         </group>
310                         <separator string="Description" colspan="4" />
311                         <field name="description" nolabel="1" colspan="4" />
312                         <separator colspan="4" string="" />
313                            <group col="5" colspan="4">
314                                <field name="state" select="2" />
315                                <button name="do_tentative"
316                                    states="confirmed,cancelled"
317                                    string="Uncertain"
318                                    type="object"
319                                    icon="terp-crm" />
320                                <button name="do_confirm"
321                                    string="Confirm"
322                                    states="tentative,cancelled"
323                                    type="object"
324                                    icon="gtk-apply" />
325                                <button name="do_cancel"
326                                    string="Cancel"
327                                    states="tentative,confirmed"
328                                    type="object"
329                                    icon="gtk-cancel" />
330                            </group>
331                         </page>
332                         <page string="Invitation Detail">
333                             <button string="Invite People"
334                                 name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
335                                 icon="terp-partner" type="action"
336                                 context="{'model' : 'calendar.event', 'attendee_field':'attendee_ids'}" colspan="2"/>
337                             <field name="attendee_ids" colspan="4"
338                                 nolabel="1" widget="one2many" mode="tree,form">
339                                 <tree string="Invitation details" editable="top">
340                                     <field name="email" />
341                                     <field name="role" width="200" select="1" />
342                                     <field name="state" />
343                                     <button name="do_tentative"
344                                         states="needs-action,declined,accepted"
345                                         string="Uncertain" type="object"
346                                         icon="terp-crm" />
347                                     <button name="do_accept" string="Accept"
348                                         states="needs-action,tentative,declined"
349                                         type="object" icon="gtk-apply" />
350                                     <button name="do_decline" string="Decline"
351                                         states="needs-action,tentative,accepted"
352                                         type="object" icon="gtk-cancel" />
353                                     <button
354                                         name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
355                                         string="Delegate" type="action"
356                                         icon="gtk-sort-descending"
357                                         states="needs-action,tentative,declined,accepted"
358                                         context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
359                                 </tree>
360                                 <form string="Invitation details">
361                                     <notebook colspan="4">
362                                         <page string="Details">
363                                             <field name="email" />
364                                             <field name="rsvp" select="1" />
365                                             <field name="cutype" select="1" />
366                                             <field name="role" select="1" />
367                                             <separator colspan="4" string="" />
368                                             <group col="6" colspan="4">
369                                                 <field name="state" select="2" />
370                                                 <button name="do_tentative"
371                                                     states="needs-action,declined,accepted"
372                                                     string="Uncertain"
373                                                     type="object"
374                                                     icon="terp-crm" />
375                                                 <button name="do_accept"
376                                                     string="Accept"
377                                                     states="needs-action,tentative,declined"
378                                                     type="object"
379                                                     icon="gtk-apply" />
380                                                 <button name="do_decline"
381                                                     string="Decline"
382                                                     states="needs-action,tentative,accepted"
383                                                     type="object"
384                                                     icon="gtk-cancel" />
385                                                 <button
386                                                     name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
387                                                     string="Delegate"
388                                                     type="action"
389                                                     icon="gtk-sort-descending"
390                                                     states="needs-action,tentative,declined,accepted"
391                                                     context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
392                                             </group>
393                                         </page>
394                                     </notebook>
395                                 </form>
396                             </field>
397                         </page>
398                     </notebook>
399                 </form>
400             </field>
401         </record>
402
403         <!-- Event Tree View  -->
404
405         <record model="ir.ui.view" id="event_tree_view">
406             <field name="name">Event Tree</field>
407             <field name="model">calendar.event</field>
408             <field name="type">tree</field>
409             <field name="arch" type="xml">
410                 <tree string="Events">
411                     <field name="name" string="Subject" />
412                     <field name="date" string="Event Date" />
413                     <field name="location" />
414                     <field name="show_as" />
415                     <field name="class" string="Privacy" />
416                     <field name="user_id" invisible="1"/>
417                     <field name="state" invisible="1"/>
418                 </tree>
419             </field>
420         </record>
421
422         <!-- Event Calendar View  -->
423
424         <record model="ir.ui.view" id="event_calendar_view">
425             <field name="name">Events Calendar</field>
426             <field name="model">calendar.event</field>
427             <field name="type">calendar</field>
428             <field name="priority" eval="2"/>
429             <field name="arch" type="xml">
430                 <calendar string="Events" date_start="date" color="show_as" date_delay="duration">
431                     <field name="name"/>
432                     <field name="class"/>
433                     <field name="show_as"/>
434                 </calendar>
435             </field>
436         </record>
437
438         <!--     Event Search View-->
439
440         <record id="view_calendar_event_filter" model="ir.ui.view">
441             <field name="name">Calendar Events Search</field>
442             <field name="model">calendar.event</field>
443             <field name="type">search</field>
444             <field name="arch" type="xml">
445                 <search string="Search Events">
446                        <group col="12" colspan="4">
447                            <filter icon="terp-go-today" string="My Events"
448                                domain="[('user_id','=',uid)]"
449                                help="My Events" />
450                            <separator orientation="vertical"/>
451                            <filter icon="terp-check" string="Confirmed"
452                                domain="[('state','=','confirmed')]"
453                                help="Confirmed Events" />
454                            <separator orientation="vertical"/>
455                            <field name="name" select="1" string="Summary"/>
456                            <field name="location" select="1" string="Location"/>
457                            <separator orientation="vertical"/>
458                            <field name="user_id" select="1"/>
459                            <separator orientation="vertical"/>
460                            <field name="show_as" select="1"/>
461                            <field name="class" select="1" string="Privacy"/>
462                        </group>
463                        <newline/>
464                         <group expand="0" string="Group By...">
465                             <filter string="Responsible" icon="terp-personal" domain="[]"
466                                 context="{'group_by':'user_id'}" />
467                             <separator orientation="vertical" />
468                             <filter string="Availability" icon="terp-camera_test"
469                                 domain="[]" context="{'group_by':'show_as'}" />
470                             <filter string="Privacy" icon="terp-locked"
471                                 domain="[]" context="{'group_by':'class'}" />
472                             <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
473                                 context="{'group_by':'state'}" />
474                             <separator orientation="vertical" />
475                             <filter string="Date" icon="terp-go-month"
476                                 domain="[]" context="{'group_by':'date'}" />
477                             
478                         </group>
479                 </search>
480             </field>
481         </record>
482
483
484         <!-- Event action  -->
485
486         <record id="action_view_event" model="ir.actions.act_window">
487                 <field name="name">Events</field>
488                 <field name="type">ir.actions.act_window</field>
489                 <field name="res_model">calendar.event</field>
490                 <field name="view_type">form</field>
491                 <field name="view_mode">tree,form,calendar</field>
492                 <field name="search_view_id" ref="view_calendar_event_filter"/>
493             </record>
494
495         <!-- Event menu  -->
496
497         <menuitem id="menu_events"
498                 name="Events" parent="base.menu_calendar_configuration"
499                 sequence="5" action="action_view_event" />
500
501      </data>
502  </openerp>