ModuleRbac_EntityPermission

Package application.modules.rbac
Inheritance class ModuleRbac_EntityPermission » EntityORM » Entity » LsObject
Since 2.0
Source Code /application/classes/modules/rbac/entity/Permission.entity.class.php
Сущность разрешения

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined 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_EntityPermission
aRelationsData array Список данных связей EntityORM
aValidateErrors array Список ошибок валидации в разрезе полей, например Entity
aValidateRules array Определяем правила валидации ModuleRbac_EntityPermission
bIsNew bool Флаг новая или нет сущность EntityORM
sPrimaryKey null|string Имя поля с первичным ключом в БД Entity
sValidateScenario string Сценарий валиадции полей Entity

Public Methods

Hide inherited methods

MethodDescriptionDefined 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_EntityPermission
ValidateCheckGroup() Валидация группы ModuleRbac_EntityPermission
_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
getTitleLang() ModuleRbac_EntityPermission
getUrlAdminRemove() Возвращает URL админки для удаления ModuleRbac_EntityPermission
getUrlAdminUpdate() Возвращает URL админки для редактирования ModuleRbac_EntityPermission
resetRelationsData() Сбрасывает данные необходимой связи EntityORM
setAncestors() Для сущности со связью RELATION_TYPE_TREE устанавливает предков EntityORM
setChildren() Для сущности со связью RELATION_TYPE_TREE устанавливает потомков EntityORM
setDescendants() Для сущности со связью RELATION_TYPE_TREE устанавливает потомков EntityORM
setParent() Для сущности со связью RELATION_TYPE_TREE устанавливает предка EntityORM

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
PrepareBehaviors() Инициализация поведений LsObject
_Method() Проксирует вызов методов в модуль сущности EntityORM
afterDelete() Хук, срабатывает после удаления сущности EntityORM
afterSave() Хук, срабатывает после сохранением сущности EntityORM
beforeDelete() Хук, срабатывает перед удалением сущности EntityORM
beforeSave() Выполняется перед сохранением ModuleRbac_EntityPermission

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/Permission.entity.class.php#83 (show)
public function ValidateCheckCode()
{
    
$sPlugin $this->getPlugin() ? $this->getPlugin() : '';
    if (
$oObject $this->Rbac_GetPermissionByCodeAndPlugin($this->getCode(), $sPlugin)) {
        if (
$this->getId() != $oObject->getId()) {
            return 
'Код должен быть уникальным';
        }
    }
    return 
true;
}

Валидация кода

ValidateCheckGroup() method
public bool|string ValidateCheckGroup()
{return} bool|string
Source Code: /application/classes/modules/rbac/entity/Permission.entity.class.php#64 (show)
public function ValidateCheckGroup()
{
    if (
$this->getGroupId()) {
        if (
$oObject $this->Rbac_GetGroupById($this->getGroupId())) {
            
$this->setGroupId($oObject->getId());
        } else {
            return 
'Неверная группа';
        }
    } else {
        
$this->setGroupId(null);
    }
    return 
true;
}

Валидация группы

beforeSave() method
protected bool beforeSave()
{return} bool
Source Code: /application/classes/modules/rbac/entity/Permission.entity.class.php#99 (show)
protected function beforeSave()
{
    if (
$bResult parent::beforeSave()) {
        if (
$this->_isNew()) {
            
$this->setDateCreate(date("Y-m-d H:i:s"));
        }
    }
    return 
$bResult;
}

Выполняется перед сохранением

getTitleLang() method
public void getTitleLang()
Source Code: /application/classes/modules/rbac/entity/Permission.entity.class.php#129 (show)
public function getTitleLang()
{
    return 
$this->Lang_Get($this->getTitle());
}

getUrlAdminRemove() method
public string getUrlAdminRemove()
{return} string
Source Code: /application/classes/modules/rbac/entity/Permission.entity.class.php#124 (show)
public function getUrlAdminRemove()
{
    return 
Router::GetPath('admin/users/rbac/permission-remove/' $this->getId());
}

Возвращает URL админки для удаления

getUrlAdminUpdate() method
public string getUrlAdminUpdate()
{return} string
Source Code: /application/classes/modules/rbac/entity/Permission.entity.class.php#114 (show)
public function getUrlAdminUpdate()
{
    return 
Router::GetPath('admin/users/rbac/permission-update/' $this->getId());
}

Возвращает URL админки для редактирования