Skip to content
Snippets Groups Projects
Commit 2ee0c50d authored by Sebastien ANDRE's avatar Sebastien ANDRE
Browse files

remove entity digitalresource

parent 2779fb1c
No related merge requests found
Pipeline #35029 failed with stage
in 2 minutes and 17 seconds
This commit is part of merge request !5006. Comments created here will be created in the context of that merge request.
......@@ -20,15 +20,16 @@
*/
class Class_DigitalResource extends Class_Entity
class Class_DigitalResource
{
use Trait_StormFileSystem;
protected ?Class_DigitalResource_ConfigProvider $_config_provider = null;
protected static ?Storm_Collection $_plugins = null;
protected static $_instance;
protected ?array $_batches = null;
public static function getInstance()
public static function getInstance(): self
{
if ( ! static::$_instance)
static::$_instance = new static;
......@@ -86,6 +87,20 @@ class Class_DigitalResource extends Class_Entity
}
public function getConfigProvider(): ?Class_DigitalResource_ConfigProvider
{
return $this->_config_provider;
}
public function setConfigProvider(?Class_DigitalResource_ConfigProvider $provider): self
{
$this->_config_provider = $provider;
return $this;
}
public function bootstrap(Zend_Controller_Front $front_controller): self
{
$this->getPlugins()->eachDo(fn($config) => $config->registerFrontController($front_controller));
......@@ -94,10 +109,10 @@ class Class_DigitalResource extends Class_Entity
}
public function enablePluginWith(string $admin_var)
public function enablePluginWith(string $admin_var): ?Class_DigitalResource_Config
{
if ( ! $config = $this->getConfigWith($admin_var))
return $this;
return null;
return $config->enablePlugin();
}
......@@ -212,19 +227,13 @@ class Class_DigitalResource extends Class_Entity
}
public function hasRightAccessPlugin($plugin, $user): bool
public function hasRightAccessPlugin(string $plugin, Class_Users $user): bool
{
if ( ! $this->isPluginDocType($plugin))
return false;
if ( ! $this->hasPermissionOn($plugin, $user))
return false;
return true;
return $this->isPluginDocType($plugin) && $this->hasPermissionOn($plugin, $user);
}
public function hasPermissionOn($plugin, $user): bool
public function hasPermissionOn(string $plugin, Class_Users $user): bool
{
if ( ! $config = $this->configFor($plugin))
return false;
......@@ -422,14 +431,6 @@ class Class_DigitalResource extends Class_Entity
}
protected function getConfigProvider()
{
return $this->get('ConfigProvider')
? $this->get('ConfigProvider')
: new Class_DigitalResource_ConfigProvider;
}
public function isAdminVarOn(string $plugin, string $name): bool
{
return Class_AdminVar::isModuleEnabled($this->withNamespace($plugin, $name));
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment