aboutsummaryrefslogtreecommitdiff
path: root/QSThingsPlugin/Handlers
diff options
context:
space:
mode:
Diffstat (limited to 'QSThingsPlugin/Handlers')
-rw-r--r--QSThingsPlugin/Handlers/ThingsTaskHandler.m27
1 files changed, 27 insertions, 0 deletions
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