All Data Structures Functions Variables Pages
Public Member Functions | Static Public Member Functions | Data Fields
NamedSecurableItem Class Reference
Inheritance diagram for NamedSecurableItem:
SecurableItem Item CustomFieldsModel RedBeanModel BeanModel ObservableComponent

Public Member Functions

 save ($runValidation=true, array $attributeNames=null)
 
 getActualPermissions ($permitable=null)
 
 processGetActualPermissionsAsNonOptimized ()
 
 __get ($attributeName)
 
 checkPermissionsHasAnyOf ($requiredPermissions, User $user=null)
 
- Public Member Functions inherited from SecurableItem
 getExplicitReadWriteModelPermissionsForWorkflow ()
 
 setExplicitReadWriteModelPermissionsForWorkflow (ExplicitReadWriteModelPermissions $permissions)
 
 clearExplicitReadWriteModelPermissionsForWorkflow ()
 
 getEffectivePermissions ($permitable=null)
 
 getActualPermissions ($permitable=null)
 
 processGetActualPermissionsAsNonOptimized ()
 
 getPropagatedActualAllowPermissions (Permitable $permitable)
 
 getExplicitActualPermissions ($permitable=null)
 
 getInheritedActualPermissions ($permitable=null)
 
 addPermissions (Permitable $permitable, $permissions, $type=Permission::ALLOW)
 
 removePermissions (Permitable $permitable, $permissions=Permission::ALL, $type=Permission::ALLOW_DENY)
 
 removeAllPermissions ()
 
 __get ($attributeName)
 
 __set ($attributeName, $value)
 
 delete ()
 
 checkPermissionsHasAnyOf ($requiredPermissions, User $user=null)
 
 addPermitableToAttachAfterSave (Permitable $permitable, $checkDetachBeforeAddition=false)
 
 removePermitableFromPermitablesToAttachAfterSave (Permitable $permitable)
 
 addPermitableToDetachAfterSave (Permitable $permitable, $checkAttachBeforeAddition=false)
 
 removePermitableFromPermitablesToDetachAfterSave (Permitable $permitable)
 
 arePermissionsChanged ()
 
- Public Member Functions inherited from Item
 onCreated ()
 
 onModified ()
 
 __set ($attributeName, $value)
 
 delete ()
 
 save ($runValidation=true, array $attributeNames=null)
 
 addWorkflowToProcessAfterSave (Workflow $workflow)
 
 getWorkflowsToProcessAfterSave ()
 
 setDoNotProcessWorkflowOnSave ()
 
 setProcessWorkflowOnSave ()
 
 shouldProcessWorkflowOnSave ()
 
 forgetOriginalAttributeValues ()
 
 testBeforeDelete ()
 
 isAttributeAudited ($attributeName)
 
 isAllowedToSetReadOnlyAttribute ($attributeName)
 
- Public Member Functions inherited from RedBeanModel
 getIsNewModel ()
 
 __construct ($setDefaults=true, RedBean_OODBBean $bean=null, $forceTreatAsCreation=false, $runConstruction=true)
 
 serialize ()
 
 unserialize ($data)
 
 getPrimaryBean ()
 
 getClassId ($modelClassName)
 
 getClassBean ($modelClassName)
 
 getModelIdentifier ()
 
 castDown (array $derivedModelClassNames)
 
 isSame (RedBeanModel $model)
 
 __toString ()
 
 __get ($attributeName)
 
 __set ($attributeName, $value)
 
 __isset ($attributeName)
 
 __unset ($attributeName)
 
 attributeNames ()
 
 isAttribute ($attributeName)
 
 isAttributeWithLowerCaseConversion ($attributeName)
 
 isAttributeReadOnly ($attributeName)
 
 isAttributeFormattedAsProbability ($attributeName)
 
 isAllowedToSetReadOnlyAttribute ($attributeName)
 
 rules ()
 
 behaviors ()
 
 attributeLabels ()
 
 abbreviatedAttributeLabels ()
 
 validate (array $attributeNames=null, $ignoreRequiredValidator=false)
 
 onBeforeValidate (CModelEvent $event)
 
 onAfterValidate ($event)
 
 getValidatorList ()
 
 getValidators ($attributeName=null)
 
 forgetValidators ()
 
 createValidators ()
 
 isUniqueAttributeValue ($attributeName, $value)
 
 save ($runValidation=true, array $attributeNames=null)
 
 isRelatedModelReallyModified ($relatedModel, $relationType, $isOwned)
 
 isReallyModified ($relationType, $isOwned)
 
 onBeforeSave ($event)
 
 onAfterSave ($event)
 
 onRedBeanOneToManyRelatedModelsChange ($event)
 
 onBeforeDelete ($event)
 
 onAfterDelete ($event)
 
 isModified ()
 
 delete ()
 
 isDeleted ()
 
 isDeletable ()
 
 forget ()
 
 isAttributeRequired ($attributeName)
 
 isAttributeSafe ($attributeName)
 
 getAttributeLabel ($attributeName)
 
 getAttributeLabelsForAllActiveLanguagesByAttributeName ($attributeName)
 
 hasErrors ($attributeNameOrNames=null)
 
 getErrors ($attributeNameOrNames=null)
 
 getError ($attributeName)
 
 addError ($attributeName, $errorMessage)
 
 addErrors (array $errors)
 
 clearErrors ($attributeName=null)
 
 generateAttributeLabel ($attributeName)
 
 getAttributes (array $attributeNames=null)
 
 setAttributes (array $values, $safeOnly=true)
 
 unsetAttributes ($attributeNames=null)
 
 onUnsafeAttribute ($name, $value)
 
 getScenario ()
 
 setScenario ($scenarioName)
 
 getSafeAttributeNames ()
 
 getIterator ()
 
 offsetExists ($offset)
 
 offsetGet ($offset)
 
 offsetSet ($offset, $item)
 
 offsetUnset ($offset)
 
 stringifyOneToManyRelatedModelsValues ($values)
 
 setIsCopied ()
 
 isCopied ()
 
 addValidator ($attribute, $validator, $params=array())
 
- Public Member Functions inherited from ObservableComponent
 init ()
 
 attachEvents ($events)
 
 events ()
 
 attachEventHandler ($name, $handler)
 
 detachEventHandler ($name, $handler)
 

Static Public Member Functions

static getByName ($name)
 
static getDefaultMetadata ()
 
static isTypeDeletable ()
 
- Static Public Member Functions inherited from SecurableItem
static getDefaultMetadata ()
 
static isTypeDeletable ()
 
static hasReadPermissionsOptimization ()
 
- Static Public Member Functions inherited from Item
static getDefaultMetadata ()
 
static isTypeDeletable ()
 
static getGamificationRulesType ()
 
static getNonConfigurableAttributes ()
 
static getByName ($name)
 
- Static Public Member Functions inherited from CustomFieldsModel
static getCanHaveBean ()
 
- Static Public Member Functions inherited from RedBeanModel
static model ($className=null)
 
static getAll ($orderBy=null, $sortDescending=false, $modelClassName=null)
 
static getSubset (RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter=null, $offset=null, $count=null, $where=null, $orderBy=null, $modelClassName=null, $selectDistinct=false)
 
static getSubsetIds (RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter=null, $offset=null, $count=null, $where=null, $orderBy=null, $modelClassName=null, $selectDistinct=false)
 
static makeSubsetOrCountSqlQuery ($tableName, RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter, $offset=null, $count=null, $where=null, $orderBy=null, $selectCount=false, $selectDistinct=false, array $quotedExtraSelectColumnNameAndAliases=array())
 
static getCount (RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter=null, $where=null, $modelClassName=null, $selectDistinct=false)
 
static getById ($id, $modelClassName=null)
 
static deleteAll ()
 
static mangleTableName ()
 
static getTableName ()
 
static getTableNames ($classNames)
 
static getForeignKeyName ($modelClassName, $relationName)
 
static getModelClassNameByIdentifier ($identifier)
 
static getMetadata ()
 
static canSaveMetadata ()
 
static setMetadata (array $metadata)
 
static getDefaultMetadata ()
 
static isTypeDeletable ()
 
static forgetAll ()
 
static getModelLabelByTypeAndLanguage ($type, $language=null)
 
static getAnAttributeLabel ($attributeName)
 
static makeModel (RedBean_OODBBean $bean, $modelClassName=null)
 
static makeModels (array $beans, $modelClassName=null)
 
static getModuleClassName ()
 
static getLastClassInBeanHeirarchy ()
 
static getSortAttributesByAttribute ($attribute)
 
static isCacheable ()
 
static getYiiValidatorsToRedBeanValidators ()
 
static getHasManyOpposingRelationName (RedBeanModel $model, $precedingModelClassName, $precedingRelation)
 
static relationLinksToPrecedingRelation ($modelClassName, $relation, $precedingModelClassName=null, $precedingRelation=null)
 
static allowMemcacheCache ()
 
- Static Public Member Functions inherited from BeanModel
static getCanHaveBean ()
 
static getMetadata ()
 
static isAnAttribute ($attributeName)
 
static resolveAttributeModelClassName ($attributeName)
 
static getAttributeModelClassName ($attributeName)
 
static isRelation ($attributeName)
 
static isOwnedRelation ($attributeName)
 
static getRelationType ($relationName)
 
static getRelationModelClassName ($relationName)
 
static getRelationLinkType ($relationName)
 
static getRelationLinkName ($relationName)
 
static isRelationTypeAHasManyVariant ($relationName)
 
static isRelationTypeAHasOneVariant ($relationName)
 
static isADerivedRelationViaCastedUpModel ($relationName)
 
static getDerivedRelationType ($relationName)
 
static getDerivedRelationModelClassName ($relationName)
 
static getDerivedRelationViaCastedUpModelOpposingRelationName ($relationName)
 
static getInferredRelationModelClassNamesForRelation ($relation)
 
static getColumnNameByAttribute ($attributeName)
 
static getAttributeNames ()
 
static generateAnAttributeLabel ($attributeName)
 
static getAbbreviatedAttributeLabel ($attributeName)
 
static getTranslatedAttributeLabels ($language)
 
static getMixedInModelClassNames ()
 
static isRelationTypeAManyManyVariant ($relationName)
 

Data Fields

 $allowChangePermissionsRegardlessOfUser = false
 
- Data Fields inherited from Item
 $originalAttributeValues = array()
 
- Data Fields inherited from RedBeanModel
const MODEL_IDENTIFIER_DELIMITER = '_'
 
- Data Fields inherited from BeanModel
const HAS_ONE_BELONGS_TO = 0
 
const HAS_MANY_BELONGS_TO = 1
 
const HAS_ONE = 2
 
const HAS_MANY = 3
 
const MANY_MANY = 4
 
const OWNED = true
 
const NOT_OWNED = false
 
const CACHE_IDENTIFIER = 'BeanModelMapping'
 
const LINK_TYPE_ASSUMPTIVE = 0
 
const LINK_TYPE_SPECIFIC = 1
 
const LINK_TYPE_POLYMORPHIC = 2
 

Additional Inherited Members

- Protected Member Functions inherited from SecurableItem
 recursiveGetPropagatedAllowPermissions ($role)
 
 getAllDescendentRoles ($role)
 
 afterSave ()
 
 resolvePermitablesToUpdate ()
 
 updatePermitables (ExplicitReadWriteModelPermissions $explicitReadWriteModelPermissions)
 
 isPermitableUpdateRequired (ExplicitReadWriteModelPermissions $explicitReadWriteModelPermissions)
 
 resolveRelativePermitablesToBeUpdated (ExplicitReadWriteModelPermissions $explicitReadWriteModelPermissions)
 
 resolvePermitablesToAttach (ExplicitReadWriteModelPermissions $explicitReadWriteModelPermissions)
 
 resolvePermitablesToDetach (ExplicitReadWriteModelPermissions $explicitReadWriteModelPermissions)
 
- Protected Member Functions inherited from Item
 beforeSave ()
 
 afterSave ()
 
 logAuditEventsListForModified ($newModel)
 
- Protected Member Functions inherited from CustomFieldsModel
 unrestrictedGet ($attributeName)
 
 constructDerived ($bean, $setDefaults)
 
- Protected Member Functions inherited from RedBeanModel
 constructDerived ($bean, $setDefaults)
 
 constructIncomplete ($bean)
 
 setNotModified ()
 
 onCreated ()
 
 onLoaded ()
 
 onModified ()
 
 mapAndCacheMetadataAndSetHints ($modelClassName, RedBean_OODBBean $bean)
 
 runDefaultValidators ()
 
 setClassBean ($modelClassName, RedBean_OODBBean $bean)
 
 unrestrictedGet ($attributeName)
 
 unrestrictedSet ($attributeName, $value)
 
 beforeValidate ()
 
 afterValidate ()
 
 beforeSave ()
 
 afterSave ()
 
 linkBeans ()
 
 beforeDelete ()
 
 afterDelete ()
 
 unrestrictedDelete ()
 
 deleteOwnedRelatedModels ($modelClassName)
 
 deleteForeignRelatedModels ($modelClassName)
 
 deleteManyManyRelations ($modelClassName)
 
- Static Protected Member Functions inherited from Item
static getByNameOrEquivalent ($attributeName, $value)
 
static translatedAttributeLabels ($language)
 
- Static Protected Member Functions inherited from RedBeanModel
static makeCasedLinkName ($relationType, $linkType, $relationLinkName)
 
