- Модуль: documentgenerator
- Путь к файлу: ~/bitrix/modules/documentgenerator/lib/driver.php
- Класс: BitrixDocumentGeneratorDriver
- Вызов: Driver::installDefaultRoles
static function installDefaultRoles()
{
global $DB;
if(!$DB->TableExists(RoleTable::getTableName()))
{
return '\Bitrix\DocumentGenerator\Driver::installDefaultRoles();';
}
$rolesCount = RoleTable::getCount();
if($rolesCount > 0)
{
return '';
}
$role = new Role();
$role->setCode('ADMIN')->setName('ADMIN');
$addResult = $role->save();
if($addResult->isSuccess())
{
$role->setPermissions([
UserPermissions::ENTITY_SETTINGS => [
UserPermissions::ACTION_MODIFY => UserPermissions::PERMISSION_ANY,
],
UserPermissions::ENTITY_TEMPLATES => [
UserPermissions::ACTION_MODIFY => UserPermissions::PERMISSION_ANY,
],
UserPermissions::ENTITY_DOCUMENTS => [
UserPermissions::ACTION_MODIFY => UserPermissions::PERMISSION_ANY,
UserPermissions::ACTION_VIEW => UserPermissions::PERMISSION_ANY,
],
]);
RoleAccessTable::add(array(
'ROLE_ID' => $role->getId(),
'ACCESS_CODE' => 'G1'
));
}
$role = new Role();
$role->setCode('MANAGER')->setName('MANAGER');
$addResult = $role->save();
if($addResult->isSuccess())
{
$role->setPermissions([
UserPermissions::ENTITY_SETTINGS => [
UserPermissions::ACTION_MODIFY => UserPermissions::PERMISSION_ANY,
],
UserPermissions::ENTITY_TEMPLATES => [
UserPermissions::ACTION_MODIFY => UserPermissions::PERMISSION_ANY,
],
UserPermissions::ENTITY_DOCUMENTS => [
UserPermissions::ACTION_MODIFY => UserPermissions::PERMISSION_ANY,
UserPermissions::ACTION_VIEW => UserPermissions::PERMISSION_ANY,
],
]);
if(Loader::includeModule('intranet'))
{
$departmentTree = CIntranetUtils::GetDeparmentsTree();
$rootDepartment = (int)$departmentTree[0][0];
if ($rootDepartment > 0)
{
RoleAccessTable::add(array(
'ROLE_ID' => $role->getId(),
'ACCESS_CODE' => 'DR'.$rootDepartment
));
}
}
}
return "";
}