Disable color selector if the user doesn\t have permission to edit epic

stable
David Barragán Merino 2016-09-21 16:13:00 +02:00
parent 4c3710cf4f
commit 4c89ff3669
5 changed files with 24 additions and 3 deletions

View File

@ -22,11 +22,19 @@ getDefaulColorList = taiga.getDefaulColorList
class ColorSelectorController
constructor: () ->
@.$inject = [
"tgProjectService",
]
constructor: (@projectService) ->
@.colorList = getDefaulColorList()
@.checkIsColorRequired()
@.displayColorList = false
userCanChangeColor: () ->
return true if not @.requiredPerm
return @projectService.hasPermission(@.requiredPerm)
checkIsColorRequired: () ->
if !@.isColorRequired
@.colorList = _.dropRight(@.colorList)

View File

@ -56,7 +56,8 @@ ColorSelectorDirective = ($timeout) ->
bindToController: {
isColorRequired: "=",
onSelectColor: "&",
initColor: "="
initColor: "=",
requiredPerm: "@"
},
scope: {},
}

View File

@ -1,4 +1,12 @@
.color-selector
//- Read only mode
.color-selector(ng-if="!vm.userCanChangeColor()")
.tag-color.disabled.e2e-open-color-selector(
ng-class="{'empty-color': !vm.color}"
ng-style="{'background': vm.color}"
)
//- Read & Edit mode
.color-selector(ng-if="vm.userCanChangeColor()")
.tag-color.e2e-open-color-selector(
ng-click="vm.toggleColorList()"
ng-class="{'empty-color': !vm.color}"

View File

@ -18,6 +18,9 @@
border-radius: 0;
margin: 0;
transition: background .3s ease-out;
&.disabled {
cursor: auto;
}
&.empty-color {
@include empty-color(34);
}

View File

@ -23,6 +23,7 @@ div.wrapper(
is-color-required="true"
init-color="epic.color"
on-select-color="ctrl.onSelectColor(color)"
required-perm="modify_epic"
)
tg-detail-header(
item="epic"