ModuleRbac_EntityGroup
Package | application.modules.rbac |
---|---|
Inheritance | class ModuleRbac_EntityGroup » EntityORM » Entity » LsObject |
Since | 2.0 |
Source Code | /application/classes/modules/rbac/entity/Group.entity.class.php |
Сущность группы для логического объединения разрешений
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aBehaviors | Список поведений в виде готовых объектов, формируется автоматически | LsObject | |
_aData | array | Данные сущности, на этот массив мапятся методы set* и get* | Entity |
_aManyToManyRelations | array | Объекты связей many_to_many | EntityORM |
_aOriginalData | array | Массив исходных данных сущности | EntityORM |
aBehaviors | array | Список поведений | LsObject |
aFields | array | Список полей таблицы сущности | EntityORM |
aRelations | array | Связи ORM | ModuleRbac_EntityGroup |
aRelationsData | array | Список данных связей | EntityORM |
aValidateErrors | array | Список ошибок валидации в разрезе полей, например | Entity |
aValidateRules | array | Определяем правила валидации | ModuleRbac_EntityGroup |
bIsNew | bool | Флаг новая или нет сущность | EntityORM |
sPrimaryKey | null|string | Имя поля с первичным ключом в БД | Entity |
sValidateScenario | string | Сценарий валиадции полей | Entity |
Public Methods
Method | Description | Defined By |
---|---|---|
Add() | Добавление сущности в БД | EntityORM |
AddBehaviorHook() | Добавляет хук поведения | LsObject |
AttachBehavior() | Присоединяет поведение к объекту | LsObject |
Delete() | Удаление сущности из БД | EntityORM |
DetachBehavior() | Отсоединяет поведение от объекта | LsObject |
GetBehavior() | Возвращает объект поведения по его имени | LsObject |
GetBehaviors() | Возвращает все объекты поведения | LsObject |
Init() | Метод инициализации сущности, вызывается при её создании | Entity |
Reload() | Обновляет данные сущности из БД | EntityORM |
RemoveBehaviorHook() | Удаляет хук поведения | LsObject |
RunBehaviorHook() | Запускает хук поведения на выполнение | LsObject |
Save() | Сохранение сущности в БД (если новая то создается) | EntityORM |
ShowColumns() | Возвращает список полей сущности | EntityORM |
ShowPrimaryIndex() | Возвращает primary индекс сущности | EntityORM |
Update() | Обновление сущности в БД | EntityORM |
ValidateCheckCode() | Валидация кода группы | ModuleRbac_EntityGroup |
_SetIsNew() | Установка флага "новая" | EntityORM |
_Validate() | Выполняет валидацию данных сущности | Entity |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | EntityORM |
__clone() | При клонировании сбрасываем поведения | LsObject |
__construct() | Установка связей | EntityORM |
__get() | Используется для доступа к связанным данным типа MANY_TO_MANY | EntityORM |
_addValidateError() | Добавляет для поля ошибку в список ошибок | Entity |
_clearValidateErrors() | Очищает список всех ошибок или для конкретного поля | Entity |
_createValidators() | Создает и возвращает список валидаторов для сущности | Entity |
_getData() | Получает массив данных сущности | Entity |
_getDataArray() | Рекурсивное преобразование объекта и вложенных объектов в массив | Entity |
_getDataFields() | Возвращает данные для списка полей сущности | EntityORM |
_getDataOne() | Возвращает данные по конкретному полю | Entity |
_getField() | Возвращает поле в нужном формате | EntityORM |
_getFields() | Возвращает список полей сущности | EntityORM |
_getManyToManyRelationEntity() | Возвращает сущность связи при many to many | EntityORM |
_getOriginalData() | Возвращает все данные сущности | EntityORM |
_getOriginalDataOne() | Возвращает "оригинальные" данные по конкретному полю | EntityORM |
_getPrimaryKey() | Получение primary key из схемы таблицы | EntityORM |
_getPrimaryKeyValue() | Получение значения primary key | EntityORM |
_getRelations() | Возвращает список связей | EntityORM |
_getRelationsData() | Возвращает список данный связей | EntityORM |
_getTreeParentKey() | Получение имени родительского поля. Используется в связи RELATION_TYPE_TREE | EntityORM |
_getTreeParentKeyValue() | Получение значения родителя. Используется в связи RELATION_TYPE_TREE | EntityORM |
_getValidateError() | Возвращает первую ошибку для поля или среди всех полей | Entity |
_getValidateErrors() | Возвращает список ошибок для всех полей или одного поля | Entity |
_getValidateRules() | Возвращает список правил для валидации | Entity |
_getValidateScenario() | Возвращает текущий сценарий валидации | Entity |
_getValidators() | Возвращает список валидаторов с учетом текущего сценария | Entity |
_hasValidateErrors() | Проверяет есть ли ошибки валидации | Entity |
_isNew() | Новая или нет сущность | EntityORM |
_setData() | Устанавливает данные сущности | EntityORM |
_setDataSafe() | Устанавливает данные, но только те, которые есть в $this->aValidateRules | Entity |
_setManyToManyRelations() | Устанавливает вспомогательные объекты для связи many_to_many | EntityORM |
_setRelationsData() | Устанавливает данные связей | EntityORM |
_setValidateScenario() | Устанавливает сценарий валидации | Entity |
getAncestors() | Для сущности со связью RELATION_TYPE_TREE возвращает список всех предков | EntityORM |
getChildren() | Для сущности со связью RELATION_TYPE_TREE возвращает список прямых потомков | EntityORM |
getDescendants() | Для сущности со связью RELATION_TYPE_TREE возвращает список всех потомков | EntityORM |
getParent() | Для сущности со связью RELATION_TYPE_TREE возвращает предка | EntityORM |
getUrlAdminRemove() | Возвращает URL админки для удаления | ModuleRbac_EntityGroup |
getUrlAdminUpdate() | Возвращает URL админки для редактирования | ModuleRbac_EntityGroup |
resetRelationsData() | Сбрасывает данные необходимой связи | EntityORM |
setAncestors() | Для сущности со связью RELATION_TYPE_TREE устанавливает предков | EntityORM |
setChildren() | Для сущности со связью RELATION_TYPE_TREE устанавливает потомков | EntityORM |
setDescendants() | Для сущности со связью RELATION_TYPE_TREE устанавливает потомков | EntityORM |
setParent() | Для сущности со связью RELATION_TYPE_TREE устанавливает предка | EntityORM |
Protected Methods
Method | Description | Defined By |
---|---|---|
PrepareBehaviors() | Инициализация поведений | LsObject |
_Method() | Проксирует вызов методов в модуль сущности | EntityORM |
afterDelete() | Хук, срабатывает после удаления сущности | EntityORM |
afterSave() | Хук, срабатывает после сохранением сущности | EntityORM |
beforeDelete() | Выполняется перед удалением сущности | ModuleRbac_EntityGroup |
beforeSave() | Выполняется перед сохранением | ModuleRbac_EntityGroup |
Property Details
aRelations
property
protected array $aRelations;
Связи ORM
aValidateRules
property
protected array $aValidateRules;
Определяем правила валидации
Method Details
ValidateCheckCode()
method
public bool|string ValidateCheckCode()
| ||
{return} | bool|string |
Source Code: /application/classes/modules/rbac/entity/Group.entity.class.php#54 (show)
public function ValidateCheckCode()
{
if ($oObject = $this->Rbac_GetGroupByCode($this->getCode())) {
if ($this->getId() != $oObject->getId()) {
return 'Код должен быть уникальным';
}
}
return true;
}
Валидация кода группы
beforeDelete()
method
protected bool beforeDelete()
| ||
{return} | bool |
Source Code: /application/classes/modules/rbac/entity/Group.entity.class.php#84 (show)
protected function beforeDelete()
{
if ($bResult = parent::beforeDelete()) {
/**
* Нужно сбросить группу у разрешений
*/
$aPermissionItems = $this->Rbac_GetPermissionItemsByGroupId($this->getId());
foreach ($aPermissionItems as $oPermission) {
$oPermission->setGroupId(null);
$oPermission->Update();
}
}
return $bResult;
}
Выполняется перед удалением сущности
beforeSave()
method
protected bool beforeSave()
| ||
{return} | bool |
Source Code: /application/classes/modules/rbac/entity/Group.entity.class.php#69 (show)
protected function beforeSave()
{
if ($bResult = parent::beforeSave()) {
if ($this->_isNew()) {
$this->setDateCreate(date("Y-m-d H:i:s"));
}
}
return $bResult;
}
Выполняется перед сохранением
getUrlAdminRemove()
method
public string getUrlAdminRemove()
| ||
{return} | string |
Source Code: /application/classes/modules/rbac/entity/Group.entity.class.php#114 (show)
public function getUrlAdminRemove()
{
return Router::GetPath('admin/users/rbac/group-remove/' . $this->getId());
}
Возвращает URL админки для удаления
getUrlAdminUpdate()
method
public string getUrlAdminUpdate()
| ||
{return} | string |
Source Code: /application/classes/modules/rbac/entity/Group.entity.class.php#104 (show)
public function getUrlAdminUpdate()
{
return Router::GetPath('admin/users/rbac/group-update/' . $this->getId());
}
Возвращает URL админки для редактирования