Add role filtering

stable
Jesús Espino 2017-11-07 18:53:10 +01:00 committed by Alex Hermida
parent ebe70b2f0c
commit 6fe84f9acd
4 changed files with 61 additions and 0 deletions

View File

@ -194,6 +194,7 @@ class UsFiltersMixin
filters.assigned_to = urlfilters.assigned_to filters.assigned_to = urlfilters.assigned_to
filters.owner = urlfilters.owner filters.owner = urlfilters.owner
filters.epic = urlfilters.epic filters.epic = urlfilters.epic
filters.role = urlfilters.role
@filterRemoteStorageService.getFilters(@scope.projectId, @.storeCustomFiltersName).then (userFilters) => @filterRemoteStorageService.getFilters(@scope.projectId, @.storeCustomFiltersName).then (userFilters) =>
userFilters[name] = filters userFilters[name] = filters
@ -219,6 +220,7 @@ class UsFiltersMixin
loadFilters.assigned_to = urlfilters.assigned_to loadFilters.assigned_to = urlfilters.assigned_to
loadFilters.owner = urlfilters.owner loadFilters.owner = urlfilters.owner
loadFilters.epic = urlfilters.epic loadFilters.epic = urlfilters.epic
loadFilters.role = urlfilters.role
loadFilters.q = urlfilters.q loadFilters.q = urlfilters.q
if milestone if milestone
@ -249,6 +251,15 @@ class UsFiltersMixin
it.name = it.full_name || "Unassigned" it.name = it.full_name || "Unassigned"
return it
role = _.map data.roles, (it) ->
if it.id
it.id = it.id.toString()
else
it.id = "null"
it.name = it.name || "Unassigned"
return it return it
owner = _.map data.owners, (it) -> owner = _.map data.owners, (it) ->
it.id = it.id.toString() it.id = it.id.toString()
@ -287,6 +298,10 @@ class UsFiltersMixin
selected = @.formatSelectedFilters("epic", epic, loadFilters.epic) selected = @.formatSelectedFilters("epic", epic, loadFilters.epic)
@.selectedFilters = @.selectedFilters.concat(selected) @.selectedFilters = @.selectedFilters.concat(selected)
if loadFilters.role
selected = @.formatSelectedFilters("role", role, loadFilters.role)
@.selectedFilters = @.selectedFilters.concat(selected)
@.filterQ = loadFilters.q @.filterQ = loadFilters.q
@.filters = [ @.filters = [
@ -307,6 +322,11 @@ class UsFiltersMixin
dataType: "assigned_to", dataType: "assigned_to",
content: assignedTo content: assignedTo
}, },
{
title: @translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),
dataType: "role",
content: role
},
{ {
title: @translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"), title: @translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),
dataType: "owner", dataType: "owner",

View File

@ -137,6 +137,7 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
filters.priority = urlfilters.priority filters.priority = urlfilters.priority
filters.assigned_to = urlfilters.assigned_to filters.assigned_to = urlfilters.assigned_to
filters.owner = urlfilters.owner filters.owner = urlfilters.owner
filters.role = urlfilters.role
@filterRemoteStorageService.getFilters(@scope.projectId, @.myFiltersHashSuffix).then (userFilters) => @filterRemoteStorageService.getFilters(@scope.projectId, @.myFiltersHashSuffix).then (userFilters) =>
userFilters[name] = filters userFilters[name] = filters
@ -157,6 +158,7 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
loadFilters.priority = urlfilters.priority loadFilters.priority = urlfilters.priority
loadFilters.assigned_to = urlfilters.assigned_to loadFilters.assigned_to = urlfilters.assigned_to
loadFilters.owner = urlfilters.owner loadFilters.owner = urlfilters.owner
loadFilters.role = urlfilters.role
loadFilters.q = urlfilters.q loadFilters.q = urlfilters.q
return @q.all([ return @q.all([
@ -203,6 +205,15 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
it.id = it.id.toString() it.id = it.id.toString()
it.name = it.full_name it.name = it.full_name
return it
role = _.map data.roles, (it) ->
if it.id
it.id = it.id.toString()
else
it.id = "null"
it.name = it.name || "Unassigned"
return it return it
@.selectedFilters = [] @.selectedFilters = []
@ -235,6 +246,10 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
selected = @.formatSelectedFilters("priority", priority, loadFilters.priority) selected = @.formatSelectedFilters("priority", priority, loadFilters.priority)
@.selectedFilters = @.selectedFilters.concat(selected) @.selectedFilters = @.selectedFilters.concat(selected)
if loadFilters.role
selected = @.formatSelectedFilters("role", role, loadFilters.role)
@.selectedFilters = @.selectedFilters.concat(selected)
@.filterQ = loadFilters.q @.filterQ = loadFilters.q
@.filters = [ @.filters = [
@ -270,6 +285,11 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
dataType: "assigned_to", dataType: "assigned_to",
content: assignedTo content: assignedTo
}, },
{
title: @translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),
dataType: "role",
content: role
},
{ {
title: @translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"), title: @translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),
dataType: "owner", dataType: "owner",

View File

@ -141,6 +141,7 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
filters.status = urlfilters.status filters.status = urlfilters.status
filters.assigned_to = urlfilters.assigned_to filters.assigned_to = urlfilters.assigned_to
filters.owner = urlfilters.owner filters.owner = urlfilters.owner
filters.role = urlfilters.role
@filterRemoteStorageService.getFilters(@scope.projectId, 'tasks-custom-filters').then (userFilters) => @filterRemoteStorageService.getFilters(@scope.projectId, 'tasks-custom-filters').then (userFilters) =>
userFilters[name] = filters userFilters[name] = filters
@ -159,6 +160,7 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
loadFilters.status = urlfilters.status loadFilters.status = urlfilters.status
loadFilters.assigned_to = urlfilters.assigned_to loadFilters.assigned_to = urlfilters.assigned_to
loadFilters.owner = urlfilters.owner loadFilters.owner = urlfilters.owner
loadFilters.role = urlfilters.role
loadFilters.q = urlfilters.q loadFilters.q = urlfilters.q
return @q.all([ return @q.all([
@ -188,6 +190,15 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
it.name = it.full_name || "Unassigned" it.name = it.full_name || "Unassigned"
return it
role = _.map data.roles, (it) ->
if it.id
it.id = it.id.toString()
else
it.id = "null"
it.name = it.name || "Unassigned"
return it return it
owner = _.map data.owners, (it) -> owner = _.map data.owners, (it) ->
it.id = it.id.toString() it.id = it.id.toString()
@ -213,6 +224,10 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
selected = @.formatSelectedFilters("owner", owner, loadFilters.owner) selected = @.formatSelectedFilters("owner", owner, loadFilters.owner)
@.selectedFilters = @.selectedFilters.concat(selected) @.selectedFilters = @.selectedFilters.concat(selected)
if loadFilters.role
selected = @.formatSelectedFilters("role", role, loadFilters.role)
@.selectedFilters = @.selectedFilters.concat(selected)
@.filterQ = loadFilters.q @.filterQ = loadFilters.q
@.filters = [ @.filters = [
@ -233,6 +248,11 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
dataType: "assigned_to", dataType: "assigned_to",
content: assignedTo content: assignedTo
}, },
{
title: @translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),
dataType: "role",
content: role
},
{ {
title: @translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"), title: @translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),
dataType: "owner", dataType: "owner",

View File

@ -207,6 +207,7 @@
"PRIORITIES": "Priorities", "PRIORITIES": "Priorities",
"TAGS": "Tags", "TAGS": "Tags",
"ASSIGNED_TO": "Assigned to", "ASSIGNED_TO": "Assigned to",
"ROLE": "Role",
"CREATED_BY": "Created by", "CREATED_BY": "Created by",
"CUSTOM_FILTERS": "Custom filters", "CUSTOM_FILTERS": "Custom filters",
"EPIC": "Epic" "EPIC": "Epic"