Todo editing
This commit is contained in:
@@ -1595,6 +1595,53 @@ class UserOperations {
|
||||
await executeQueries();
|
||||
}
|
||||
|
||||
static Future<void> editTodo(String oldId, String taskType, String metadata, DateTime dueDate, DateTime? notificationTime) async {
|
||||
|
||||
String taskId = username + taskType;
|
||||
if(taskId.contains('[') && taskId.contains(']')){
|
||||
//has a project related
|
||||
taskId = taskId.substring(0, taskId.indexOf('[') - 1);
|
||||
}
|
||||
|
||||
String id = taskId + metadata;
|
||||
|
||||
Map<String, String> queryBody = <String, String>{
|
||||
'old_id' : oldId,
|
||||
'username': username,
|
||||
'task': taskId,
|
||||
'metadata': metadata,
|
||||
'due_date': DateFormat('yyyy-MM-dd').format(dueDate),
|
||||
if(notificationTime!=null)'notification_time':DateFormat('yyyy-MM-dd HH:mm').format(notificationTime)
|
||||
};
|
||||
if (cacheEnabled) {
|
||||
//Add Query
|
||||
Map<String, Object> query = {Queries.colLink: 'edit_todo', Queries.colData: jsonEncode(queryBody)};
|
||||
|
||||
Debug.LogResponse("adding new query ${query[Queries.colLink]} : ${jsonEncode(queryBody)}");
|
||||
|
||||
await cacheDb.insert('Queries', query);
|
||||
String dueDateString = DateFormat('yyyy-MM-dd').format(dueDate);
|
||||
//update Cache
|
||||
// Map<String, Object> data = {'id': id, Todo.colCat: taskId, Todo.colMetadata: metadata, Todo.colDueDate: DateFormat('yyyy-MM-dd').format(dueDate), if(notificationTime!=null)Todo.colNotificationTime:DateFormat('yyyy-MM-dd HH:mm').format(notificationTime)};
|
||||
// await cacheDb.insert('Todos', data);
|
||||
await cacheDb.rawUpdate("UPDATE Todos SET id='$id', ${Todo.colCat}='$taskId', ${Todo.colMetadata}='$metadata', ${Todo.colDueDate}='$dueDateString'${(notificationTime!=null) ? ", ${Todo.colNotificationTime}='${DateFormat('yyyy-MM-dd HH:mm').format(notificationTime)}'" : ''} WHERE id='$oldId'");
|
||||
await refreshUserData(forceOffline: true);
|
||||
} else {
|
||||
try {
|
||||
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/edit_todo.php'), body: queryBody));
|
||||
Debug.LogResponse("Query executed : Results{${queryResponse.body}");
|
||||
if (queryResponse.body.toLowerCase().contains("success")) {
|
||||
//Success
|
||||
}
|
||||
} catch (e) {
|
||||
Debug.LogError('NC: Error editing todo entry $e}');
|
||||
}
|
||||
//executeQueries();
|
||||
}
|
||||
//Add to server and refresh Cache
|
||||
await executeQueries();
|
||||
}
|
||||
|
||||
|
||||
static Future<void> deleteTask(String name, {bulk = false}) async {
|
||||
Map<String, String> queryBody = <String, String>{
|
||||
|
||||
Reference in New Issue
Block a user