1 <?xml version="1.0" standalone="yes"?>
2 <div xmlns="http://www.w3.org/1999/xhtml"
3 xmlns:var="http://www.skyrix.com/od/binding"
4 xmlns:label="OGo:label"
5 xmlns:const="http://www.skyrix.com/od/constant"
7 class="linked_attachment_frame"
9 <!-- TODO: add iMIP actions -->
11 <var:if condition="couldParseCalendar" const:negate="1">
13 <legend>Parsing Error</legend>
15 The SOGo/SOPE iCalendar parser could not parse the body of this MIME part.
17 <pre><var:string value="flatContentAsString" /></pre>
21 <var:if condition="couldParseCalendar">
24 <var:string label:value="Appointment"/>:
25 <var:string value="inEvent.summary" /> <!-- TODO: shorted title -->
27 <var:if condition="isLoggedInUserTheOrganizer">
28 (<var:string label:value="organized_by_you"/>)
30 <var:if condition="isLoggedInUserAnAttendee">
31 (<var:string label:value="you_are_an_attendee"/>)
36 <var:if condition="inCalendar.method" const:value="REQUEST">
37 <!-- sent to attendees to propose or update a meeting -->
38 <var:if condition="isLoggedInUserAnAttendee">
39 <p class="uix_ical_toolbar">
40 <a var:href="acceptLink" label:string="do_accept"/> |
41 <a var:href="declineLink" label:string="do_decline"/> |
42 <a var:href="tentativeLink" label:string="do_tentative"/>
43 <var:if condition="isEventStoredInCalendar" const:negate="1">
44 | <a var:href="addToCalendarLink" label:string="do_add_to_cal" />
49 <var:string label:value="Organizer" />
50 <a var:href="inEvent.organizer.email"
51 ><var:string value="organizerDisplayName" /></a>
52 <var:string label:value="request_info" />
56 <var:if condition="isLoggedInUserAnAttendee" const:negate="1">
58 <var:string label:value="Organizer" />
59 <a var:href="inEvent.organizer.email"
60 ><var:string value="organizerDisplayName" /></a>
61 <var:string label:value="request_info_no_attendee" />
67 <var:if condition="inCalendar.method" const:value="REPLY">
68 <!-- sent to organizer to update the status of the participant -->
69 <var:if condition="isReplySenderAnAttendee" const:negate="1">
70 <p><var:string label:value="reply_info_no_attendee" /></p>
73 <var:if condition="isReplySenderAnAttendee">
74 <p class="uix_ical_toolbar">
75 <a var:href="addStatusReplyLink"
76 var:_newstat="$inReplyAttendee.partStatWithDefault"
77 var:_sender="replySenderBaseEMail"
78 label:string="do_update_status"/>
81 <!-- TODO: replies to events not in the calendar? -->
85 <var:string label:value="$inReplyAttendee.partStatWithDefault" />,
88 label:value="$storedReplyAttendee.partStatWithDefault" />.
94 <var:if condition="inCalendar.method" const:value="CANCEL">
95 <!-- sent to attendees to notify of the attendee being removed or the
96 event being deleted -->
97 <var:if condition="isEventStoredInCalendar">
98 <p class="uix_ical_toolbar">
99 <a var:href="delFromCalendarLink" label:string="do_del_from_cal"/>
104 <!-- todo: if there are no attendees, the whole meeting was stopped -->
105 <var:string label:value="cancel_info_text" />
110 <var:if condition="inCalendar.method" const:value="ADD">
112 <p><var:string label:value="add_info_text" /></p>
116 <var:if condition="inCalendar.method" const:value="PUBLISH">
117 <!-- none-scheduling event sent to someone for adding to the calendar -->
118 <p><var:string label:value="publish_info_text" /></p>
122 <var:if condition="isLoggedInUserTheOrganizer">
125 REPLY => check whether it matches, if not suggest change, show
127 REFRESH => add button to resent iCal
128 COUNTER => show panel to decide on counter
131 <var:if condition="isLoggedInUserTheOrganizer" const:negate="1">
134 REQUEST => ACCEPT, TENTATIVELY, DECLINE buttons with comment field
135 - only show buttons for attendees
136 PUBLISH => just the 'add to calendar' button, rewrite organizer?
143 <!-- the user comment is used in replies -->
144 <var:if condition="inEvent.userComment.isNotEmpty">
145 <div class="linked_attachment_meta" style="background-color: white;">
146 <var:string value="inEvent.userComment" const:insertBR="1" />
152 <div class="linked_attachment_meta" style="background-color: white;">
153 <table border="0" class="linked_attachment_meta">
155 <td><var:string label:value="Time"/>:</td>
157 <!-- TODO: we need a better viewer for that -->
158 <var:string value="startTime" formatter="dateFormatter" />
159 <var:string label:value="to" />
160 <var:string value="endTime" formatter="dateFormatter" />
165 <td><var:string label:value="Organizer"/>:</td>
167 <a var:href="authorativeEvent.organizer.email"
168 ><var:string value="organizerDisplayName" /></a>
173 <td valign="top"><var:string label:value="Attendees"/>:</td>
175 <var:foreach list="authorativeEvent.participants" item="attendee">
176 <a var:href="attendee.email"
177 ><var:string value="attendee.cnForDisplay" /></a>
178 (<var:string label:value="$attendee.partStatWithDefault" />)
184 <var:if condition="inEvent.comment.isNotEmpty">
185 <tr> <!-- description in iCal -->
186 <td valign="top"><var:string label:value="Comment"/>:</td>
188 <var:string value="authorativeEvent.comment" const:insertBR="1" />
195 </var:if><!-- could parse -->
198 <var:string value="appointment" />
203 <pre style="display: none;"><var:string value="flatContentAsString" /></pre>