5 <!-- Expense-related subtypes for messaging / Chatter -->
6 <record id="calendar.subtype_invitation" model="mail.message.subtype">
7 <field name="name">Invitation</field>
8 <field name="res_model">calendar.event</field>
9 <field name="description">Warning, a mandatory field has been modified since the creation of this event</field>
10 <field name="default" eval="False"/>
12 <record model="calendar.alarm" id="alarm_notif_1">
13 <field name="name">15 min notif</field>
14 <field name="duration" eval="15" />
15 <field name="interval">minutes</field>
16 <field name="type">notification</field>
18 <record model="calendar.alarm" id="alarm_notif_2">
19 <field name="name">30 min notif</field>
20 <field name="duration" eval="30" />
21 <field name="interval">minutes</field>
22 <field name="type">notification</field>
24 <record model="calendar.alarm" id="alarm_notif_3">
25 <field name="name">1 hour notif</field>
26 <field name="duration" eval="1" />
27 <field name="interval">hours</field>
28 <field name="type">notification</field>
30 <record model="calendar.alarm" id="alarm_notif_4">
31 <field name="name">2 hours notif</field>
32 <field name="duration" eval="2" />
33 <field name="interval">hours</field>
34 <field name="type">notification</field>
36 <record model="calendar.alarm" id="alarm_notif_5">
37 <field name="name">1 day notif</field>
38 <field name="duration" eval="1" />
39 <field name="interval">days</field>
40 <field name="type">notification</field>
44 <record model="calendar.alarm" id="alarm_mail_1">
45 <field name="name">15 min mail</field>
46 <field name="duration" eval="15" />
47 <field name="interval">minutes</field>
48 <field name="type">email</field>
50 <record model="calendar.alarm" id="alarm_mail_2">
51 <field name="name">30 min mail</field>
52 <field name="duration" eval="30" />
53 <field name="interval">minutes</field>
54 <field name="type">email</field>
56 <record model="calendar.alarm" id="alarm_mail_3">
57 <field name="name">1 hour mail</field>
58 <field name="duration" eval="1" />
59 <field name="interval">hours</field>
60 <field name="type">email</field>
62 <record model="calendar.alarm" id="alarm_mail_4">
63 <field name="name">2 hours mail</field>
64 <field name="duration" eval="2" />
65 <field name="interval">hours</field>
66 <field name="type">email</field>
68 <record model="calendar.alarm" id="alarm_mail_5">
69 <field name="name">1 day mail</field>
70 <field name="duration" eval="1" />
71 <field name="interval">days</field>
72 <field name="type">email</field>
76 <!-- Scheduler for Event Alarm-->
77 <record forcecreate="True" id="ir_cron_scheduler_alarm" model="ir.cron">
78 <field name="name">Run Event Reminder</field>
79 <field eval="True" name="active" />
80 <field name="user_id" ref="base.user_root" />
81 <field name="interval_number">30</field>
82 <field name="interval_type">minutes</field>
83 <field name="numbercall">-1</field>
84 <field eval="False" name="doall" />
85 <field eval="'calendar.alarm_manager'" name="model" />
86 <field eval="'get_next_mail'" name="function" />
87 <!--<field eval="'(False,)'" name="args" />-->
90 <record model="calendar.event.type" id="categ_meet1">
91 <field name="name">Customer Meeting</field>
94 <record model="calendar.event.type" id="categ_meet2">
95 <field name="name">Internal Meeting</field>
98 <record model="calendar.event.type" id="categ_meet3">
99 <field name="name">Off-site Meeting</field>
102 <record model="calendar.event.type" id="categ_meet4">
103 <field name="name">Open Discussion</field>
106 <record model="calendar.event.type" id="categ_meet5">
107 <field name="name">Feedback Meeting</field>
110 <record id="calendar_template_meeting_invitation" model="email.template">
111 <field name="name">Meeting Invitation</field>
112 <field name="email_from">${object.event_id.user_id.email or ''}</field>
113 <field name="subject">${object.event_id.name}</field>
114 <field name="model_id" ref="calendar.model_calendar_attendee"/>
116 <field name="email_to" >${('' if object.partner_id and object.partner_id.email and object.partner_id.email==object.email else object.email|safe)}</field>
117 <field name="partner_to">${object.partner_id and object.partner_id.email and object.partner_id.email==object.email and object.partner_id.id or False }</field>
118 <field name="auto_delete" eval="True"/>
120 <field name="body_html"><![CDATA[
123 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
124 <title>${object.event_id.name}</title>
126 span.oe_mail_footer_access {
134 <div style="border-radius: 2px; max-width: 1200px; height: auto;margin-left: auto;margin-right: auto;background-color:#f9f9f9;">
135 <div style="height:auto;text-align: center;font-size : 30px;color: #8A89BA;">
136 <strong>${object.event_id.name}</strong>
138 <div style="height: 50px;text-align: left;font-size : 14px;border-collapse: separate;margin-top:10px">
139 <strong style="margin-left:12px">Dear ${object.cn}</strong> ,<br/><p style="margin-left:12px">${object.event_id.user_id.partner_id.name} invited you for the ${object.event_id.name} meeting of ${object.event_id.user_id.company_id.name}.</p>
141 <div style="height: auto;margin-left:12px;margin-top:30px;">
145 <div style="border-top-left-radius:3px;border-top-right-radius:3px;font-size:12px;border-collapse:separate;text-align:center;font-weight:bold;color:#ffffff;width:130px;min-height: 18px;border-color:#ffffff;background:#8a89ba;padding-top: 4px;">${object.event_id.get_interval(object.event_id.date, 'dayname')}</div>
146 <div style="font-size:48px;min-height:auto;font-weight:bold;text-align:center;color: #5F5F5F;background-color: #E1E2F8;width: 130px;">
147 ${object.event_id.get_interval(object.event_id.date,'day')}
149 <div style='font-size:12px;text-align:center;font-weight:bold;color:#ffffff;background-color:#8a89ba'>${object.event_id.get_interval(object.event_id.date, 'month')}</div>
150 <div style="border-collapse:separate;color:#8a89ba;text-align:center;width: 128px;font-size:12px;border-bottom-right-radius:3px;font-weight:bold;border:1px solid;border-bottom-left-radius:3px;">${not object.event_id.allday and object.event_id.get_interval(object.event_id.date, 'time', tz=object.partner_id.tz) or ''}</div>
153 <table cellspacing="0" cellpadding="0" border="0" style="margin-top: 15px; margin-left: 10px;font-size: 16px;">
155 <td style="vertical-align:top;">
156 % if object.event_id.location:
157 <div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
162 <td style="vertical-align:top;">
163 % if object.event_id.location:
164 <div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
165 : ${object.event_id.location}
166 <span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
174 <td style="vertical-align:top;">
175 % if object.event_id.description :
176 <div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
181 <td style="vertical-align:text-top;">
182 % if object.event_id.description :
183 <div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
184 : ${object.event_id.description}
191 <td style="vertical-align:top;">
192 % if not object.event_id.allday and object.event_id.duration:
193 <div style="height:auto; width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
198 <td colspan="3" style="vertical-align:text-top;">
199 % if not object.event_id.allday and object.event_id.duration:
200 <div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
201 : ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
206 <tr style=" height: 30px;">
207 <td style="height: 25px;width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
214 % for attendee in object.event_id.attendee_ids:
215 <div style='display:inline-block; border-radius: 50%; width:10px; height:10px;background:${'color' in ctx and ctx["color"][attendee.state] or 'white'};'></div>
216 % if attendee.cn != object.cn:
217 <span style="margin-left:5px">${attendee.cn}</span>
219 <span style="margin-left:5px">You</span>
229 <div style="height: auto;width:450px; margin:0 auto;padding-top:20px;padding-bottom:40px;">
230 <a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/accept?db=${'dbname' in ctx and ctx['dbname'] or ''}&token=${object.access_token}&action=${'action_id' in ctx and ctx['action_id'] or ''}&id=${object.event_id.id}">Accept</a>
231 <a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/decline?db=${'dbname' in ctx and ctx['dbname'] or '' }&token=${object.access_token}&action=${'action_id' in ctx and ctx['action_id'] or ''}&id=${object.event_id.id}">Decline</a>
232 <a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/view?db=${'dbname' in ctx and ctx['dbname'] or ''}&token=${object.access_token}&action=${'action_id' in ctx and ctx['action_id'] or ''}&id=${object.event_id.id}">View</a>
241 <record id="calendar_template_meeting_changedate" model="email.template">
242 <field name="name">Meeting Invitation</field>
243 <field name="email_from">${object.event_id.user_id.email or ''}</field>
244 <field name="subject">${object.event_id.name} - Date has been updated</field>
245 <field name="model_id" ref="calendar.model_calendar_attendee"/>
247 <field name="email_to" >${('' if object.partner_id and object.partner_id.email and object.partner_id.email==object.email else object.email|safe)}</field>
248 <field name="partner_to">${object.partner_id and object.partner_id.email and object.partner_id.email==object.email and object.partner_id.id or False }</field>
249 <field name="auto_delete" eval="True"/>
251 <field name="body_html"><![CDATA[
254 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
255 <title>${object.event_id.name}</title>
257 span.oe_mail_footer_access {
265 <div style="border-radius: 2px; max-width: 1200px; height: auto;margin-left: auto;margin-right: auto;background-color:#f9f9f9;">
266 <div style="height:auto;text-align: center;font-size : 30px;color: #8A89BA;">
267 <strong>${object.event_id.name}</strong>
269 <div style="height: 50px;text-align: left;font-size : 14px;border-collapse: separate;margin-top:10px">
270 <strong style="margin-left:12px">Dear ${object.cn}</strong> ,<br/>
271 <p style="margin-left:12px">The date of the meeting has been changed...<br/>
272 The meeting created by ${object.event_id.user_id.partner_id.name} is now scheduled for : ${object.event_id.display_time}.</p>
274 <div style="height: auto;margin-left:12px;margin-top:30px;">
278 <div style="border-top-left-radius:3px;border-top-right-radius:3px;font-size:12px;border-collapse:separate;text-align:center;font-weight:bold;color:#ffffff;width:130px;min-height: 18px;border-color:#ffffff;background:#8a89ba;padding-top: 4px;">${object.event_id.get_interval(object.event_id.date, 'dayname')}</div>
279 <div style="font-size:48px;min-height:auto;font-weight:bold;text-align:center;color: #5F5F5F;background-color: #E1E2F8;width: 130px;">
280 ${object.event_id.get_interval(object.event_id.date,'day')}
282 <div style='font-size:12px;text-align:center;font-weight:bold;color:#ffffff;background-color:#8a89ba'>${object.event_id.get_interval(object.event_id.date, 'month')}</div>
283 <div style="border-collapse:separate;color:#8a89ba;text-align:center;width: 128px;font-size:12px;border-bottom-right-radius:3px;font-weight:bold;border:1px solid;border-bottom-left-radius:3px;">${not object.event_id.allday and object.event_id.get_interval(object.event_id.date, 'time', tz=object.partner_id.tz) or ''}</div>
286 <table cellspacing="0" cellpadding="0" border="0" style="margin-top: 15px; margin-left: 10px;font-size: 16px;">
288 <td style="vertical-align:top;">
289 % if object.event_id.location:
290 <div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
295 <td style="vertical-align:top;">
296 % if object.event_id.location:
297 <div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
298 : ${object.event_id.location}
299 <span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
307 <td style="vertical-align:top;">
308 % if object.event_id.description :
309 <div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
314 <td style="vertical-align:text-top;">
315 % if object.event_id.description :
316 <div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
317 : ${object.event_id.description}
324 <td style="vertical-align:top;">
325 % if not object.event_id.allday and object.event_id.duration:
326 <div style="height:auto; width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
331 <td colspan="3" style="vertical-align:text-top;">
332 % if not object.event_id.allday and object.event_id.duration:
333 <div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
334 : ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
339 <tr style=" height: 30px;">
340 <td style="height: 25px;width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
347 % for attendee in object.event_id.attendee_ids:
348 <div style='display:inline-block; border-radius: 50%; width:10px; height:10px;background:${'color' in ctx and ctx["color"][attendee.state] or 'white'};'></div>
349 % if attendee.cn != object.cn:
350 <span style="margin-left:5px">${attendee.cn}</span>
352 <span style="margin-left:5px">You</span>
362 <div style="height: auto;width:450px; margin:0 auto;padding-top:20px;padding-bottom:40px;">
363 <a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/accept?db=${'dbname' in ctx and ctx['dbname'] or ''}&token=${object.access_token}&action=${'action_id' in ctx and ctx['action_id'] or ''}&id=${object.event_id.id}">Accept</a>
364 <a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/decline?db=${'dbname' in ctx and ctx['dbname'] or ''}&token=${object.access_token}&action=${'action_id' in ctx and ctx['action_id'] or ''}&id=${object.event_id.id}">Decline</a>
365 <a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/view?db=${'dbname' in ctx and ctx['dbname'] or ''}&token=${object.access_token}&action=${'action_id' in ctx and ctx['action_id'] or ''}&id=${object.event_id.id}">View</a>
374 <record id="calendar_template_meeting_reminder" model="email.template">
375 <field name="name">Meeting Invitation</field>
376 <field name="email_from">${object.event_id.user_id.email or ''}</field>
377 <field name="subject">${object.event_id.name} - Reminder</field>
378 <field name="model_id" ref="calendar.model_calendar_attendee"/>
380 <field name="email_to" >${('' if object.partner_id and object.partner_id.email and object.partner_id.email==object.email else object.email|safe)}</field>
381 <field name="partner_to">${object.partner_id and object.partner_id.email and object.partner_id.email==object.email and object.partner_id.id or False }</field>
382 <field name="auto_delete" eval="True"/>
384 <field name="body_html"><![CDATA[
387 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
388 <title>${object.event_id.name}</title>
390 span.oe_mail_footer_access {
398 <div style="border-radius: 2px; max-width: 1200px; height: auto;margin-left: auto;margin-right: auto;background-color:#f9f9f9;">
399 <div style="height:auto;text-align: center;font-size : 30px;color: #8A89BA;">
400 <strong>${object.event_id.name}</strong>
402 <div style="height: 50px;text-align: left;font-size : 14px;border-collapse: separate;margin-top:10px">
403 <strong style="margin-left:12px">Dear ${object.cn}</strong> ,<br/>
404 <p style="margin-left:12px">this it a reminder for the event below : </p>
406 <div style="height: auto;margin-left:12px;margin-top:30px;">
410 <div style="border-top-left-radius:3px;border-top-right-radius:3px;font-size:12px;border-collapse:separate;text-align:center;font-weight:bold;color:#ffffff;width:130px;min-height: 18px;border-color:#ffffff;background:#8a89ba;padding-top: 4px;">${object.event_id.get_interval(object.event_id.date, 'dayname')}</div>
411 <div style="font-size:48px;min-height:auto;font-weight:bold;text-align:center;color: #5F5F5F;background-color: #E1E2F8;width: 130px;">
412 ${object.event_id.get_interval(object.event_id.date,'day')}
414 <div style='font-size:12px;text-align:center;font-weight:bold;color:#ffffff;background-color:#8a89ba'>${object.event_id.get_interval(object.event_id.date, 'month')}</div>
415 <div style="border-collapse:separate;color:#8a89ba;text-align:center;width: 128px;font-size:12px;border-bottom-right-radius:3px;font-weight:bold;border:1px solid;border-bottom-left-radius:3px;">${not object.event_id.allday and object.event_id.get_interval(object.event_id.date, 'time', tz=object.partner_id.tz) or ''}</div>
418 <table cellspacing="0" cellpadding="0" border="0" style="margin-top: 15px; margin-left: 10px;font-size: 16px;">
420 <td style="vertical-align:top;">
421 % if object.event_id.location:
422 <div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
427 <td style="vertical-align:top;">
428 % if object.event_id.location:
429 <div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
430 : ${object.event_id.location}
431 <span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
439 <td style="vertical-align:top;">
440 % if object.event_id.description :
441 <div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
446 <td style="vertical-align:text-top;">
447 % if object.event_id.description :
448 <div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
449 : ${object.event_id.description}
456 <td style="vertical-align:top;">
457 % if not object.event_id.allday and object.event_id.duration:
458 <div style="height:auto; width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
463 <td colspan="3" style="vertical-align:text-top;">
464 % if not object.event_id.allday and object.event_id.duration:
465 <div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
466 : ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
471 <tr style=" height: 30px;">
472 <td style="height: 25px;width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
479 % for attendee in object.event_id.attendee_ids:
480 <div style='display:inline-block; border-radius: 50%; width:10px; height:10px;background:${'color' in ctx and ctx["color"][attendee.state] or 'white'};'></div>
481 % if attendee.cn != object.cn:
482 <span style="margin-left:5px">${attendee.cn}</span>
484 <span style="margin-left:5px">You</span>