Added ability to create tasks in project view

This commit is contained in:
Aaron Gutierrez
2015-07-21 23:20:17 -07:00
parent bea4500c34
commit 90b91c0a9e
2 changed files with 18 additions and 9 deletions

View File

@@ -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',

4
ui.py
View File

@@ -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):