From 7fae55f7422e4f807e8b09c318f051f3f06472ed Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 13 Aug 2014 14:28:56 +0200 Subject: [PATCH] Fixing next and prev in issue task and us detail --- app/coffee/modules/resources/tasks.coffee | 22 +++++++++++++++++++--- app/coffee/modules/tasks/detail.coffee | 4 ++-- app/partials/issues-detail.jade | 4 ++-- app/partials/task-detail.jade | 4 ++-- app/partials/us-detail.jade | 4 ++-- 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/app/coffee/modules/resources/tasks.coffee b/app/coffee/modules/resources/tasks.coffee index b8c8f2c4..e390a421 100644 --- a/app/coffee/modules/resources/tasks.coffee +++ b/app/coffee/modules/resources/tasks.coffee @@ -22,16 +22,22 @@ taiga = @.taiga -resourceProvider = ($repo, $http, $urls) -> +generateHash = taiga.generateHash + +resourceProvider = ($repo, $http, $urls, $storage) -> service = {} + hashSuffix = "tasks-queryparams" service.get = (projectId, taskId) -> - return $repo.queryOne("tasks", taskId) + params = service.getQueryParams(projectId) + params.project = projectId + return $repo.queryOne("tasks", taskId, params) service.list = (projectId, sprintId=null, userStoryId=null) -> params = {project: projectId} params.milestone = sprintId if sprintId params.user_story = userStoryId if userStoryId + service.storeQueryParams(projectId, params) return $repo.queryMany("tasks", params) service.bulkCreate = (projectId, sprintId, usId, data) -> @@ -47,9 +53,19 @@ resourceProvider = ($repo, $http, $urls) -> params = {"project": projectId} return $repo.queryMany(type, params) + service.storeQueryParams = (projectId, params) -> + ns = "#{projectId}:#{hashSuffix}" + hash = generateHash([projectId, ns]) + $storage.set(hash, params) + + service.getQueryParams = (projectId) -> + ns = "#{projectId}:#{hashSuffix}" + hash = generateHash([projectId, ns]) + return $storage.get(hash) or {} + return (instance) -> instance.tasks = service module = angular.module("taigaResources") -module.factory("$tgTasksResourcesProvider", ["$tgRepo", "$tgHttp", "$tgUrls", resourceProvider]) +module.factory("$tgTasksResourcesProvider", ["$tgRepo", "$tgHttp", "$tgUrls", "$tgStorage", resourceProvider]) diff --git a/app/coffee/modules/tasks/detail.coffee b/app/coffee/modules/tasks/detail.coffee index 7cc9c5fa..3527ac8a 100644 --- a/app/coffee/modules/tasks/detail.coffee +++ b/app/coffee/modules/tasks/detail.coffee @@ -71,8 +71,8 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin, taig return @rs.tasks.get(@scope.projectId, @scope.taskId).then (task) => @scope.task = task @scope.commentModel = task - # @scope.previousUrl = "/project/#{@scope.project.slug}/tasks/#{@scope.task.neighbors.previous.ref}" if @scope.task.neighbors.previous.id? - # @scope.nextUrl = "/project/#{@scope.project.slug}/tasks/#{@scope.task.neighbors.next.ref}" if @scope.task.neighbors.next.id? + @scope.previousUrl = "/project/#{@scope.project.slug}/tasks/#{@scope.task.neighbors.previous.ref}" if @scope.task.neighbors.previous.id? + @scope.nextUrl = "/project/#{@scope.project.slug}/tasks/#{@scope.task.neighbors.next.ref}" if @scope.task.neighbors.next.id? loadHistory: -> return @rs.tasks.history(@scope.taskId).then (history) => diff --git a/app/partials/issues-detail.jade b/app/partials/issues-detail.jade index 22780914..2600ee66 100644 --- a/app/partials/issues-detail.jade +++ b/app/partials/issues-detail.jade @@ -20,8 +20,8 @@ block content span.block-description-title Blocked span.block-description(tg-bind-html="issue.blocked_note || 'This issue is blocked'") div.issue-nav - a.icon.icon-arrow-left(ng-show="nextUrl", href="{{ nextUrl }}", title="next issue") - a.icon.icon-arrow-right(ng-show="previousUrl",href="{{ previousUrl }}", title="previous issue") + a.icon.icon-arrow-left(ng-show="previousUrl",href="{{ previousUrl }}", title="previous issue") + a.icon.icon-arrow-right(ng-show="nextUrl", href="{{ nextUrl }}", title="next issue") div.user-story-tags(tg-tag-line, ng-model="issue.tags", ng-show="issue.tags") diff --git a/app/partials/task-detail.jade b/app/partials/task-detail.jade index edb3e286..ef3942a6 100644 --- a/app/partials/task-detail.jade +++ b/app/partials/task-detail.jade @@ -20,8 +20,8 @@ block content span.block-description-title Blocked span.block-description(tg-bind-html="task.blocked_note || 'This task is blocked'") div.issue-nav - a.icon.icon-arrow-left(ng-show="nextUrl", href="{{ nextUrl }}", title="next task") - a.icon.icon-arrow-right(ng-show="previousUrl",href="{{ previousUrl }}", title="previous task") + a.icon.icon-arrow-left(ng-show="previousUrl",href="{{ previousUrl }}", title="previous task") + a.icon.icon-arrow-right(ng-show="nextUrl", href="{{ nextUrl }}", title="next task") div.user-story-tags(tg-tag-line, ng-model="task.tags", ng-show="task.tags") diff --git a/app/partials/us-detail.jade b/app/partials/us-detail.jade index 50be3fa4..0facea19 100644 --- a/app/partials/us-detail.jade +++ b/app/partials/us-detail.jade @@ -21,9 +21,9 @@ block content span.block-description-title Blocked span.block-description(tg-bind-html="us.blocked_note || 'This user story is blocked'") div.issue-nav - a.icon.icon-arrow-left(ng-show="nextUrl", href="{{ nextUrl }}", title="next user story") - a.icon.icon-arrow-right(ng-show="previousUrl",href="{{ previousUrl }}", + a.icon.icon-arrow-left(ng-show="previousUrl",href="{{ previousUrl }}", title="previous user story") + a.icon.icon-arrow-right(ng-show="nextUrl", href="{{ nextUrl }}", title="next user story") div.user-story-tags(tg-tag-line, ng-model="us.tags", ng-show="us.tags")