/** * {@inheritdoc} */ public function getAccessLevelNames() { if (!$this->hasOwner()) { return [AccessLevel::NONE_LEVEL => AccessLevel::NONE_LEVEL_NAME, AccessLevel::SYSTEM_LEVEL => AccessLevel::getAccessLevelName(AccessLevel::SYSTEM_LEVEL)]; } if ($this->isBasicLevelOwned()) { $maxLevel = AccessLevel::LOCAL_LEVEL; $minLevel = AccessLevel::BASIC_LEVEL; } elseif ($this->isLocalLevelOwned()) { $maxLevel = AccessLevel::LOCAL_LEVEL; $minLevel = AccessLevel::LOCAL_LEVEL; } else { throw new \BadMethodCallException(sprintf('Owner type %s is not supported', $this->ownerType)); } return AccessLevel::getAccessLevelNames($minLevel, $maxLevel); }
/** * {@inheritdoc} */ public function getAccessLevelNames() { if (!$this->hasOwner()) { return [AccessLevel::NONE_LEVEL => AccessLevel::NONE_LEVEL_NAME, AccessLevel::SYSTEM_LEVEL => AccessLevel::getAccessLevelName(AccessLevel::SYSTEM_LEVEL)]; } $minLevel = AccessLevel::BASIC_LEVEL; $maxLevel = AccessLevel::SYSTEM_LEVEL; if ($this->isBasicLevelOwned()) { $minLevel = AccessLevel::BASIC_LEVEL; $maxLevel = AccessLevel::GLOBAL_LEVEL; } elseif ($this->isLocalLevelOwned()) { $minLevel = AccessLevel::LOCAL_LEVEL; $maxLevel = AccessLevel::GLOBAL_LEVEL; } elseif ($this->isGlobalLevelOwned()) { $minLevel = AccessLevel::GLOBAL_LEVEL; $maxLevel = AccessLevel::GLOBAL_LEVEL; } return AccessLevel::getAccessLevelNames($minLevel, $maxLevel); }
/** * {@inheritdoc} */ public function getAccessLevelNames($object) { if ($this->getObjectClassName($object) === ObjectIdentityFactory::ROOT_IDENTITY_TYPE) { /** * In community version root entity should not have GLOBAL(Organization) access level */ return AccessLevel::getAccessLevelNames(AccessLevel::BASIC_LEVEL, AccessLevel::SYSTEM_LEVEL, [AccessLevel::GLOBAL_LEVEL]); } else { return $this->getMetadata($object)->getAccessLevelNames(); } }
/** * {@inheritdoc} */ public function getAccessLevelNames($object) { $minLevel = AccessLevel::BASIC_LEVEL; $maxLevel = AccessLevel::SYSTEM_LEVEL; if ($this->getObjectClassName($object) === ObjectIdentityFactory::ROOT_IDENTITY_TYPE) { /** * In community version root entity should not have GLOBAL(Organization) access level */ return AccessLevel::getAccessLevelNames($minLevel, $maxLevel, [AccessLevel::GLOBAL_LEVEL]); } else { $metadata = $this->getMetadata($object); if (!$metadata->hasOwner()) { return array(AccessLevel::NONE_LEVEL => AccessLevel::NONE_LEVEL_NAME, AccessLevel::SYSTEM_LEVEL => AccessLevel::getAccessLevelName(AccessLevel::SYSTEM_LEVEL)); } if ($metadata->isUserOwned()) { $maxLevel = AccessLevel::GLOBAL_LEVEL; $minLevel = AccessLevel::BASIC_LEVEL; } elseif ($metadata->isBusinessUnitOwned()) { $maxLevel = AccessLevel::GLOBAL_LEVEL; $minLevel = AccessLevel::LOCAL_LEVEL; } elseif ($metadata->isOrganizationOwned()) { $maxLevel = AccessLevel::GLOBAL_LEVEL; $minLevel = AccessLevel::GLOBAL_LEVEL; } } return AccessLevel::getAccessLevelNames($minLevel, $maxLevel); }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array('choices' => AccessLevel::getAccessLevelNames())); }
/** * {@inheritdoc} */ public function getAccessLevelNames($object) { if ($this->getObjectClassName($object) === ObjectIdentityFactory::ROOT_IDENTITY_TYPE) { $minLevel = AccessLevel::BASIC_LEVEL; } else { $metadata = $this->getMetadata($object); if (!$metadata->hasOwner()) { return array(AccessLevel::NONE_LEVEL => AccessLevel::NONE_LEVEL_NAME, AccessLevel::SYSTEM_LEVEL => AccessLevel::getAccessLevelName(AccessLevel::SYSTEM_LEVEL)); } if ($metadata->isUserOwned()) { $minLevel = AccessLevel::BASIC_LEVEL; } elseif ($metadata->isBusinessUnitOwned()) { $minLevel = AccessLevel::DEEP_LEVEL; } elseif ($metadata->isOrganizationOwned()) { $minLevel = AccessLevel::GLOBAL_LEVEL; } } return AccessLevel::getAccessLevelNames($minLevel); }