summaryrefslogtreecommitdiff
path: root/app/Helper
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-05-04 21:51:38 -0400
committerFrederic Guillot <fred@kanboard.net>2016-05-04 21:51:38 -0400
commit6bdc25490f02649242b1d96025f8da1f4c41884b (patch)
treeab30b54786c0c08f85facb6d0703f7837b4bc471 /app/Helper
parent60c8867feeeefcf160fb1432419887f17a0d957b (diff)
Unify task drop-down menu between different views
Diffstat (limited to 'app/Helper')
-rw-r--r--app/Helper/UserHelper.php33
1 files changed, 28 insertions, 5 deletions
diff --git a/app/Helper/UserHelper.php b/app/Helper/UserHelper.php
index c3369dfd..b39d7b62 100644
--- a/app/Helper/UserHelper.php
+++ b/app/Helper/UserHelper.php
@@ -3,6 +3,7 @@
namespace Kanboard\Helper;
use Kanboard\Core\Base;
+use Kanboard\Core\Security\Role;
/**
* User helpers
@@ -42,6 +43,17 @@ class UserHelper extends Base
}
/**
+ * Return the user full name
+ *
+ * @param array $user User properties
+ * @return string
+ */
+ public function getFullname(array $user = array())
+ {
+ return $this->user->getFullname(empty($user) ? $this->userSession->getAll() : $user);
+ }
+
+ /**
* Get user id
*
* @access public
@@ -149,13 +161,24 @@ class UserHelper extends Base
}
/**
- * Return the user full name
+ * Return true if the user can remove a task
*
- * @param array $user User properties
- * @return string
+ * Regular users can't remove tasks from other people
+ *
+ * @public
+ * @param array $task
+ * @return bool
*/
- public function getFullname(array $user = array())
+ public function canRemoveTask(array $task)
{
- return $this->user->getFullname(empty($user) ? $this->userSession->getAll() : $user);
+ if (isset($task['creator_id']) && $task['creator_id'] == $this->userSession->getId()) {
+ return true;
+ }
+
+ if ($this->userSession->isAdmin() || $this->getProjectUserRole($task['project_id']) === Role::PROJECT_MANAGER) {
+ return true;
+ }
+
+ return false;
}
}