From e25ea7404caa25148d8b9084daf98c098102fe14 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Fri, 12 Sep 2025 22:01:42 +0200 Subject: Add project tasks that are under headings --- QSThingsPlugin/Handlers/ThingsTaskHandler.m | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'QSThingsPlugin/Handlers/ThingsTaskHandler.m') diff --git a/QSThingsPlugin/Handlers/ThingsTaskHandler.m b/QSThingsPlugin/Handlers/ThingsTaskHandler.m index 5875feb..406e5ab 100644 --- a/QSThingsPlugin/Handlers/ThingsTaskHandler.m +++ b/QSThingsPlugin/Handlers/ThingsTaskHandler.m @@ -55,6 +55,7 @@ NS_ASSUME_NONNULL_BEGIN if (object.primaryType == kProjectType) { [children addObjectsFromArray:[self tasksForTaskIdentifiedBy:uuid usingDatabaseAt:path ]]; + [children addObjectsFromArray:[self tasksInHeadingsForTaskIdentifiedBy:uuid usingDatabaseAt:path ]]; } else { [children addObjectsFromArray:[self projectsForTaskIdentifiedBy:uuid usingDatabaseAt:path ]]; } @@ -160,6 +161,32 @@ NS_ASSUME_NONNULL_BEGIN return objects; } +- (NSArray *)tasksInHeadingsForTaskIdentifiedBy:(NSString *)uuid usingDatabaseAt:(NSString *)path { + NSString *query = [NSString stringWithFormat: @"SELECT " + "task.uuid as uuid, " + "task.creationDate as creationDate, " + "task.status as status, " + "task.title as title, " + "task.notes as notes, " + "task.area as area " + "FROM TMTask AS heading " + "LEFT JOIN TMTask AS task " + "ON task.heading = heading.uuid " + "WHERE heading.project = '%@' " + "AND task.type = 0 " + "AND task.trashed = 0 " + "AND task.status = 0 " + "ORDER BY task.title;", uuid]; + + NSArray *results = [SQLHelper executeSql:query onFile:path]; + NSMutableArray *objects = [NSMutableArray array]; + [results enumerateObjectsUsingBlock:^(NSDictionary *dictionary, NSUInteger i, BOOL *stop) { + [objects addObject:[ObjectHelper taskFromSQLResult:dictionary usingPath:path ]]; + }]; + + return objects; +} + @end NS_ASSUME_NONNULL_END -- cgit