/** * @param \ride\web\security\model\orm\entry\RoleEntry $role * @return null */ public function setRole(AliasRoleEntry $role = NULL) { $isClean = false; if (!$this->role && !$role || $this->role && $role && $this->role->getId() === $role->getId()) { $isClean = true; } $this->role = $role; if (!$isClean && $this->entryState === self::STATE_CLEAN) { $this->entryState = self::STATE_DIRTY; } }
/** * @param \ride\web\security\model\orm\entry\RoleEntry $entry * @return null */ public function removeFromRoles(AliasRoleEntry $entry) { $this->getRoles(); $status = false; foreach ($this->roles as $rolesIndex => $rolesValue) { if ($rolesValue === $entry || $rolesValue->getId() === $entry->getId()) { unset($this->roles[$rolesIndex]); $status = true; break; } } if ($status && $this->entryState === self::STATE_CLEAN) { $this->entryState = self::STATE_DIRTY; } return $status; }
/** * @param \ride\web\security\model\orm\entry\RoleEntry $role * @return null */ public function setRole(RoleEntry $role = NULL) { if (!isset($this->loadedFields['role'])) { $this->loadProperties(); } $oldValue = null; if (array_key_exists('role', $this->loadedValues)) { $oldValue = $this->loadedValues['role']; } if (!$oldValue && !$role || $oldValue && $role && $oldValue->getId() === $role->getId()) { $this->role = $role; return; } return parent::setRole($role); }