diff --git a/app/coffee/modules/issues/detail.coffee b/app/coffee/modules/issues/detail.coffee index 7687e8cd..9448f16e 100644 --- a/app/coffee/modules/issues/detail.coffee +++ b/app/coffee/modules/issues/detail.coffee @@ -150,12 +150,18 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin) } @scope.nextUrl = @navUrls.resolve("project-issues-detail", ctx) + loadSprint: -> + if @scope.issue.milestone + return @rs.sprints.get(@scope.issue.project, @scope.issue.milestone).then (sprint) => + @scope.sprint = sprint + return sprint + loadInitialData: -> project = @.loadProject() @.fillUsersAndRoles(project.members, project.roles) - return @.loadIssue() + return @.loadIssue().then(=> @.loadSprint()) ### # Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button. diff --git a/app/locales/taiga/locale-en.json b/app/locales/taiga/locale-en.json index 877ca370..ac656b02 100644 --- a/app/locales/taiga/locale-en.json +++ b/app/locales/taiga/locale-en.json @@ -1429,6 +1429,8 @@ "GO_TO_EXTERNAL_REFERENCE": "Go to origin", "ACTION_DELETE": "Delete issue", "LIGHTBOX_TITLE_BLOKING_ISSUE": "Blocking issue", + "LINK_TASKBOARD": "Taskboard", + "TITLE_LINK_TASKBOARD": "Go to the taskboard", "FIELDS": { "PRIORITY": "Priority", "SEVERITY": "Severity", diff --git a/app/partials/issue/issues-detail.jade b/app/partials/issue/issues-detail.jade index b594c3c7..543a73cb 100644 --- a/app/partials/issue/issues-detail.jade +++ b/app/partials/issue/issues-detail.jade @@ -9,6 +9,15 @@ div.wrapper( div.main.us-detail div.us-detail-header.header-with-actions include ../includes/components/mainTitle + .action-buttons + a.button-gray( + href="" + tg-check-permission="view_milestones" + tg-nav="project-taskboard:project=project.slug,sprint=sprint.slug" + ng-if="sprint && project.is_backlog_activated" + title="{{'ISSUES.TITLE_LINK_TASKBOARD' | translate}}" + translate="ISSUES.LINK_TASKBOARD" + ) section.us-story-main-data header