X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=UI%2FScheduler%2FUIxCalendarSelector.m;h=1e49c8e247c12303c553623ff12f8a42f0ef130e;hb=4e6eeb543b90ae4551e7dbc24a82eb608696e1a7;hp=b411f6b4407ce7764009e53423a5289fa15fb4f7;hpb=12135039e8259dcfde7c4be1fdb1af787e06fe87;p=scalable-opengroupware.org diff --git a/UI/Scheduler/UIxCalendarSelector.m b/UI/Scheduler/UIxCalendarSelector.m index b411f6b4..1e49c8e2 100644 --- a/UI/Scheduler/UIxCalendarSelector.m +++ b/UI/Scheduler/UIxCalendarSelector.m @@ -25,6 +25,9 @@ #import #import + +#import + #import #import @@ -102,33 +105,43 @@ colorForNumber (unsigned int number) - (NSArray *) calendars { - NSArray *folders; + NSArray *folders, *roles; + SOGoAppointmentFolders *co; SOGoAppointmentFolder *folder; NSMutableDictionary *calendar; unsigned int count, max; - NSString *folderId, *folderName; + NSString *folderName, *fDisplayName; NSNumber *isActive; + SOGoUser *user; if (!calendars) { - folders = [[self clientObject] subFolders]; + co = [self clientObject]; + user = [[self context] activeUser]; + folders = [co subFolders]; max = [folders count]; calendars = [[NSMutableArray alloc] initWithCapacity: max]; for (count = 0; count < max; count++) { folder = [folders objectAtIndex: count]; + roles = [user rolesForObject: folder inContext: [self context]]; calendar = [NSMutableDictionary dictionary]; folderName = [folder nameInContainer]; - [calendar setObject: - [NSString stringWithFormat: @"/%@", folderName] + fDisplayName = [folder displayName]; + if ([fDisplayName isEqualToString: [co defaultFolderName]]) + fDisplayName = [self labelForKey: fDisplayName]; + [calendar setObject: [NSString stringWithFormat: @"/%@", folderName] forKey: @"id"]; - [calendar setObject: [folder displayName] - forKey: @"displayName"]; + [calendar setObject: fDisplayName forKey: @"displayName"]; [calendar setObject: folderName forKey: @"folder"]; [calendar setObject: colorForNumber (count) forKey: @"color"]; isActive = [NSNumber numberWithBool: [folder isActive]]; [calendar setObject: isActive forKey: @"active"]; + [calendar setObject: [folder ownerInContext: context] + forKey: @"owner"]; + [calendar setObject: [roles componentsJoinedByString: @","] + forKey: @"roles"]; [calendars addObject: calendar]; } } @@ -146,6 +159,12 @@ colorForNumber (unsigned int number) return currentCalendar; } +- (NSString *) currentCalendarClass +{ + return [currentCalendar + keysWithFormat: @"colorBox calendarFolder%{folder}"]; +} + - (NSString *) currentCalendarStyle { return [currentCalendar