From 8428df3b05699186e6ca695747b1d9010df5f97d Mon Sep 17 00:00:00 2001 From: Nattfarinn Date: Mon, 11 Dec 2017 19:08:32 +0100 Subject: [PATCH] fix: Remove SiteAccess generation and rely on manual configuration --- src/bundle/EzPlatformAdminUiBundle.php | 7 +-- .../Resources/config/default_parameters.yml | 10 ++-- src/bundle/Resources/config/views.yml | 2 +- .../RequestAttributesListener.php | 4 +- src/lib/SiteAccess/AdminFilter.php | 53 ------------------- 5 files changed, 10 insertions(+), 66 deletions(-) delete mode 100644 src/lib/SiteAccess/AdminFilter.php diff --git a/src/bundle/EzPlatformAdminUiBundle.php b/src/bundle/EzPlatformAdminUiBundle.php index f1c062ab16..8c01285c2c 100644 --- a/src/bundle/EzPlatformAdminUiBundle.php +++ b/src/bundle/EzPlatformAdminUiBundle.php @@ -7,7 +7,6 @@ namespace EzSystems\EzPlatformAdminUiBundle; use eZ\Bundle\EzPublishCoreBundle\DependencyInjection\EzPublishCoreExtension; -use EzSystems\EzPlatformAdminUi\SiteAccess\AdminFilter; use EzSystems\EzPlatformAdminUiBundle\DependencyInjection\Compiler\ComponentPass; use EzSystems\EzPlatformAdminUiBundle\DependencyInjection\Compiler\SystemInfoTabGroupPass; use EzSystems\EzPlatformAdminUiBundle\DependencyInjection\Compiler\TabPass; @@ -18,14 +17,12 @@ class EzPlatformAdminUiBundle extends Bundle { + const ADMIN_GROUP_NAME = 'admin_group'; + public function build(ContainerBuilder $container) { /** @var EzPublishCoreExtension $core */ $core = $container->getExtension('ezpublish'); - $core->addSiteAccessConfigurationFilter( - new AdminFilter() - ); - $core->addConfigParser(new LocationIds()); $core->addDefaultSettings(__DIR__ . '/Resources/config', ['ezplatform_default_settings.yml']); diff --git a/src/bundle/Resources/config/default_parameters.yml b/src/bundle/Resources/config/default_parameters.yml index 2b1362c486..13b7722f8f 100644 --- a/src/bundle/Resources/config/default_parameters.yml +++ b/src/bundle/Resources/config/default_parameters.yml @@ -1,9 +1,9 @@ parameters: - ezsettings.admin.content_edit.templates.edit: 'EzPlatformAdminUiBundle:content/content_edit:content_edit.html.twig' - ezsettings.admin.content_edit.templates.create: 'EzPlatformAdminUiBundle:content/content_edit:content_create.html.twig' - ezsettings.admin.content_edit.templates.create_draft: 'EzPlatformAdminUiBundle:content/content_edit:content_create_draft.html.twig' - ezsettings.admin.user_edit.templates.update: 'EzPlatformAdminUiBundle:content/content_edit:user_edit.html.twig' - ezsettings.admin.user_edit.templates.create: 'EzPlatformAdminUiBundle:content/content_edit:user_create.html.twig' + ezsettings.admin_group.content_edit.templates.edit: 'EzPlatformAdminUiBundle:content/content_edit:content_edit.html.twig' + ezsettings.admin_group.content_edit.templates.create: 'EzPlatformAdminUiBundle:content/content_edit:content_create.html.twig' + ezsettings.admin_group.content_edit.templates.create_draft: 'EzPlatformAdminUiBundle:content/content_edit:content_create_draft.html.twig' + ezsettings.admin_group.user_edit.templates.update: 'EzPlatformAdminUiBundle:content/content_edit:user_edit.html.twig' + ezsettings.admin_group.user_edit.templates.create: 'EzPlatformAdminUiBundle:content/content_edit:user_create.html.twig' ezsettings.global.system_info_view: pjax_tab: diff --git a/src/bundle/Resources/config/views.yml b/src/bundle/Resources/config/views.yml index 2b38183de8..3988a18b16 100644 --- a/src/bundle/Resources/config/views.yml +++ b/src/bundle/Resources/config/views.yml @@ -1,5 +1,5 @@ system: - admin: + admin_group: user: login_template: "@EzPlatformAdminUi/Security/login.html.twig" content_view: diff --git a/src/lib/EventListener/RequestAttributesListener.php b/src/lib/EventListener/RequestAttributesListener.php index 673e2add3d..85cbe5899c 100644 --- a/src/lib/EventListener/RequestAttributesListener.php +++ b/src/lib/EventListener/RequestAttributesListener.php @@ -11,7 +11,7 @@ use eZ\Publish\API\Repository\Values\Content\Content; use eZ\Publish\API\Repository\Values\Content\Location; use eZ\Publish\Core\MVC\Symfony\View\Event\FilterViewBuilderParametersEvent; -use EzSystems\EzPlatformAdminUi\SiteAccess\AdminFilter; +use EzSystems\EzPlatformAdminUiBundle\EzPlatformAdminUiBundle; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use eZ\Publish\Core\MVC\Symfony\View\ViewEvents; use Symfony\Component\HttpFoundation\ParameterBag; @@ -124,6 +124,6 @@ private function isAdmin(Request $request): bool { $siteAccess = $request->attributes->get('siteaccess'); - return in_array($siteAccess->name, $this->siteAccessGroups[AdminFilter::ADMIN_GROUP_NAME], true); + return in_array($siteAccess->name, $this->siteAccessGroups[EzPlatformAdminUiBundle::ADMIN_GROUP_NAME], true); } } diff --git a/src/lib/SiteAccess/AdminFilter.php b/src/lib/SiteAccess/AdminFilter.php deleted file mode 100644 index bf1c28f015..0000000000 --- a/src/lib/SiteAccess/AdminFilter.php +++ /dev/null @@ -1,53 +0,0 @@ - ['site'], - * 'groups' => ['site_group' => ['site']], - * 'default_siteaccess' => 'site', - * 'match' => ['URIElement' => 1] - * ] - * ``` - * - * @return array The modified siteaccess configuration array - */ - public function filter(array $configuration): array - { - if (!isset($configuration['groups'])) { - return $configuration; - } - - $isMultisite = count($configuration['groups']) > 1; - - foreach (array_keys($configuration['groups']) as $groupName) { - /* TODO - implement better `_group` str_replace */ - $adminSiteAccessName = $isMultisite - ? str_replace('_group', '', $groupName) . '_admin' - : 'admin'; - $configuration['list'][] = $adminSiteAccessName; - $configuration['groups'][$groupName][] = $adminSiteAccessName; - $configuration['groups'][self::ADMIN_GROUP_NAME][] = $adminSiteAccessName; - } - - return $configuration; - } -}