- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/dispatcher/publicaction/task.php
- Класс: Bitrix\Tasks\Dispatcher\PublicAction\Task
- Вызов: Task::complete
public function complete($id)
{
$id = (int)$id;
$result = [];
$task = TaskModel::createFromId((int)$id);
if ($task->isClosed())
{
return $result;
}
if (!TaskAccessController::can($this->userId, ActionDictionary::ACTION_TASK_COMPLETE, $id))
{
$this->addForbiddenError();
return $result;
}
if (!TaskAccessController::can($this->userId, ActionDictionary::ACTION_TASK_COMPLETE_RESULT, $id))
{
$this->errors->add('RESULT_REQUIRED', Loc::getMessage('TASKS_ACTION_RESULT_REQUIRED'), false, ['ui' => 'notification']);
return $result;
}
if ($id = $this->checkTaskId($id))
{
// todo: move to \Bitrix\Tasks\Item\Task
$task = \CTaskItem::getInstance($id, Util\User::getId());
$task->complete();
}
return $result;
}