Disable color selector if the user doesn\t have permission to edit epic
parent
4c3710cf4f
commit
4c89ff3669
|
@ -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)
|
||||
|
|
|
@ -56,7 +56,8 @@ ColorSelectorDirective = ($timeout) ->
|
|||
bindToController: {
|
||||
isColorRequired: "=",
|
||||
onSelectColor: "&",
|
||||
initColor: "="
|
||||
initColor: "=",
|
||||
requiredPerm: "@"
|
||||
},
|
||||
scope: {},
|
||||
}
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
border-radius: 0;
|
||||
margin: 0;
|
||||
transition: background .3s ease-out;
|
||||
&.disabled {
|
||||
cursor: auto;
|
||||
}
|
||||
&.empty-color {
|
||||
@include empty-color(34);
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue