diff --git a/app/coffee/modules/kanban/main.coffee b/app/coffee/modules/kanban/main.coffee index 08789320..7a28212e 100644 --- a/app/coffee/modules/kanban/main.coffee +++ b/app/coffee/modules/kanban/main.coffee @@ -219,12 +219,12 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi @scope.usByStatus[statusId].splice(index, 0, us) us.status = statusId - else if not @scope.project.is_backlog_activated - current_position = @scope.usByStatus[us.status].indexOf(us) - new_position = index + else + r = @scope.usByStatus[statusId].indexOf(us) + @scope.usByStatus[statusId].splice(r, 1) + @scope.usByStatus[statusId].splice(index, 0, us) - @scope.usByStatus[us.status].splice(current_position, 1) - @scope.usByStatus[us.status].splice(new_position, 0, us) + itemsToSave = @.resortUserStories(@scope.usByStatus[statusId]) # Persist the userstory promise = @repo.save(us) @@ -232,16 +232,10 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi # Rehash userstories order field # and persist in bulk all changes. promise = promise.then => - items = @.resortUserStories(@scope.usByStatus[statusId]) - data = @.prepareBulkUpdateData(items) + data = @.prepareBulkUpdateData(itemsToSave) return @rs.userstories.bulkUpdateKanbanOrder(us.project, data).then => - # @rootscope.$broadcast("sprint:us:moved", us, oldSprintId, newSprintId) - return items - - promise.then null, -> - # TODO - console.log "FAIL" + return itemsToSave return promise diff --git a/app/partials/views/modules/kanban-table.jade b/app/partials/views/modules/kanban-table.jade index 6e40e0ec..98b2632b 100644 --- a/app/partials/views/modules/kanban-table.jade +++ b/app/partials/views/modules/kanban-table.jade @@ -26,6 +26,6 @@ div.kanban-table tg-kanban-sortable, tg-kanban-wip-limit, tg-kanban-column-height-fixer) - div.kanban-task(ng-repeat="us in usByStatus[status.id] track by us.id", + div.kanban-task(ng-repeat="us in usByStatus[status.id]|orderBy:'kanban_order' track by us.id", tg-kanban-userstory, ng-model="us", ng-class="ctrl.getCardClass(status.id)")