Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
CRAP | |
0.00% |
0 / 34 |
TaskListWidget | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
42 | |
0.00% |
0 / 34 |
run | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 17 |
|||
getNonCompletedTasks | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
getCompletedTasksQuery | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
getTitle | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
getData | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 8 |
<?php | |
/** | |
* @link https://www.humhub.org/ | |
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG | |
* @license https://www.humhub.com/licences | |
* | |
*/ | |
namespace humhub\modules\tasks\widgets\lists; | |
use humhub\modules\content\components\ContentContainerActiveRecord; | |
use humhub\modules\tasks\helpers\TaskListUrl; | |
use humhub\modules\tasks\models\Task; | |
use humhub\modules\tasks\models\lists\TaskListInterface; | |
use humhub\widgets\JsWidget; | |
use Yii; | |
class TaskListWidget extends JsWidget | |
{ | |
/** | |
* @inheritdocs | |
*/ | |
public $init = true; | |
/** | |
* @inheritdocs | |
*/ | |
public $jsWidget = 'task.list.TaskList'; | |
/** | |
* @var TaskListInterface | |
*/ | |
public $list; | |
/** | |
* @var Task[] | null | |
*/ | |
public $tasks; | |
public $canBeSorted = true; | |
public $canManage = false; | |
public $canCreate = false; | |
/** | |
* @inheritdocs | |
*/ | |
public function run() | |
{ | |
$completedTasksQuery = $this->getCompletedTasksQuery(); | |
$countQuery = clone $completedTasksQuery; | |
$tasks = $this->getNonCompletedTasks(); | |
return $this->render('taskList', [ | |
'list' => $this->list, | |
'title' => $this->getTitle(), | |
'tasks' => $tasks, | |
'canManage' => $this->canManage, | |
'canSort' => $this->canManage && $this->canBeSorted, | |
'canCreate' => $this->canCreate, | |
'completedTasks' => $completedTasksQuery->limit(3)->all(), | |
'completedTasksCount' => $countQuery->count(), | |
'options' => $this->getOptions(), | |
'color' => $this->list->getColor(), | |
]); | |
} | |
protected function getNonCompletedTasks() | |
{ | |
return $this->list->getNonCompletedTasks()->all(); | |
} | |
protected function getCompletedTasksQuery() | |
{ | |
return $this->list->getCompletedTasks(); | |
} | |
protected function getTitle() | |
{ | |
return $this->list->getTitle(); | |
} | |
public function getData() | |
{ | |
return [ | |
'task-list-id' => $this->list->getId(), | |
'can-manage' => $this->canManage, | |
'reload-url' => TaskListUrl::reloadTaskList($this->list), | |
'drop-task-url' => TaskListUrl::dropTaskListTask($this->list) | |
]; | |
} | |
} |