diff --git a/cmdasana.py b/cmdasana.py index 603a112..e658b72 100755 --- a/cmdasana.py +++ b/cmdasana.py @@ -74,9 +74,11 @@ class CmdAsana: self.state = json.loads(f.readline()) f.close() except IOError: + workspace_id = self.myWorkspaces()[0]['id'] self.state = { 'view': 'workspace', - 'id': self.myWorkspaces()[0]['id'] + 'id': workspace_id, + 'workspace_id': workspace_id } def myWorkspaces(self): @@ -102,8 +104,17 @@ class CmdAsana: self.client.tasks.update(task_id, completed=True) def newTask(self): - task = self.client.tasks.create_in_workspace(self.workspace_id, - assignee=self.me['id']) + if self.state['view'] == 'project': + task = self.client.tasks.create_in_workspace( + self.state['workspace_id'], + projects=[self.state['id']] + ) + else: + task = self.client.tasks.create_in_workspace( + self.state['workspace_id'], + assignee=self.me['id'] + ) + task_list,_ = self.frame.contents[1] task_list.insertNewTask(task) @@ -124,11 +135,11 @@ class CmdAsana: def showMyTasks(self, workspace_id): self.state['view'] = 'atm' self.state['id'] = workspace_id + self.state['workspace_id'] = workspace_id task_list = ui.TaskList(self.allMyTasks(workspace_id)) self.connectTaskListSignals(task_list) self.replaceBody(task_list) - self.workspace_id = workspace_id def showProject(self, project_id): self.state['view'] = 'project' @@ -141,6 +152,7 @@ class CmdAsana: def showProjectList(self, workspace_id): self.state['view'] = 'workspace' self.state['id'] = workspace_id + self.state['workspace_id'] = workspace_id self.workspace_id = workspace_id project_list = ui.ProjectList(self.allMyProjects()) @@ -158,9 +170,6 @@ class CmdAsana: urwid.connect_signal(task_details, 'loadproject', self.showProject) self.replaceBody(task_details) - def refreshTaskList(self): - self.showWorkspace(self.workspace_id) - def registerSignals(self): urwid.register_signal(ui.TaskList, [ 'complete', diff --git a/ui.py b/ui.py index 999dc75..08186db 100644 --- a/ui.py +++ b/ui.py @@ -97,9 +97,9 @@ class TaskList(urwid.ListBox): task_widget = TaskEdit(task, mode=EDIT) self.connectSignals(task_widget) index = self.focus_position + 1 - style = 'section' if task['name'][-1] == ':' else 'task' self.body.insert(index, - urwid.AttrMap(task_widget, style, focus_map='selected')) + urwid.AttrMap(task_widget, 'task', + focus_map='selected')) self.focus_position += 1 def connectSignals(self, task_widget):