diff --git a/app/coffee/modules/issues/detail.coffee b/app/coffee/modules/issues/detail.coffee
index 5e5e38f8..aa3a75ad 100644
--- a/app/coffee/modules/issues/detail.coffee
+++ b/app/coffee/modules/issues/detail.coffee
@@ -62,6 +62,8 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin, tai
@scope.$emit('project:loaded', project)
@scope.statusList = project.issue_statuses
@scope.statusById = groupBy(project.issue_statuses, (x) -> x.id)
+ @scope.typeById = groupBy(project.issue_types, (x) -> x.id)
+ @scope.typeList = _.sortBy(project.issue_types, "order")
@scope.severityList = project.severities
@scope.severityById = groupBy(project.severities, (x) -> x.id)
@scope.priorityList = project.priorities
@@ -196,6 +198,11 @@ IssueStatusDirective = () ->
<%= status.name %>
+
+
+ <%= type.name %>
+ type
+
<%= severity.name %>
@@ -213,6 +220,14 @@ IssueStatusDirective = () ->
""")
+ selectionTypeTemplate = _.template("""
+
+ """)
selectionSeverityTemplate = _.template("""
<% _.each(severities, function(severity) { %>
@@ -242,6 +257,7 @@ IssueStatusDirective = () ->
editable = $attrs.editable?
renderIssuestatus = (issue) ->
+ type = $scope.typeById[issue.type]
status = $scope.statusById[issue.status]
severity = $scope.severityById[issue.severity]
priority = $scope.priorityById[issue.priority]
@@ -250,8 +266,10 @@ IssueStatusDirective = () ->
status: status
severity: severity
priority: priority
+ type: type
})
$el.html(html)
+ $el.find(".type-data").append(selectionTypeTemplate({types:$scope.typeList}))
$el.find(".severity-data").append(selectionSeverityTemplate({severities:$scope.severityList}))
$el.find(".priority-data").append(selectionPriorityTemplate({priorities:$scope.priorityList}))
$el.find(".status-data").append(selectionStatusTemplate({statuses:$scope.statusList}))
@@ -261,6 +279,19 @@ IssueStatusDirective = () ->
renderIssuestatus(issue)
if editable
+ $el.on "click", ".type-data", (event) ->
+ event.preventDefault()
+ event.stopPropagation()
+ $el.find(".pop-type").popover().open()
+
+ $el.on "click", ".type", (event) ->
+ event.preventDefault()
+ event.stopPropagation()
+ target = angular.element(event.currentTarget)
+ $model.$modelValue.type = target.data("type-id")
+ renderIssuestatus($model.$modelValue)
+ $.fn.popover().closeAll()
+
$el.on "click", ".severity-data", (event) ->
event.preventDefault()
event.stopPropagation()
diff --git a/app/styles/layout/us-detail.scss b/app/styles/layout/us-detail.scss
index 09dcd30a..118736a1 100644
--- a/app/styles/layout/us-detail.scss
+++ b/app/styles/layout/us-detail.scss
@@ -325,6 +325,12 @@
}
.us-status {
+ .type-data {
+ position: relative;
+ .pop-type {
+ @include popover(150px, '', 30px, '', '');
+ }
+ }
.severity-data {
position: relative;
.pop-severity {