- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/rest/controllers/scrum/kanban.php
- Класс: BitrixTasksRestControllersScrumKanban
- Вызов: Kanban::deleteTaskAction
public function deleteTaskAction(int $sprintId, int $taskId): bool
{
$sprintId = (int) $sprintId;
if (!$sprintId)
{
$this->errorCollection->add([new Error('Sprint id not found')]);
return false;
}
$taskId = (int) $taskId;
if (!$taskId)
{
$this->errorCollection->add([new Error('Task id not found')]);
return false;
}
$sprintService = new SprintService();
$sprint = $sprintService->getSprintById($sprintId);
if (!$sprint->getId())
{
$this->errorCollection->add([new Error('Sprint not found')]);
return false;
}
if (!$this->checkAccess($sprint->getGroupId()))
{
$this->errorCollection->add([new Error('Access denied')]);
return false;
}
$queryObject = CTasks::getList(
['ID' => 'ASC'],
[
'ID' => $taskId,
'GROUP_ID' => $sprint->getGroupId(),
'CHECK_PERMISSIONS' => 'N',
],
['ID']
);
if (!$queryObject->fetch())
{
$this->errorCollection->add([new Error('Task not found. The task must be with GROUP_ID')]);
return false;
}
$kanbanService = new KanbanService();
$kanbanService->removeTasksFromKanban($sprint->getId(), [$taskId]);
if ($kanbanService->getErrors())
{
$this->errorCollection->add($this->getErrors());
return false;
}
return true;
}