1 <?xml version="1.0" encoding="utf-8"?>
5 <!-- Calendar's menu -->
6 <menuitem id="base.menu_calendar_configuration" name="Calendar"
7 parent="base.menu_base_config" sequence="50" groups="base.group_no_one"/>
9 <!-- Alarm form view -->
10 <record id="res_alarm_form_view" model="ir.ui.view">
11 <field name="name">res.alarm.form</field>
12 <field name="model">res.alarm</field>
13 <field name="arch" type="xml">
14 <form string="Reminder details" version="7.0">
17 <field name="active"/>
18 <separator string="Reminder Details" colspan="4"/>
19 <field name="trigger_duration"/>
20 <field name="trigger_interval"/>
21 <field name="trigger_occurs"/>
22 <field name="trigger_related"/>
28 <!-- Alarm list view -->
29 <record id="res_alarm_tree_view" model="ir.ui.view">
30 <field name="name">res.alarm.tree</field>
31 <field name="model">res.alarm</field>
32 <field name="arch" type="xml">
33 <tree string="Reminder details">
35 <field name="trigger_interval"/>
36 <field name="trigger_duration"/>
37 <field name="trigger_occurs"/>
38 <field name="trigger_related"/>
42 <record id="action_res_alarm_view" model="ir.actions.act_window">
43 <field name="name">Alarms</field>
44 <field name="type">ir.actions.act_window</field>
45 <field name="res_model">res.alarm</field>
46 <field name="view_type">form</field>
47 <field name="view_mode">tree,form</field>
48 <field name="help" type="html">
49 <p class="oe_view_nocontent_create">
50 Click to setup a new alarm type.
52 You can define a customized type of calendar alarm that may be
53 assigned to calendar events or meetings.
59 <menuitem id="menu_crm_meeting_avail_alarm"
60 groups="base.group_no_one"
61 action="base_calendar.action_res_alarm_view"
62 parent="base.menu_calendar_configuration" sequence="5"/>
64 <!-- Event form view -->
65 <record model="ir.ui.view" id="event_form_view">
66 <field name="name">Event Form</field>
67 <field name="model">calendar.event</field>
68 <field name="arch" type="xml">
69 <form string="Events" version="7.0">
71 <button name="do_confirm" string="Confirm" states="tentative,cancelled" type="object" class="oe_highlight"/>
72 <button name="do_tentative" states="confirmed,cancelled" string="Uncertain" type="object" class="oe_highlight"/>
73 <button name="do_cancel" string="Cancel Event" states="tentative,confirmed" type="object"/>
74 <field name="state" widget="statusbar"
75 statusbar_visible="tentative,confirmed" statusbar_colors='{"proforma":"blue"}'/>
79 <field name="name" string="Summary"
80 colspan="4" required="1"/>
81 <field name="allday" colspan="2" on_change="onchange_dates(date,False,False,allday)"/>
83 <field name="date" string="Start Date" required="1"
84 on_change="onchange_dates(date,duration,False,allday)"/>
85 <field name="duration" widget="float_time"
86 on_change="onchange_dates(date,duration,False,allday)" attrs="{'invisible': [('allday', '=', True)]}"/>
87 <field name="date_deadline" string="End Date" required="1"
88 on_change="onchange_dates(date,False,date_deadline)"/>
89 <field name="location"/>
90 <field name="alarm_id" string="Reminder"
92 <group colspan="2" col="4" attrs="{'readonly': [('state','=','done')]}">
93 <field name="recurrency"/>
98 <group col="6" colspan="4">
99 <separator colspan="6" string="Visibility"/>
100 <field name="user_id" string="Responsible User"/>
101 <field name="show_as" string="Show Time as"/>
102 <field name="class" string="Privacy"/>
103 <field name="recurrent_id_date" invisible="1"/>
104 <field name="recurrent_id" invisible="1"/>
106 <separator string="Description"/>
107 <field name="description"/>
109 <page string="Invitation Detail">
110 <field name="attendee_ids" colspan="4"
111 nolabel="1" widget="one2many" mode="tree">
112 <tree string="Invitation details" editable="top">
113 <field name="sent_by_uid" string="From"/>
114 <field name="user_id" string="To"/>
115 <field name="email"/>
116 <field name="role" width="200"/>
117 <field name="state"/>
118 <button name="do_tentative"
119 states="needs-action,declined,accepted"
120 string="Uncertain" type="object"
122 <button name="do_accept" string="Accept"
123 states="needs-action,tentative,declined"
124 type="object" icon="gtk-apply"/>
125 <button name="do_decline" string="Decline"
126 states="needs-action,tentative,accepted"
127 type="object" icon="gtk-cancel"/>
129 <form string="Invitation details" version="7.0">
130 <notebook colspan="4">
131 <page string="Details">
133 <field name="email"/>
135 <field name="cutype"/>
139 <field name="state"/>
140 <button name="do_tentative"
141 states="needs-action,declined,accepted"
145 <button name="do_accept"
147 states="needs-action,tentative,declined"
150 <button name="do_decline"
152 states="needs-action,tentative,accepted"
161 <page string="Recurrency Option" attrs="{'invisible': [('recurrency','=',False)]}">
162 <group col="4" colspan="4" name="rrule">
163 <group col="4" colspan="4">
164 <field name="rrule_type" string="Recurrency period"
165 attrs="{'readonly':[('recurrent_id','!=',False)]}"/>
166 <field name="interval"/>
167 <separator string="End of Recurrence" colspan="4"/>
168 <field name="end_type"/>
169 <label string=" " colspan="2"/>
171 <field name="count" attrs="{'invisible' : [('end_type', '!=', 'count')] }"/>
172 <label string=" " colspan="2"/>
174 <field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')] }"/>
179 <group col="8" colspan="4" name="Select weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
180 <separator string="Choose day where repeat the meeting" colspan="8"/>
181 <field name="mo" colspan="1"/>
182 <field name="tu" colspan="1"/>
183 <field name="we" colspan="1"/>
184 <field name="th" colspan="1"/>
186 <field name="fr" colspan="1"/>
187 <field name="sa" colspan="1" />
188 <field name="su" colspan="1" />
191 <group col="10" colspan="4"
192 attrs="{'invisible' : [('rrule_type','!=','monthly')]}">
193 <separator string="Choose day in the month where repeat the meeting" colspan="12"/>
194 <group col="2" colspan="1">
195 <field name="select1"/>
197 <group col="2" colspan="1">
199 attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')],
200 'invisible' : ['|', ('select1','=','day'), ('rrule_type','!=','monthly')]}"/>
202 <group col="3" colspan="1"
203 attrs="{'invisible' : ['|', ('select1','=','date'), ('rrule_type','!=','monthly')]}">
204 <field name="byday" string="The"
205 attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')]}"/>
206 <field name="week_list" nolabel="1"
207 attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')]}"/>
219 <!-- Event list view -->
220 <record model="ir.ui.view" id="event_tree_view">
221 <field name="name">Event Tree</field>
222 <field name="model">calendar.event</field>
223 <field name="arch" type="xml">
224 <tree string="Events">
225 <field name="name" string="Subject"/>
226 <field name="date" string="Event Date"/>
227 <field name="location"/>
228 <field name="show_as"/>
229 <field name="class" string="Privacy"/>
230 <field name="user_id" invisible="1"/>
231 <field name="state" invisible="1"/>
236 <!-- Event calendar view -->
237 <record model="ir.ui.view" id="event_calendar_view">
238 <field name="name">Events Calendar</field>
239 <field name="model">calendar.event</field>
240 <field name="priority" eval="2"/>
241 <field name="arch" type="xml">
242 <calendar string="Events" date_start="date" color="show_as" date_delay="duration">
244 <field name="class"/>
245 <field name="show_as"/>
250 <!-- Event search view -->
251 <record id="view_calendar_event_filter" model="ir.ui.view">
252 <field name="name">Calendar Events Search</field>
253 <field name="model">calendar.event</field>
254 <field name="arch" type="xml">
255 <search string="Search Events">
256 <field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/>
257 <field name="show_as"/>
258 <field name="class" string="Privacy"/>
259 <filter icon="terp-go-today" string="My Events" domain="[('user_id','=',uid)]" help="My Events"/>
261 <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Events"/>
262 <field name="user_id"/>
263 <group expand="0" string="Group By...">
264 <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
265 <filter string="Availability" icon="terp-camera_test" domain="[]" context="{'group_by':'show_as'}"/>
266 <filter string="Privacy" icon="terp-locked" domain="[]" context="{'group_by':'class'}"/>
267 <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
268 <filter string="Event Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Start Date of Event by Month"/>
275 <!-- Event action -->
276 <record id="action_view_event" model="ir.actions.act_window">
277 <field name="name">Events</field>
278 <field name="type">ir.actions.act_window</field>
279 <field name="res_model">calendar.event</field>
280 <field name="view_type">form</field>
281 <field name="view_mode">calendar,tree,form</field>
282 <field name="search_view_id" ref="view_calendar_event_filter"/>
286 <menuitem id="menu_events"
287 name="Events" parent="base.menu_calendar_configuration"
288 sequence="15" action="action_view_event"/>