• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/access/install/accessinstaller.php
  • Класс: BitrixTasksAccessInstallAccessInstaller
  • Вызов: AccessInstaller::fillRelations
private function fillRelations()
{
	$res = TasksRoleRelationTable::getList([
		'select' => ['ID', 'RELATION']
	]);
	while ($row = $res->fetch())
	{
		if (preg_match('/^Gd+$/', $row['RELATION']))
		{
			TasksRoleRelationTable::delete($row['ID']);
		}
	}

	$res = TasksRoleTable::getList([
		'select' => ['ID', 'NAME']
	]);

	while ($role = $res->fetch())
	{
		$query = null;

		if ($role['NAME'] === RoleDictionary::TASKS_ROLE_CHIEF)
		{
			$query = '
				INSERT INTO b_tasks_role_relation 
				    (ROLE_ID, RELATION)
				    VALUES ('. $role['ID'] .', ''. AccessCode::ACCESS_DIRECTOR .'0')';
		}
		elseif ($role['NAME'] === RoleDictionary::TASKS_ROLE_MANAGER)
		{
			$query = '
				INSERT INTO b_tasks_role_relation 
				    (ROLE_ID, RELATION)
				    VALUES ('. $role['ID'] .', ''. AccessCode::ACCESS_EMPLOYEE .'0')';
		}

		if ($query)
		{
			$this->db->Query($query);
		}
	}
}