From ef13e5901d91ac85d682a6769a56661f59d2905f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Sat, 28 Jun 2014 06:03:03 +0200 Subject: [PATCH] Show every task in its row, and show unassigned tasks --- app/coffee/modules/taskboard/main.coffee | 22 +++++++++++++++++-- .../components/taskboard-task-unassigned.jade | 13 +++++++++++ .../views/components/taskboard-task.jade | 2 +- .../views/modules/taskboard-table.jade | 11 +++++++++- 4 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 app/partials/views/components/taskboard-task-unassigned.jade diff --git a/app/coffee/modules/taskboard/main.coffee b/app/coffee/modules/taskboard/main.coffee index 9ef2cbbc..a6be5370 100644 --- a/app/coffee/modules/taskboard/main.coffee +++ b/app/coffee/modules/taskboard/main.coffee @@ -73,7 +73,26 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin) loadTasks: -> return @rs.tasks.list(@scope.projectId, @scope.sprintId).then (tasks) => @scope.tasks = tasks - @scope.tasksByStatus = _.groupBy(tasks, "status") + @scope.usTasks = {} + @scope.unassignedTasks = {} + + for us in @scope.userstories + @scope.usTasks[us.id] = {} + + for status in @scope.taskStatusList + @scope.usTasks[us.id][status.id] = [] + + for status in @scope.taskStatusList + @scope.unassignedTasks[status.id] = [] + + for task in @scope.tasks + if task.user_story == null + @scope.unassignedTasks[task.status]?.push(task) + else + # why? because a django-filters sucks + if @scope.usTasks[task.user_story]? + @scope.usTasks[task.user_story][task.status]?.push(task) + return tasks loadProject: -> @@ -97,7 +116,6 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin) return @q.all([ @.loadSprintStats(), @.loadSprint() - # @.loadTasks(), ]).then(=> @.loadTasks()) loadInitialData: -> diff --git a/app/partials/views/components/taskboard-task-unassigned.jade b/app/partials/views/components/taskboard-task-unassigned.jade new file mode 100644 index 00000000..c5f62fac --- /dev/null +++ b/app/partials/views/components/taskboard-task-unassigned.jade @@ -0,0 +1,13 @@ +div.taskboard-task(ng-repeat="task in unassignedTasks[st.id] track by task.id") + div.taskboard-tagline + a.taskboard-tag(ng-repeat="tag in task.tags" href="" title="{{ tag }}") {{ tag }} + div.taskboard-task-inner + figure.avatar + a(href="", title="UserName") + img.avatar(src="http://thecodeplayer.com/u/uifaces/12.jpg", alt="username") + figcaption Username + p.taskboard-text + span.task-num(ng-bind="task.ref") + span.task-name(ng-bind="task.subject") + a.icon.icon-edit(href="", title="Edit", ng-click="ctrl.editTask(task)") + a.icon.icon-drag-h(href="", title="Drag&Drop") diff --git a/app/partials/views/components/taskboard-task.jade b/app/partials/views/components/taskboard-task.jade index 971f4cb8..c76f777d 100644 --- a/app/partials/views/components/taskboard-task.jade +++ b/app/partials/views/components/taskboard-task.jade @@ -1,4 +1,4 @@ -div.taskboard-task(ng-repeat="task in tasksByStatus[s.id] track by task.id") +div.taskboard-task(ng-repeat="task in usTasks[us.id][st.id] track by task.id") div.taskboard-tagline a.taskboard-tag(ng-repeat="tag in task.tags" href="" title="{{ tag }}") {{ tag }} div.taskboard-task-inner diff --git a/app/partials/views/modules/taskboard-table.jade b/app/partials/views/modules/taskboard-table.jade index 30414909..b28949a2 100644 --- a/app/partials/views/modules/taskboard-table.jade +++ b/app/partials/views/modules/taskboard-table.jade @@ -17,5 +17,14 @@ div.taskboard-table ul.points-list(tg-taskboard-us-points="us") include ../components/addnewtask - div.taskboard_task-playground.task-column(ng-repeat="s in taskStatusList track by s.id") + div.taskboard_task-playground.task-column(ng-repeat="st in taskStatusList track by st.id") include ../components/taskboard-task + + div.task-row(ng-init="us = null", tg-taskboard-taskrow) + div.taskboard_us-list.task-column + h3.us-title + span Unassigned tasks + include ../components/addnewtask + + div.taskboard_task-playground.task-column(ng-repeat="st in taskStatusList track by st.id") + include ../components/taskboard-task-unassigned