From 98782e5a213582ecb981a22204a0cf641207c28c Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 6 Jun 2007 20:41:32 +0000 Subject: [PATCH] Monotone-Parent: 08feca86089e463c4d137ba6be895557a9552df3 Monotone-Revision: 5f682c49b205052d24f979efb24d2bbca2ed1f7c Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2007-06-06T20:41:32 Monotone-Branch: ca.inverse.sogo --- UI/Scheduler/UIxCalTasksListView.m | 49 +++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/UI/Scheduler/UIxCalTasksListView.m b/UI/Scheduler/UIxCalTasksListView.m index 349cee29c..7c10d8c89 100644 --- a/UI/Scheduler/UIxCalTasksListView.m +++ b/UI/Scheduler/UIxCalTasksListView.m @@ -66,17 +66,17 @@ return nil; } -- (NSString *) currentStatusClass +- (NSString *) getStatusClassForTask: (NSDictionary *) task { NSCalendarDate *taskDate, *now; NSString *statusClass, *allClasses; NSNumber *taskDueStamp; - if ([[currentTask objectForKey: @"status"] intValue] == 1) + if ([[task objectForKey: @"status"] intValue] == 1) statusClass = @"completed"; else { - taskDueStamp = [currentTask objectForKey: @"enddate"]; + taskDueStamp = [task objectForKey: @"enddate"]; if ([taskDueStamp intValue]) { now = [NSCalendarDate calendarDate]; @@ -98,11 +98,52 @@ allClasses = [NSString stringWithFormat: @"%@ ownerIs%@", statusClass, - [currentTask objectForKey: @"owner"]]; + [task objectForKey: @"owner"]]; return allClasses; } +- (WOResponse *) tasksListAction +{ + WOResponse *response; + NSDictionary *tasks; + NSMutableArray *filteredTasks; + BOOL showCompleted; + unsigned i, count; + + response = [context response]; + filteredTasks = [NSMutableArray new]; + [filteredTasks autorelease]; + tasks = [self _fetchCoreInfosForComponent: @"vtodo"]; + showCompleted = [[self queryParameterForKey: @"show-completed"] intValue]; + + count = [tasks count]; + for (i = 0; i < count; i++) { + NSDictionary *task; + NSArray *filteredTask; + + task = [tasks objectAtIndex: i]; + + if ([[task objectForKey: @"status"] intValue] != 1 + || showCompleted) + { + filteredTask = [NSArray arrayWithObjects: + [task objectForKey: @"c_name"], + [task objectForKey: @"owner"], + [task objectForKey: @"status"], + [task objectForKey: @"title"], + [self getStatusClassForTask: task], + nil]; + [filteredTasks addObject: filteredTask]; + } + } + + [response setStatus: 200]; + [response appendContentString: [filteredTasks jsonRepresentation]]; + + return response; +} + - (BOOL) shouldDisplayCurrentTask { if (!knowsToShow)