2004-12-21 Marcus Mueller <znek@mulle-kybernetik.com>
+ * v0.9.107
+
+ * UIxCalScheduleOverview.wox: only display appropriate buttons for
+ actions to take
+
+ * UIxCalScheduleOverview.m: cache userParticipationStatus result
+
+ * English.lproj/default.strings: changed "action" label
+
* v0.9.106
* UIxCalScheduleOverview.wox: different visual representation for
"Meetings proposed by you" = "Meetings proposed by you";
"Meetings proposed to you" = "Meetings proposed to you";
"sched_startDateFormat" = "%d.%m. %H:%M";
-"action" = "Actions";
+"action" = "Your Status";
"accept" = "Accept";
"decline" = "Decline";
"more participants" = "more participants";
id item;
NSArray *partNames;
NSArray *partStates;
+ NSString *userParticipationStatus;
unsigned participantIndex;
}
@implementation UIxCalScheduleOverview
- (void)dealloc {
- [self->userApts release];
- [self->foreignApts release];
- [self->partNames release];
- [self->partStates release];
- [self->item release];
+ [self->userApts release];
+ [self->foreignApts release];
+ [self->item release];
+ [self->partNames release];
+ [self->partStates release];
+ [self->userParticipationStatus release];
[super dealloc];
}
}
- (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];
+ if (!self->userParticipationStatus) {
+ NSString *pms;
+ NSArray *partmails;
+ unsigned idx;
+
+ pms = [self->item valueForKey:@"partmails"];
+ partmails = [pms componentsSeparatedByString:@"\n"];
+ idx = [partmails indexOfObject:[self emailForUser]];
+ if (idx == NSNotFound)
+ self->userParticipationStatus = @"";
+ self->userParticipationStatus =
+ [[self->partStates objectAtIndex:idx] retain];
+ }
+ return userParticipationStatus;
}
/>
</td>
<var:if condition="isFirstParticipant">
- <td class="button_submit_env"
+ <td class="schedoverview"
var:rowspan="rowspan"
>
- <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>
+ <p class="schedoverview">
+ <var:component className="UIxCalParticipationStatusView"
+ partStat="userParticipationStatus"
+ />
+ </p>
+
+ <var:if-key const:key="userParticipationStatus"
+ const:value="1"
+ const:negate="YES"
+ >
+ <a var:href="acceptAppointmentURL"
+ class="button_auto"
+ ><var:string label:value="accept" /></a>
+ </var:if-key>
+ <var:if-key const:key="userParticipationStatus"
+ const:value="2"
+ const:negate="YES"
+ >
+ <a var:href="declineAppointmentURL"
+ class="button_auto"
+ ><var:string label:value="decline" /></a>
+ </var:if-key>
+
</td>
</var:if>
</tr>
# $Id$
-SUBMINOR_VERSION:=106
+SUBMINOR_VERSION:=107
+# v0.9.107 requires WOExtensions v4.5.21
# v0.9.105 requires NGObjWeb v4.5.102
# v0.9.101 requires NGiCal v4.5.36
# v0.9.100 requires SOGoUI v0.9.21