From 901ff7443250976cdb130da87d5fb1538c0fb122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Thu, 30 Oct 2014 13:34:05 +0100 Subject: [PATCH] Show iocaine button in read mode too --- app/coffee/modules/tasks/detail.coffee | 35 +++++++++++++++++--------- app/partials/task-detail.jade | 2 +- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/app/coffee/modules/tasks/detail.coffee b/app/coffee/modules/tasks/detail.coffee index 21690bc4..ea1f4dee 100644 --- a/app/coffee/modules/tasks/detail.coffee +++ b/app/coffee/modules/tasks/detail.coffee @@ -288,30 +288,25 @@ TaskStatusButtonDirective = ($rootScope, $repo, $confirm, $loading) -> require: "ngModel" } -module.directive("tgTaskStatusButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$tgLoading", TaskStatusButtonDirective]) +module.directive("tgTaskStatusButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$tgLoading", + TaskStatusButtonDirective]) TaskIsIocaineButtonDirective = ($rootscope, $tgrepo, $confirm, $loading) -> template = """
- +
""" link = ($scope, $el, $attrs, $model) -> - $scope.$watch $attrs.ngModel, (task) -> - return if not task - - if task.is_iocaine - $el.find('.is-iocaine').addClass('active') - else - $el.find('.is-iocaine').removeClass('active') - - $scope.$on "$destroy", -> - $el.off() + isEditable = -> + return $scope.project.my_permissions.indexOf("modify_task") != -1 $el.on "click", ".is-iocaine", (event) -> + return if not isEditable() + task = $model.$modelValue.clone() task.is_iocaine = not task.is_iocaine $model.$setViewValue(task) @@ -328,6 +323,22 @@ TaskIsIocaineButtonDirective = ($rootscope, $tgrepo, $confirm, $loading) -> promise.finally -> $loading.finish($el.find('label')) + $scope.$watch $attrs.ngModel, (task) -> + return if not task + + if isEditable() + $el.find('.is-iocaine').addClass('editable') + else + $el.find('.is-iocaine').removeClass('editable') + + if task.is_iocaine + $el.find('.is-iocaine').addClass('active') + else + $el.find('.is-iocaine').removeClass('active') + + $scope.$on "$destroy", -> + $el.off() + return { link: link restrict: "EA" diff --git a/app/partials/task-detail.jade b/app/partials/task-detail.jade index bce0de6c..052648a1 100644 --- a/app/partials/task-detail.jade +++ b/app/partials/task-detail.jade @@ -55,7 +55,7 @@ block content section.watchers(tg-watchers, ng-model="task", required-perm="modify_task") section.us-detail-settings - fieldset(tg-task-is-iocaine-button, tg-check-permission="modify_task", ng-model="task") + tg-task-is-iocaine-button(ng-model="task") tg-block-button(tg-check-permission="modify_task", ng-model="task") tg-delete-button(tg-check-permission="delete_task", on-delete-title="'Delete Task'",