diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.h b/SoObjects/Appointments/SOGoAppointmentFolder.h
index ee703b1d5..b09241cfd 100644
--- a/SoObjects/Appointments/SOGoAppointmentFolder.h
+++ b/SoObjects/Appointments/SOGoAppointmentFolder.h
@@ -80,6 +80,8 @@ typedef enum {
- (NSArray *) calendarUIDs;
+- (NSString *) activeTasks;
+
/* vevent UID handling */
- (NSString *) resourceNameForEventUID: (NSString *) _uid;
diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m
index 61cef70dc..a70a0eb16 100644
--- a/SoObjects/Appointments/SOGoAppointmentFolder.m
+++ b/SoObjects/Appointments/SOGoAppointmentFolder.m
@@ -522,7 +522,6 @@ static iCalEvent *iCalEventK = nil;
{
/* this is used for group calendars (this folder just returns itself) */
NSString *s;
-
s = [[self container] nameInContainer];
// [self logWithFormat:@"CAL UID: %@", s];
return [s isNotNull] ? [NSArray arrayWithObjects:&s count:1] : nil;
@@ -3270,4 +3269,25 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
return users;
}
+- (NSString *) activeTasks
+{
+ NSArray *tasksList;
+ NSString *activeTasks;
+ NSMutableArray *fields;
+
+ fields = [NSMutableArray arrayWithObjects: @"c_component", @"c_status", nil];
+
+ tasksList = [self bareFetchFields: fields
+ from: nil
+ to: nil
+ title: nil
+ component: @"vtodo"
+ additionalFilters: @"c_status != 2 AND c_status != 3"];
+
+ activeTasks = [NSString stringWithFormat:@"(%d)", [tasksList count]];
+
+ return activeTasks;
+}
+
+
@end /* SOGoAppointmentFolder */
diff --git a/UI/Scheduler/UIxCalendarSelector.m b/UI/Scheduler/UIxCalendarSelector.m
index 7da4392b3..196299fad 100644
--- a/UI/Scheduler/UIxCalendarSelector.m
+++ b/UI/Scheduler/UIxCalendarSelector.m
@@ -92,38 +92,42 @@ _intValueFromHex (NSString *hexString)
SOGoAppointmentFolder *folder;
NSMutableDictionary *calendar;
unsigned int count, max;
- NSString *folderName, *fDisplayName;
+ NSString *folderName, *fDisplayName, *fActiveTasks;
NSNumber *isActive;
-
+
if (!calendars)
+ {
+ co = [self clientObject];
+ folders = [co subFolders];
+ max = [folders count];
+ calendars = [[NSMutableArray alloc] initWithCapacity: max];
+ for (count = 0; count < max; count++)
{
- co = [self clientObject];
- folders = [co subFolders];
- max = [folders count];
- calendars = [[NSMutableArray alloc] initWithCapacity: max];
- for (count = 0; count < max; count++)
- {
- folder = [folders objectAtIndex: count];
- calendar = [NSMutableDictionary dictionary];
- folderName = [folder nameInContainer];
- fDisplayName = [folder displayName];
- if (fDisplayName == nil)
- fDisplayName = @"";
- if ([fDisplayName isEqualToString: [co defaultFolderName]])
- fDisplayName = [self labelForKey: fDisplayName];
- [calendar setObject: [NSString stringWithFormat: @"/%@", folderName]
- forKey: @"id"];
- [calendar setObject: fDisplayName forKey: @"displayName"];
- [calendar setObject: folderName forKey: @"folder"];
- [calendar setObject: [folder calendarColor] forKey: @"color"];
- isActive = [NSNumber numberWithBool: [folder isActive]];
- [calendar setObject: isActive forKey: @"active"];
- [calendar setObject: [folder ownerInContext: context]
- forKey: @"owner"];
- [calendars addObject: calendar];
- }
+ folder = [folders objectAtIndex: count];
+ calendar = [NSMutableDictionary dictionary];
+ folderName = [folder nameInContainer];
+ fDisplayName = [folder displayName];
+ if (fDisplayName == nil)
+ fDisplayName = @"";
+ if ([fDisplayName isEqualToString: [co defaultFolderName]])
+ fDisplayName = [self labelForKey: fDisplayName];
+ [calendar setObject: [NSString stringWithFormat: @"/%@", folderName]
+ forKey: @"id"];
+ [calendar setObject: fDisplayName forKey: @"displayName"];
+ [calendar setObject: folderName forKey: @"folder"];
+ [calendar setObject: [folder calendarColor] forKey: @"color"];
+ isActive = [NSNumber numberWithBool: [folder isActive]];
+ [calendar setObject: isActive forKey: @"active"];
+ [calendar setObject: [folder ownerInContext: context]
+ forKey: @"owner"];
+ fActiveTasks = [folder activeTasks];
+ if (fActiveTasks == nil)
+ fActiveTasks = @"";
+ [calendar setObject:fActiveTasks forKey:@"activeTasks" ];
+ [calendars addObject: calendar];
}
-
+ }
+
return calendars;
}
diff --git a/UI/Templates/SchedulerUI/UIxCalendarSelector.wox b/UI/Templates/SchedulerUI/UIxCalendarSelector.wox
index 477a64513..e5f0b03e6 100644
--- a/UI/Templates/SchedulerUI/UIxCalendarSelector.wox
+++ b/UI/Templates/SchedulerUI/UIxCalendarSelector.wox
@@ -38,9 +38,12 @@ div.colorBox.calendarFolder
-
+
+
+
+
+
+