• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/access/install/accessinstaller.php
  • Класс: BitrixTasksAccessInstallAccessInstaller
  • Вызов: AccessInstaller::fillSystemPermissions
private function fillSystemPermissions()
{
	if (TasksPermissionTable::getCount())
	{
		return;
	}

	$map = RoleMap::getDefaultMap();

	$query = [];
	foreach ($map as $roleName => $permissions)
	{
		$role = TasksRoleTable::add([
			'NAME' => $roleName
		]);

		if (!$role->isSuccess())
		{
			// @ToDo add errors handler
			continue;
		}

		foreach ($permissions as $permission)
		{
			$query[] = '('. $role->getId() .', '. $permission .', '. PermissionDictionary::VALUE_YES .')';
		}
	}

	$query = '
		INSERT INTO b_tasks_permission
			(ROLE_ID, PERMISSION_ID, VALUE)
			VALUES '. implode(',', $query) .'
	';
	$this->db->Query($query);
}