1 <?xml version="1.0" encoding="utf-8"?>
5 <!-- Attendee form view-->
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" />
17 <field name="role" string="Role" />
18 <field name="sent_by_uid" string="Invitation From" />
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"/>
26 <field name="partner_address_id"
28 <field name="partner_id"
29 string="Partner" readonly="1" />
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"/>
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" />
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"
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" />
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'}" />
71 <!-- Attendee tree view-->
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="email" string="Invitation To"/>
80 <field name="user_id" string="Internal User" />
81 <field name="partner_address_id" string="Contact" />
83 <field name="state" />
84 <field name="cutype" invisible="1"/>
85 <field name="rsvp" invisible="1"/>
90 <!-- Attendee search view-->
92 <record id="base_calendar_attendee_search_view" model="ir.ui.view">
93 <field name="name">calendar.attendee.search</field>
94 <field name="model">calendar.attendee</field>
95 <field name="type">search</field>
96 <field name="arch" type="xml">
97 <search string="Search Invitations">
98 <filter icon="terp-check" string="Accepted"
99 domain="[('state','=', 'accepted')]"
100 separator="1" help="Accepted Invitations" />
101 <filter icon="terp-dialog-close" string="Declined"
102 domain="[('state','=', 'declined')]"
103 separator="1" help="Declined Invitations" />
104 <separator orientation="vertical"/>
105 <field name="email" select='1'/>
106 <field name="user_id" select="1"/>
107 <separator orientation="vertical"/>
108 <field name="cutype" string="Invitation type" select="1"/>
109 <field name="event_date" select="1"/>
111 <group expand="0" string="Group By...">
112 <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type"
113 domain="[]" context="{'group_by':'cutype'}" />
114 <filter string="Role" icon="terp-gtk-select-all"
115 domain="[]" context="{'group_by':'role'}" />
116 <filter string="Required Reply" icon="terp-mail-replied"
117 domain="[]" context="{'group_by':'rsvp'}" />
118 <separator orientation="vertical" />
119 <filter string="User" icon="terp-personal" domain="[]"
120 context="{'group_by':'user_id'}" />
121 <filter string="Contact" icon="terp-gtk-jump-to-ltr" domain="[]"
122 context="{'group_by':'partner_address_id'}" />
123 <filter string="State" icon="terp-stock_effects-object-colorize" help="Invitation Type"
124 domain="[]" context="{'group_by':'state'}" />
129 <record id="action_view_attendee_form" model="ir.actions.act_window">
130 <field name="name">Event Invitations</field>
131 <field name="type">ir.actions.act_window</field>
132 <field name="res_model">calendar.attendee</field>
133 <field name="view_type">form</field>
134 <field name="view_mode">tree,form</field>
135 <field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
136 <field name="context">{'default_sent_by_uid': uid}</field>
139 <!-- Calenadar's menu -->
140 <menuitem id="base.menu_calendar_configuration" name="Calendar"
141 parent="base.menu_base_config" sequence="15" />
143 <!-- Invitation menu -->
145 <menuitem id="menu_attendee_invitations"
146 name="Event Invitations" parent="base.menu_calendar_configuration"
147 sequence="10" action="action_view_attendee_form" />
149 <!-- ALARM FORM VIEW-->
151 <record id="res_alarm_form_view" model="ir.ui.view">
152 <field name="name">res.alarm.form</field>
153 <field name="model">res.alarm</field>
154 <field name="type">form</field>
155 <field name="arch" type="xml">
156 <form string="Reminder details">
157 <field name="name" />
158 <field name="active" />
159 <separator string="Reminder Details" colspan="4" />
160 <field name="trigger_duration" select="1" />
161 <field name="trigger_interval" select="1" />
162 <field name="trigger_occurs" select="1" />
163 <field name="trigger_related" select="1" />
168 <!-- ALARM TREE VIEW-->
170 <record id="res_alarm_tree_view" model="ir.ui.view">
171 <field name="name">res.alarm.tree</field>
172 <field name="model">res.alarm</field>
173 <field name="type">tree</field>
174 <field name="arch" type="xml">
175 <tree string="Reminder details">
176 <field name="name" select="1"/>
177 <field name="trigger_interval" select="1"/>
178 <field name="trigger_duration" select="1"/>
179 <field name="trigger_occurs" select="1"/>
180 <field name="trigger_related" select="1"/>
184 <record id="action_res_alarm_view" model="ir.actions.act_window">
185 <field name="name">Available Alarms</field>
186 <field name="type">ir.actions.act_window</field>
187 <field name="res_model">res.alarm</field>
188 <field name="view_type">form</field>
189 <field name="view_mode">tree,form</field>
192 <!-- Menu for Alarms-->
194 <menuitem id="menu_crm_meeting_avail_alarm"
195 groups="base.group_extended"
196 action="base_calendar.action_res_alarm_view"
197 parent="base.menu_calendar_configuration" />
199 <!-- Event Form View-->
201 <record model="ir.ui.view" id="event_form_view">
202 <field name="name">Event Form</field>
203 <field name="model">calendar.event</field>
204 <field name="type">form</field>
205 <field name="arch" type="xml">
206 <form string="Events">
207 <group col="6" colspan="4">
208 <field name="name" select="1" string="Summary"
209 colspan="4" required="1" />
210 <field name="allday" colspan="2" on_change="onchange_allday(allday)" />
212 <field name="date" string="Start Date" required="1" select="1"
213 on_change="onchange_dates(date,duration,False,allday)" />
214 <field name="duration" widget="float_time"
215 on_change="onchange_dates(date,duration,False,allday)" attrs="{'invisible': [('allday', '=', True)]}"/>
216 <field name="date_deadline" string="End Date" required="1"
217 on_change="onchange_dates(date,False,date_deadline)" />
218 <field name="location" />
219 <field name="alarm_id" string="Reminder"
220 widget="selection" />
221 <group colspan="2" col="4" >
222 <field name="rrule_type" string="Recurrency"
223 colspan="1" attrs="{'readonly':[('recurrent_uid','!=',False)]}"/>
224 <button string="Edit All"
225 help="Edit all Ourrences of recurrent Events"
226 attrs="{'invisible':[('rrule_type','in', ('none', False))]}"
227 name="open_event" icon="gtk-edit"
229 <button string="ExRule"
230 help="Add Exception Rule"
231 name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out" type="action"
232 context="{'model' : 'calendar.event'}"
233 attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
236 <group col="4" colspan="4" name="rrule" attrs="{'invisible': [('rrule_type','!=','custom')]}">
237 <separator string="Select data for Custom Rule" colspan="8"/>
238 <group col="8" colspan="4">
239 <field name="freq" />
240 <field name="interval" />
241 <field name="count" />
242 <field name="end_date" />
244 <group col="14" colspan="4" name="Select weekdays"
245 attrs="{'invisible' : [('freq','!=','weekly')]}">
246 <field name="mo" colspan="1" />
247 <field name="tu" colspan="1" />
248 <field name="we" colspan="1" />
249 <field name="th" colspan="1" />
250 <field name="fr" colspan="1" />
251 <field name="sa" colspan="1" />
252 <field name="su" colspan="1" />
255 <group col="10" colspan="4"
256 attrs="{'invisible' : [('freq','!=','monthly'), ('freq','!=','yearly')]}">
257 <group col="2" colspan="1">
258 <field name="select1" />
260 <group col="2" colspan="1"
261 attrs="{'invisible' : [('select1','=','day')]}">
263 attrs="{'required' : [('select1','=','date')]}" />
265 <group col="3" colspan="1"
266 attrs="{'invisible' : [('select1','=','date')]}">
267 <field name="byday" string="The"
268 attrs="{'required' : [('select1','=','day')]}" />
269 <field name="week_list" nolabel="1"
270 attrs="{'required' : [('select1','=','day')]}" />
272 <group col="1" colspan="1"
273 attrs="{'invisible' : [('freq','!=','yearly')]}">
274 <field name="month_list" string="of"
276 attrs="{'required' : [('freq','=','yearly')]}" />
280 <notebook colspan="4">
281 <page string="Event">
282 <group col="6" colspan="4">
283 <separator colspan="6" string="Visibility"/>
284 <field name="user_id" string="Responsible User" />
285 <field name="show_as" string="Show time as"/>
286 <field name="class" string="Privacy"/>
287 <field name="recurrent_id" invisible="1" />
288 <field name="recurrent_uid" invisible="1" />
290 <separator string="Description" colspan="4" />
291 <field name="description" nolabel="1" colspan="4" />
292 <separator colspan="4" string="" />
293 <group col="5" colspan="4">
294 <field name="state" select="2" />
295 <button name="do_tentative"
296 states="confirmed,cancelled"
300 <button name="do_confirm"
302 states="tentative,cancelled"
305 <button name="do_cancel"
307 states="tentative,confirmed"
312 <page string="Invitation Detail">
313 <button string="Invite People"
314 name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
315 icon="terp-partner" type="action"
316 context="{'model' : 'calendar.event', 'attendee_field':'attendee_ids'}" colspan="2"/>
317 <field name="attendee_ids" colspan="4"
318 nolabel="1" widget="one2many" mode="tree,form">
319 <tree string="Invitation details" editable="top">
320 <field name="email" />
321 <field name="role" width="200" select="1" />
322 <field name="state" />
324 <form string="Invitation details">
325 <notebook colspan="4">
326 <page string="Details">
327 <field name="email" />
328 <field name="rsvp" select="1" />
329 <field name="cutype" select="1" />
330 <field name="role" select="1" />
331 <separator colspan="4" string="" />
332 <group col="6" colspan="4">
333 <field name="state" select="2" />
334 <button name="do_tentative"
335 states="needs-action,declined,accepted"
339 <button name="do_accept"
341 states="needs-action,tentative,declined"
344 <button name="do_decline"
346 states="needs-action,tentative,accepted"
350 name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
353 icon="gtk-sort-descending"
354 states="needs-action,tentative,declined,accepted"
355 context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
367 <!-- Event Tree View -->
369 <record model="ir.ui.view" id="event_tree_view">
370 <field name="name">Event Tree</field>
371 <field name="model">calendar.event</field>
372 <field name="type">tree</field>
373 <field name="arch" type="xml">
374 <tree string="Events">
375 <field name="name" string="Subject" />
376 <field name="date" string="Event Date" />
377 <field name="location" />
378 <field name="show_as" />
379 <field name="class" string="Privacy" />
380 <field name="user_id" invisible="1"/>
381 <field name="state" invisible="1"/>
386 <!-- Event Calendar View -->
388 <record model="ir.ui.view" id="event_calendar_view">
389 <field name="name">Events Calendar</field>
390 <field name="model">calendar.event</field>
391 <field name="type">calendar</field>
392 <field name="priority" eval="2"/>
393 <field name="arch" type="xml">
394 <calendar string="Events" date_start="date" color="show_as" date_delay="duration">
396 <field name="class"/>
397 <field name="show_as"/>
402 <!-- Event Search View-->
404 <record id="view_calendar_event_filter" model="ir.ui.view">
405 <field name="name">Calendar Events Search</field>
406 <field name="model">calendar.event</field>
407 <field name="type">search</field>
408 <field name="arch" type="xml">
409 <search string="Search Events">
410 <group col="12" colspan="4">
411 <filter icon="terp-go-today" string="My Events"
412 domain="[('user_id','=',uid)]"
414 <separator orientation="vertical"/>
415 <filter icon="terp-check" string="Confirmed"
416 domain="[('state','=','confirmed')]"
417 help="Confirmed Events" />
418 <separator orientation="vertical"/>
419 <field name="name" select="1" string="Summary"/>
420 <field name="location" select="1" string="Location"/>
421 <separator orientation="vertical"/>
422 <field name="user_id" select="1"/>
423 <separator orientation="vertical"/>
424 <field name="show_as" select="1"/>
425 <field name="class" select="1"/>
428 <group expand="0" string="Group By...">
429 <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
430 context="{'group_by':'state'}" />
431 <filter string="Date" icon="terp-go-month"
432 domain="[]" context="{'group_by':'date'}" />
433 <filter string="Availability" icon="terp-camera_test"
434 domain="[]" context="{'group_by':'show_as'}" />
435 <filter string="Privacy" icon="terp-locked"
436 domain="[]" context="{'group_by':'class'}" />
437 <separator orientation="vertical" />
438 <filter string="Responsible" icon="terp-personal" domain="[]"
439 context="{'group_by':'user_id'}" />
446 <!-- Event action -->
448 <record id="action_view_event" model="ir.actions.act_window">
449 <field name="name">Events</field>
450 <field name="type">ir.actions.act_window</field>
451 <field name="res_model">calendar.event</field>
452 <field name="view_type">form</field>
453 <field name="view_mode">tree,form,calendar</field>
454 <field name="search_view_id" ref="view_calendar_event_filter"/>
459 <menuitem id="menu_events"
460 name="Events" parent="base.menu_calendar_configuration"
461 sequence="5" action="action_view_event" />