diff options
Diffstat (limited to 'app/Helper/BoardHelper.php')
-rw-r--r-- | app/Helper/BoardHelper.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/Helper/BoardHelper.php b/app/Helper/BoardHelper.php index f5df3db2..c3d28dc4 100644 --- a/app/Helper/BoardHelper.php +++ b/app/Helper/BoardHelper.php @@ -24,4 +24,20 @@ class BoardHelper extends Base { return $this->userMetadataCacheDecorator->get(UserMetadataModel::KEY_BOARD_COLLAPSED.$project_id, 0) == 1; } + + /** + * Return true if the task can be moved by the connected user + * + * @param array $task + * @return bool + */ + public function isDraggable(array $task) + { + if ($task['is_active'] == 1 && $this->helper->user->hasProjectAccess('BoardViewController', 'save', $task['project_id'])) { + $srcColumnIds = $this->columnMoveRestrictionCacheDecorator->getAllSrcColumns($task['project_id']); + return ! isset($srcColumnIds[$task['column_id']]); + } + + return false; + } } |