summaryrefslogtreecommitdiff
path: root/app/Model
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2015-01-02 22:14:28 -0500
committerFrédéric Guillot <fred@kanboard.net>2015-01-02 22:14:28 -0500
commit5c6b67bd7605485db2b19a8838838b7c4455e3b6 (patch)
tree69594e840844bf59cab7cedd83a8a833234690de /app/Model
parent0ebdd4ddfd898628cc30e34e55e97f88e5e30a71 (diff)
Allow project managers to remove tasks
Diffstat (limited to 'app/Model')
-rw-r--r--app/Model/Acl.php1
-rw-r--r--app/Model/ProjectPermission.php2
-rw-r--r--app/Model/TaskPermission.php2
3 files changed, 2 insertions, 3 deletions
diff --git a/app/Model/Acl.php b/app/Model/Acl.php
index d717e12f..9c3f5e06 100644
--- a/app/Model/Acl.php
+++ b/app/Model/Acl.php
@@ -52,7 +52,6 @@ class Acl extends Base
'category' => '*',
'project' => array('edit', 'update', 'exporttasks', 'exportdailyprojectsummary', 'share', 'integration', 'users', 'alloweverybody', 'allow', 'setowner', 'revoke', 'duplicate', 'disable', 'enable'),
'swimlane' => '*',
- 'task' => array('remove'),
);
/**
diff --git a/app/Model/ProjectPermission.php b/app/Model/ProjectPermission.php
index 0249b3b1..02f3b428 100644
--- a/app/Model/ProjectPermission.php
+++ b/app/Model/ProjectPermission.php
@@ -198,7 +198,7 @@ class ProjectPermission extends Base
->table(self::TABLE)
->eq('project_id', $project_id)
->eq('user_id', $user_id)
- ->update(array('is_owner' => $is_owner));
+ ->update(array('is_owner' => (int) $is_owner));
}
/**
diff --git a/app/Model/TaskPermission.php b/app/Model/TaskPermission.php
index 53740a9a..e2420e10 100644
--- a/app/Model/TaskPermission.php
+++ b/app/Model/TaskPermission.php
@@ -20,7 +20,7 @@ class TaskPermission extends Base
*/
public function canRemoveTask(array $task)
{
- if ($this->userSession->isAdmin()) {
+ if ($this->userSession->isAdmin() || $this->projectPermission->isManager($task['project_id'], $this->userSession->getId())) {
return true;
}
else if (isset($task['creator_id']) && $task['creator_id'] == $this->userSession->getId()) {