mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Доработка управления правами
This commit is contained in:
parent
fd1bafac78
commit
b93dbc048c
|
@ -68,6 +68,24 @@ class ModuleRbac_EntityGroup extends EntityORM {
|
|||
}
|
||||
return $bResult;
|
||||
}
|
||||
/**
|
||||
* Выполняется перед удалением сущности
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function beforeDelete() {
|
||||
if ($bResult=parent::beforeDelete()) {
|
||||
/**
|
||||
* Нужно сбросить группу у разрешений
|
||||
*/
|
||||
$aPermissionItems=$this->Rbac_GetPermissionItemsByGroupId($this->getId());
|
||||
foreach($aPermissionItems as $oPermission) {
|
||||
$oPermission->setGroupId(null);
|
||||
$oPermission->Update();
|
||||
}
|
||||
}
|
||||
return $bResult;
|
||||
}
|
||||
/**
|
||||
* Возвращает URL админки для редактирования
|
||||
*
|
||||
|
|
|
@ -36,6 +36,14 @@ class ModuleRbac_EntityPermission extends EntityORM {
|
|||
array('group_id','check_group'),
|
||||
);
|
||||
|
||||
/**
|
||||
* Связи ORM
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $aRelations=array(
|
||||
'roles' => array(self::RELATION_TYPE_MANY_TO_MANY,'ModuleRbac_EntityRole', 'role_id', 'ModuleRbac_EntityRolePermission', 'permission_id'),
|
||||
);
|
||||
/**
|
||||
* Валидация группы
|
||||
*
|
||||
|
|
|
@ -68,6 +68,24 @@ class ModuleRbac_EntityRole extends EntityORM {
|
|||
}
|
||||
return $bResult;
|
||||
}
|
||||
/**
|
||||
* Выполняется перед удалением
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function beforeDelete() {
|
||||
if ($bResult=parent::beforeDelete()) {
|
||||
/**
|
||||
* Запускаем удаление дочерних ролей
|
||||
*/
|
||||
if ($aCildren=$this->getChildren()) {
|
||||
foreach($aCildren as $oChildren) {
|
||||
$oChildren->Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
return $bResult;
|
||||
}
|
||||
/**
|
||||
* Валидация кода
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue