• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/controllers/dod.php
  • Класс: BitrixTasksScrumControllersDoD
  • Вызов: DoD::processBeforeAction
protected function processBeforeAction(Action $action)
{
	if (!Loader::includeModule('socialnetwork'))
	{
		$this->errorCollection->setError(
			new Error(
				Loc::getMessage('TASKS_SDC_ERROR_INCLUDE_MODULE_ERROR'),
				self::ERROR_COULD_NOT_LOAD_MODULE
			)
		);

		return false;
	}

	$post = $this->request->getPostList()->toArray();

	$groupId = (is_numeric($post['groupId'] ?? null) ? (int) $post['groupId'] : 0);
	$taskId = (is_numeric($post['taskId'] ?? null) ? (int) $post['taskId'] : 0);
	$userId = User::getId();

	if ($taskId && !TaskAccessController::can($userId, ActionDictionary::ACTION_TASK_READ, $taskId))
	{
		$this->errorCollection->setError(
			new Error(
				Loc::getMessage('TASKS_SDC_ERROR_ACCESS_DENIED'),
				self::ERROR_ACCESS_DENIED
			)
		);

		return false;
	}

	if (!$taskId && !Group::canReadGroupTasks($userId, $groupId))
	{
		$this->errorCollection->setError(
			new Error(
				Loc::getMessage('TASKS_SDC_ERROR_ACCESS_DENIED'),
				self::ERROR_ACCESS_DENIED
			)
		);

		return false;
	}

	return parent::processBeforeAction($action);
}