static getModelIdentifierByClassNameAndBeanId ($modelClassName, $beanId)
 
static assertMetadataIsValid (array $metadata)
 
static getByRelatedClassId ($relatedModelClassName, $id, $modelClassName=null)
 
static getLabel ($language=null)
 
static getPluralLabel ($language=null)
 
static getAttributeLabelByLanguage ($attributeName, $language)
 
static getTranslatedCustomAttributeLabelByLanguage ($attributeName, $languageCode)
 
static resolveModelClassNameForClassesWithoutBeans (&$modelClassName)
 
- Static Protected Member Functions inherited from BeanModel
static translatedAbbreviatedAttributeLabels ($language)
 
static translatedAttributeLabels ($language)
 
static getAttributeNamesToClassNamesForModel ()
 
static getAttributeNamesNotBelongsToOrManyManyForModel ()
 
static getRelationNameToRelationTypeModelClassNameAndOwnsForModel ()
 
static getDerivedRelationNameToTypeModelClassNameAndOppposingRelationForModel ()
 
static forgetBeanModel ($modelClassName)
 
static forgetAllBeanModels ()
 
static resolveCacheAndMapMetadataForAllClassesInHeirarchy ()
 
static resolveCachedMetadataForIntegrity ($cachedData)
 
static resolveLinkTypeAndRelationLinkName ($relationTypeModelClassNameAndOwns, &$linkType, &$relationLinkName)
 
- Protected Attributes inherited from Item
 $isSetting = false
 
 $isAudited = true
 
- Protected Attributes inherited from RedBeanModel
 $modelClassNameToBean = array()
 
 $attributeNameToBeanAndClassName = array()
 
 $relationNameToRelatedModel = array()
 
 $unlinkedRelationNames = array()
 
 $unlinkedOwnedRelatedModelsToRemove = array()
 
 $validators = array()
 
 $attributeNameToErrors = array()
 
 $scenarioName = ''
 
 $modified = false
 
 $deleted = false
 
 $isInIsModified = false
 
 $isInHasErrors = false
 
 $isInGetErrors = false
 
 $isValidating = false
 
 $isSaving = false
 
 $isDeleting = false
 
 $isNewModel = false
 
 $isCopied = false
 
 $isSavableFromRelation = true
 
- Static Protected Attributes inherited from CustomFieldsModel
static $lastClassInBeanHeirarchy = 'CustomFieldsModel'
 
- Static Protected Attributes inherited from RedBeanModel
static $lastClassInBeanHeirarchy = 'RedBeanModel'
 
static $attributeLabelsByLanguage = array()
 
- Static Protected Attributes inherited from BeanModel
static $lastClassInBeanHeirarchy = 'BeanModel'
 

Detailed Description

Definition at line 37 of file NamedSecurableItem.php.

Member Function Documentation

static getByName (   $name)
static

Given a name, check the cache if the model is cached and return. Otherwise check the database for the record, cache and return this model.

Parameters
string$name

Definition at line 50 of file NamedSecurableItem.php.

save (   $runValidation = true,
array  $attributeNames = null 
)

Any changes to the model must be re-cached.

See Also
RedBeanModel::save()

Definition at line 103 of file NamedSecurableItem.php.

getActualPermissions (   $permitable = null)

Override to add caching capabilities of this information.

See Also
SecurableItem::getActualPermissions()

Definition at line 117 of file NamedSecurableItem.php.

processGetActualPermissionsAsNonOptimized ( )

When there are many nested roles/groups, it is best to process non-security-optimized otherwise, the stored procedures are slow. Eventually need to probably remove stored procedures entirely, but for now this will be utilized. This should return true if you have many nested roles/groups.

Returns
bool

Definition at line 150 of file NamedSecurableItem.php.

__get (   $attributeName)

Override for the 'name' attribute since 'name' can be retrieved regardless of permissions of the user asking for it.

See Also
SecurableItem::__get()

Definition at line 160 of file NamedSecurableItem.php.

checkPermissionsHasAnyOf (   $requiredPermissions,
User  $user = null 
)

Override to handle situation where the user should have permissions regardless of the permission afforded that user. This can happen if a user can modify groups, which would include modifying the NamedSecurableItems for the various modules, but does not have access to all those modules.

Parameters
$requiredPermissions
null | User$user
Exceptions
AccessDeniedSecurityException

Definition at line 177 of file NamedSecurableItem.php.


The documentation for this class was generated from the following file:
Generated on Fri Jan 24 2020 07:10:38