summaryrefslogtreecommitdiff
path: root/app/Helper/BoardHelper.php
blob: c3d28dc4f6c45c1cbff210d7e576641b0da7aab7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

namespace Kanboard\Helper;

use Kanboard\Core\Base;
use Kanboard\Model\UserMetadataModel;

/**
 * Board Helper
 *
 * @package helper
 * @author  Frederic Guillot
 */
class BoardHelper extends Base
{
    /**
     * Return true if tasks are collapsed
     *
     * @access public
     * @param  integer   $project_id
     * @return boolean
     */
    public function isCollapsed($project_id)
    {
        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;
    }
}