diff --git a/cmdasana.py b/cmdasana.py index e658b72..06a0363 100755 --- a/cmdasana.py +++ b/cmdasana.py @@ -103,12 +103,16 @@ class CmdAsana: def completeTask(self, task_id): self.client.tasks.update(task_id, completed=True) - def newTask(self): + def newTask(self, task_after_id): if self.state['view'] == 'project': task = self.client.tasks.create_in_workspace( self.state['workspace_id'], projects=[self.state['id']] ) + if task_after_id != None: + self.client.tasks.add_project(task['id'], + project=self.state['id'], + insert_after=task_after_id) else: task = self.client.tasks.create_in_workspace( self.state['workspace_id'], diff --git a/ui.py b/ui.py index 08186db..ab250db 100644 --- a/ui.py +++ b/ui.py @@ -112,8 +112,8 @@ class TaskList(urwid.ListBox): urwid.emit_signal(self, 'complete', task_id) del self.body[self.focus_position] - def newTask(self): - urwid.emit_signal(self, 'newtask') + def newTask(self, task_after_id=None): + urwid.emit_signal(self, 'newtask', task_after_id) def updateTask(self, task_id, name): urwid.emit_signal(self, 'updatetask', task_id, name) @@ -166,7 +166,7 @@ class TaskEdit(urwid.Edit): elif key == 'tab': urwid.emit_signal(self, 'complete', self.task['id']) elif key == 'enter': - urwid.emit_signal(self, 'newtask') + urwid.emit_signal(self, 'newtask', self.task['id']) elif key in ('l', 'right'): urwid.emit_signal(self, 'details', self.task['id']) else: