From 89e7811f8196a37953f522d6674790c6bb1f3d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Wed, 11 Mar 2015 11:38:23 +0100 Subject: [PATCH] BUG#2404 Check permissions for click the username label on kanban and taskboard --- app/coffee/modules/kanban/main.coffee | 20 ++++++++++++-------- app/coffee/modules/taskboard/main.coffee | 16 ++++++++++------ 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/app/coffee/modules/kanban/main.coffee b/app/coffee/modules/kanban/main.coffee index 7b559a58..2beef957 100644 --- a/app/coffee/modules/kanban/main.coffee +++ b/app/coffee/modules/kanban/main.coffee @@ -504,6 +504,9 @@ KanbanUserDirective = ($log) -> clickable = false link = ($scope, $el, $attrs, $model) -> + username_label = $el.parent().find("a.task-assigned") + username_label.addClass("not-clickable") + if not $attrs.tgKanbanUserAvatar return $log.error "KanbanUserDirective: no attr is defined" @@ -523,15 +526,7 @@ KanbanUserDirective = ($log) -> html = template(ctx) $el.html(html) - username_label = $el.parent().find("a.task-assigned") username_label.text(ctx.name) - username_label.on "click", (event) -> - if $el.find("a").hasClass("noclick") - return - - us = $model.$modelValue - $ctrl = $el.controller() - $ctrl.changeUsAssignedTo(us) bindOnce $scope, "project", (project) -> if project.my_permissions.indexOf("modify_us") > -1 @@ -544,6 +539,15 @@ KanbanUserDirective = ($log) -> $ctrl = $el.controller() $ctrl.changeUsAssignedTo(us) + username_label.removeClass("not-clickable") + username_label.on "click", (event) -> + if $el.find("a").hasClass("noclick") + return + + us = $model.$modelValue + $ctrl = $el.controller() + $ctrl.changeUsAssignedTo(us) + $scope.$on "$destroy", -> $el.off() diff --git a/app/coffee/modules/taskboard/main.coffee b/app/coffee/modules/taskboard/main.coffee index 2bc15a7d..5499cdec 100644 --- a/app/coffee/modules/taskboard/main.coffee +++ b/app/coffee/modules/taskboard/main.coffee @@ -397,12 +397,7 @@ TaskboardUserDirective = ($log) -> link = ($scope, $el, $attrs) -> username_label = $el.parent().find("a.task-assigned") - username_label.on "click", (event) -> - if $el.find('a').hasClass('noclick') - return - - $ctrl = $el.controller() - $ctrl.editTaskAssignedTo($scope.task) + username_label.addClass("not-clickable") $scope.$watch 'task.assigned_to', (assigned_to) -> user = $scope.usersById[assigned_to] @@ -425,6 +420,15 @@ TaskboardUserDirective = ($log) -> $ctrl = $el.controller() $ctrl.editTaskAssignedTo($scope.task) + username_label.removeClass("not-clickable") + username_label.on "click", (event) -> + if $el.find('a').hasClass('noclick') + return + + $ctrl = $el.controller() + $ctrl.editTaskAssignedTo($scope.task) + + return { link: link, templateUrl: "taskboard/taskboard-user.html",