• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/access/rule/taskdelegaterule.php
  • Класс: BitrixTasksAccessRuleTaskDelegateRule
  • Вызов: TaskDelegateRule::canDelegate
private function canDelegate()
{
	if ($this->oldTask->isMember($this->user->getUserId(), RoleDictionary::ROLE_DIRECTOR))
	{
		return true;
	}

	if (
		$this->oldTask->isMember($this->user->getUserId(), RoleDictionary::ROLE_RESPONSIBLE)
		&& $this->user->getPermission(PermissionDictionary::TASK_RESPONSE_DELEGATE)
	)
	{
		return true;
	}

	if ($this->isSubordinateTask($this->oldTask))
	{
		return true;
	}

	if (
		$this->oldTask->getGroupId()
		&& Loader::includeModule("socialnetwork")
		&& BitrixSocialnetworkInternalsRegistryFeaturePermRegistry::getInstance()->get(
			$this->oldTask->getGroupId(),
			'tasks',
			'edit_tasks',
			$this->user->getUserId()
		)
	)
	{
		return true;
	}

	return false;
}