return self->participantIndex;
}
+- (BOOL)isFirstParticipant {
+ return self->participantIndex == 0 ? YES : NO;
+}
+
- (BOOL)hasUserAppointments {
return [[self userAppointments] count] > 0;
}
([self maxRenderedParticipantsCount] + 1) ? YES : NO;
}
+- (unsigned)rowspan {
+ unsigned count;
+
+ count = [self renderedParticipantsCount];
+ if ([self didTruncateParticipants])
+ count += 1;
+ return count;
+}
+
+- (NSString *)userParticipationStatus {
+ NSString *pms;
+ NSArray *partmails;
+ unsigned idx;
+
+ pms = [self->item valueForKey:@"partmails"];
+ partmails = [pms componentsSeparatedByString:@"\n"];
+ idx = [partmails indexOfObject:[self emailForUser]];
+ if (idx == NSNotFound)
+ return @"";
+ return [self->partStates objectAtIndex:idx];
+}
+
/* fetching */
unsigned i, count;
if (!orders) {
- orders = [[NSArray alloc] initWithObjects:@"startDate", nil];
+ EOSortOrdering *so;
+ so = [EOSortOrdering sortOrderingWithKey:@"startDate"
+ selector:EOCompareAscending];
+ orders = [[NSArray alloc] initWithObjects:so, nil];
}
aptFolder = [self clientObject];
else
[self->foreignApts addObject:apt];
}
- [self->userApts sortedArrayUsingKeyOrderArray:orders];
- [self->foreignApts sortedArrayUsingKeyOrderArray:orders];
+ [self->userApts sortUsingKeyOrderArray:orders];
+ [self->foreignApts sortUsingKeyOrderArray:orders];
}
<var:if condition="hasUserAppointments">
<tr>
<!-- meetings proposed by user -->
- <th colspan="4" class="schedoverview_title">
+ <th colspan="5" class="schedoverview_title">
<var:string label:value="Meetings proposed by you" />
</th>
</tr>
<th class="schedoverview"
><var:string label:value="Title" /></th>
<th class="schedoverview"
+ colspan="2"
><var:string label:value="participants"/></th>
</tr>
- <var:foreach list="userAppointments" item="item">
- <tr>
- <td class="schedoverview">
- <var:string value="item.startDate"
- label:dateformat="sched_startDateFormat"
- />
- </td>
- <td class="schedoverview">
- <a var:href="appointmentViewURL"
- class="schedoverview"
- ><var:string value="item.title"
- const:escapeHTML="YES"
- /></a>
- </td>
- <td class="schedoverview" colspan="2">
- <table border="0"
- width="100%"
- cellpadding="0"
- cellspacing="0"
- class="schedoverview"
- >
- <var:foreach count="renderedParticipantsCount"
- index="participantIndex"
+ <var:foreach list="userAppointments"
+ item="item"
+ >
+ <var:foreach count="renderedParticipantsCount"
+ index="participantIndex"
+ >
+ <tr>
+ <var:if condition="isFirstParticipant">
+ <td class="schedoverview"
+ var:rowspan="rowspan"
>
- <tr>
- <td class="schedoverview">
- <var:string value="participant" />
- </td>
- <td class="schedoverview">
- <var:component className="UIxCalParticipationStatusView"
- partStat="participationStatus"
- />
- </td>
- </tr>
- </var:foreach>
- <var:if condition="didTruncateParticipants">
- <tr>
- <td colspan="2" class="schedoverview">
- <a var:href="appointmentViewURL"
- class="schedoverview"
- ><var:string value="truncatedParticipantsCount" />
- <var:string label:value="more participants" />...
- </a>
- </td>
- </tr>
- </var:if>
- </table>
- </td>
- </tr>
+ <var:string value="item.startDate"
+ label:dateformat="sched_startDateFormat"
+ />
+ </td>
+ <td class="schedoverview"
+ var:rowspan="rowspan"
+ >
+ <a var:href="appointmentViewURL"
+ class="schedoverview"
+ ><var:string value="item.title"
+ const:escapeHTML="YES"
+ /></a>
+ </td>
+ </var:if>
+ <td class="schedoverview">
+ <var:string value="participant" />
+ </td>
+ <td class="schedoverview">
+ <var:component className="UIxCalParticipationStatusView"
+ partStat="participationStatus"
+ />
+ </td>
+ </tr>
+ </var:foreach>
+ <var:if condition="didTruncateParticipants">
+ <tr>
+ <td colspan="2" class="schedoverview">
+ <a var:href="appointmentViewURL"
+ class="schedoverview"
+ ><var:string value="truncatedParticipantsCount" />
+ <var:string label:value="more participants" />...
+ </a>
+ </td>
+ </tr>
+ </var:if>
</var:foreach>
</var:if>
+
<var:if condition="hasForeignAppointments">
<var:if condition="hasUserAppointments">
<tr>
</var:if>
<tr>
<!-- meetings proposed to user -->
- <th colspan="4" class="schedoverview_title">
+ <th colspan="5" class="schedoverview_title">
<var:string label:value="Meetings proposed to you" />
</th>
</tr>
<th class="schedoverview"
><var:string label:value="Title" /></th>
<th class="schedoverview"
+ colspan="2"
><var:string label:value="participants" /></th>
<th class="schedoverview"
><var:string label:value="action" /></th>
</tr>
- <var:foreach list="foreignAppointments" item="item">
- <tr>
- <td class="schedoverview">
- <var:string value="item.startDate"
- label:dateformat="sched_startDateFormat"
- />
- </td>
- <td class="schedoverview">
- <a var:href="appointmentViewURL"
- class="schedoverview"
- ><var:string value="item.title"
- const:escapeHTML="YES"
- /></a>
- </td>
- <td class="schedoverview">
- <table border="0"
- width="100%"
- cellpadding="0"
- cellspacing="2"
+ <var:foreach list="foreignAppointments"
+ item="item"
+ >
+ <var:foreach count="renderedParticipantsCount"
+ index="participantIndex"
+ >
+ <tr>
+ <var:if condition="isFirstParticipant">
+ <td class="schedoverview"
+ var:rowspan="rowspan"
+ >
+ <var:string value="item.startDate"
+ label:dateformat="sched_startDateFormat"
+ />
+ </td>
+ <td class="schedoverview"
+ var:rowspan="rowspan"
+ >
+ <a var:href="appointmentViewURL"
class="schedoverview"
- >
- <var:foreach count="renderedParticipantsCount"
- index="participantIndex"
+ ><var:string value="item.title"
+ const:escapeHTML="YES"
+ /></a>
+ </td>
+ </var:if>
+ <td class="schedoverview">
+ <var:string value="participant" />
+ </td>
+ <td class="schedoverview">
+ <var:component className="UIxCalParticipationStatusView"
+ partStat="participationStatus"
+ />
+ </td>
+ <var:if condition="isFirstParticipant">
+ <td class="button_submit_env"
+ var:rowspan="rowspan"
>
- <tr>
- <td class="schedoverview">
- <var:string value="participant" />
- </td>
- <td class="schedoverview">
- <var:component className="UIxCalParticipationStatusView"
- partStat="participationStatus"
- />
- </td>
- </tr>
- </var:foreach>
- <var:if condition="didTruncateParticipants">
- <tr>
- <td colspan="2" class="schedoverview">
- <a var:href="appointmentViewURL"
- class="schedoverview"
- ><var:string value="truncatedParticipantsCount" />
- <var:string label:value="more participants" />...
- </a>
- </td>
- </tr>
- </var:if>
- </table>
- </td>
- <td class="schedoverview">
- <a var:href="acceptAppointmentURL"
- class="schedoverview"
- ><var:string label:value="accept" /></a><br />
- <a var:href="declineAppointmentURL"
- class="schedoverview"
- ><var:string label:value="decline" /></a>
- </td>
- </tr>
+ <a var:href="acceptAppointmentURL"
+ class="button_auto"
+ ><var:string label:value="accept" /></a>
+ <a var:href="declineAppointmentURL"
+ class="button_auto"
+ ><var:string label:value="decline" /></a>
+ </td>
+ </var:if>
+ </tr>
+ </var:foreach>
+ <var:if condition="didTruncateParticipants">
+ <tr>
+ <td colspan="3" class="schedoverview">
+ <a var:href="appointmentViewURL"
+ class="schedoverview"
+ ><var:string value="truncatedParticipantsCount" />
+ <var:string label:value="more participants" />...
+ </a>
+ </td>
+ </tr>
+ </var:if>
</var:foreach>
</var:if>
</table>