diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-05-04 21:51:38 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-05-04 21:51:38 -0400 |
commit | 6bdc25490f02649242b1d96025f8da1f4c41884b (patch) | |
tree | ab30b54786c0c08f85facb6d0703f7837b4bc471 /app/Helper | |
parent | 60c8867feeeefcf160fb1432419887f17a0d957b (diff) |
Unify task drop-down menu between different views
Diffstat (limited to 'app/Helper')
-rw-r--r-- | app/Helper/UserHelper.php | 33 |
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; } } |