diff --git a/services/src/main/java/org/exoplatform/task/util/TaskUtil.java b/services/src/main/java/org/exoplatform/task/util/TaskUtil.java index 41c0fd3ca..fcfc9ce1a 100755 --- a/services/src/main/java/org/exoplatform/task/util/TaskUtil.java +++ b/services/src/main/java/org/exoplatform/task/util/TaskUtil.java @@ -633,12 +633,6 @@ public static boolean hasEditPermission(TaskService taskService,TaskDto task) { Identity identity = ConversationState.getCurrent().getIdentity(); String userId = identity.getUserId(); - if ((task.getAssignee() != null && task.getAssignee().equals(identity.getUserId())) || - getCoworker(taskService,task.getId()).contains(userId) || - (task.getCreatedBy() != null && task.getCreatedBy().equals(userId))) { - return true; - } - if (task.getStatus() != null && task.getStatus().getProject() != null) { ProjectDto project = task.getStatus().getProject(); if (project.canView(identity)) { @@ -646,6 +640,11 @@ public static boolean hasEditPermission(TaskService taskService,TaskDto task) { } } + if ((task.getAssignee() != null && task.getAssignee().equals(identity.getUserId())) || + getCoworker(taskService,task.getId()).contains(userId)) { + return true; + } + return UserUtil.isPlatformAdmin(identity); } public static boolean hasEditPermission(TaskService taskService,Task task) {