From f667110f94631ec686b507fd8c2adb51afc6cfe2 Mon Sep 17 00:00:00 2001 From: Sebastian Helzle Date: Mon, 3 Jun 2024 13:20:52 +0200 Subject: [PATCH] TASK: Use singular name for WorkspaceController --- Neos.Neos/Configuration/Policy.yaml | 20 ------------------- ...Controller.php => WorkspaceController.php} | 13 ++++++------ ...s.php => WorkspaceControllerInternals.php} | 2 +- ...> WorkspaceControllerInternalsFactory.php} | 8 ++++---- Neos.Workspace.Ui/Configuration/Policy.yaml | 10 +++++----- .../Configuration/Settings.Neos.yaml | 2 +- Neos.Workspace.Ui/Configuration/Views.yaml | 2 +- .../{Workspaces => Workspace}/Edit.html | 0 .../{Workspaces => Workspace}/Index.html | 0 .../{Workspaces => Workspace}/New.html | 0 .../{Workspaces => Workspace}/Show.html | 0 11 files changed, 18 insertions(+), 39 deletions(-) rename Neos.Workspace.Ui/Classes/Controller/{WorkspacesController.php => WorkspaceController.php} (99%) rename Neos.Workspace.Ui/Classes/Controller/{WorkspacesControllerInternals.php => WorkspaceControllerInternals.php} (92%) rename Neos.Workspace.Ui/Classes/Controller/{WorkspacesControllerInternalsFactory.php => WorkspaceControllerInternalsFactory.php} (79%) rename Neos.Workspace.Ui/Resources/Private/Templates/{Workspaces => Workspace}/Edit.html (100%) rename Neos.Workspace.Ui/Resources/Private/Templates/{Workspaces => Workspace}/Index.html (100%) rename Neos.Workspace.Ui/Resources/Private/Templates/{Workspaces => Workspace}/New.html (100%) rename Neos.Workspace.Ui/Resources/Private/Templates/{Workspaces => Workspace}/Show.html (100%) diff --git a/Neos.Neos/Configuration/Policy.yaml b/Neos.Neos/Configuration/Policy.yaml index 43e55b3fbae..8ccf44e7ce0 100644 --- a/Neos.Neos/Configuration/Policy.yaml +++ b/Neos.Neos/Configuration/Policy.yaml @@ -68,18 +68,6 @@ privilegeTargets: label: Allowed to discard changes in own workspace matcher: 'method(Neos\Neos\Service\Controller\WorkspaceController->(discardNode|discardNodes|error)Action()) || method(Neos\Neos\Service\Controller\WorkspaceController->discardAllAction(workspace.name === current.userInformation.personalWorkspaceName))' - # - # Workspace management - # - - 'Neos.Neos:Backend.Service.Workspaces.Index': - label: Access workspace services - matcher: 'method(Neos\Neos\Controller\Service\WorkspacesController->(index|error|show)Action())' - - 'Neos.Neos:Backend.Service.Workspaces.ManageOwnWorkspaces': - label: Access services to manage own workspace - matcher: 'method(Neos\Neos\Controller\Service\WorkspacesController->(update|delete)Action(workspace.owner === current.userInformation.backendUser))' - # # User management and user settings # @@ -209,14 +197,6 @@ roles: privilegeTarget: 'Neos.Neos:Backend.DiscardOwnWorkspaceContent' permission: GRANT - - - privilegeTarget: 'Neos.Neos:Backend.Service.Workspaces.Index' - permission: GRANT - - - - privilegeTarget: 'Neos.Neos:Backend.Service.Workspaces.ManageOwnWorkspaces' - permission: GRANT - - privilegeTarget: 'Neos.Neos:Backend.ContentDimensions' permission: GRANT diff --git a/Neos.Workspace.Ui/Classes/Controller/WorkspacesController.php b/Neos.Workspace.Ui/Classes/Controller/WorkspaceController.php similarity index 99% rename from Neos.Workspace.Ui/Classes/Controller/WorkspacesController.php rename to Neos.Workspace.Ui/Classes/Controller/WorkspaceController.php index 495b96abd05..515fc39f2b7 100644 --- a/Neos.Workspace.Ui/Classes/Controller/WorkspacesController.php +++ b/Neos.Workspace.Ui/Classes/Controller/WorkspaceController.php @@ -69,11 +69,10 @@ use Neos\Neos\Utility\NodeTypeWithFallbackProvider; /** - * The Neos Workspaces module controller - * - * @Flow\Scope("singleton") + * The Neos Workspace module controller */ -class WorkspacesController extends AbstractModuleController +#[Flow\Scope('singleton')] +class WorkspaceController extends AbstractModuleController { use ModuleTranslationTrait; use NodeTypeWithFallbackProvider; @@ -160,9 +159,9 @@ public function showAction(WorkspaceName $workspace): void $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest()) ->contentRepositoryId; $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $workspacesControllerInternals = $this->contentRepositoryRegistry->buildService( + $workspaceControllerInternals = $this->contentRepositoryRegistry->buildService( $contentRepositoryId, - new WorkspacesControllerInternalsFactory() + new WorkspaceControllerInternalsFactory() ); $workspaceObj = $contentRepository->getWorkspaceFinder()->findOneByName($workspace); @@ -178,7 +177,7 @@ public function showAction(WorkspaceName $workspace): void // TODO $this->domainUserService->currentUserCanPublishToWorkspace($workspace->getBaseWorkspace()), 'canPublishToBaseWorkspace' => true, 'siteChanges' => $this->computeSiteChanges($workspaceObj, $contentRepository), - 'contentDimensions' => $workspacesControllerInternals->getContentDimensionsOrderedByPriority() + 'contentDimensions' => $workspaceControllerInternals->getContentDimensionsOrderedByPriority() ]); } diff --git a/Neos.Workspace.Ui/Classes/Controller/WorkspacesControllerInternals.php b/Neos.Workspace.Ui/Classes/Controller/WorkspaceControllerInternals.php similarity index 92% rename from Neos.Workspace.Ui/Classes/Controller/WorkspacesControllerInternals.php rename to Neos.Workspace.Ui/Classes/Controller/WorkspaceControllerInternals.php index 98bcd49b10a..0a28cfe7413 100644 --- a/Neos.Workspace.Ui/Classes/Controller/WorkspacesControllerInternals.php +++ b/Neos.Workspace.Ui/Classes/Controller/WorkspaceControllerInternals.php @@ -21,7 +21,7 @@ /** * @deprecated really un-nice :D */ -class WorkspacesControllerInternals implements ContentRepositoryServiceInterface +class WorkspaceControllerInternals implements ContentRepositoryServiceInterface { public function __construct( protected ContentDimensionSourceInterface $contentDimensionSource, diff --git a/Neos.Workspace.Ui/Classes/Controller/WorkspacesControllerInternalsFactory.php b/Neos.Workspace.Ui/Classes/Controller/WorkspaceControllerInternalsFactory.php similarity index 79% rename from Neos.Workspace.Ui/Classes/Controller/WorkspacesControllerInternalsFactory.php rename to Neos.Workspace.Ui/Classes/Controller/WorkspaceControllerInternalsFactory.php index 6515d3bb807..0ad2b7f3d38 100644 --- a/Neos.Workspace.Ui/Classes/Controller/WorkspacesControllerInternalsFactory.php +++ b/Neos.Workspace.Ui/Classes/Controller/WorkspaceControllerInternalsFactory.php @@ -18,14 +18,14 @@ use Neos\ContentRepository\Core\Factory\ContentRepositoryServiceFactoryInterface; /** - * @implements ContentRepositoryServiceFactoryInterface + * @implements ContentRepositoryServiceFactoryInterface */ -class WorkspacesControllerInternalsFactory implements ContentRepositoryServiceFactoryInterface +class WorkspaceControllerInternalsFactory implements ContentRepositoryServiceFactoryInterface { public function build( ContentRepositoryServiceFactoryDependencies $serviceFactoryDependencies - ): WorkspacesControllerInternals { - return new WorkspacesControllerInternals( + ): WorkspaceControllerInternals { + return new WorkspaceControllerInternals( $serviceFactoryDependencies->contentDimensionSource, ); } diff --git a/Neos.Workspace.Ui/Configuration/Policy.yaml b/Neos.Workspace.Ui/Configuration/Policy.yaml index 72d3389b6d3..f69129e88df 100644 --- a/Neos.Workspace.Ui/Configuration/Policy.yaml +++ b/Neos.Workspace.Ui/Configuration/Policy.yaml @@ -4,23 +4,23 @@ privilegeTargets: 'Neos.Neos:Backend.PublishAllToLiveWorkspace': label: Allowed to publish to the live workspace - matcher: 'method(Neos\Workspace\Ui\Controller\WorkspacesController->publishWorkspaceAction(workspace.baseWorkspace.name === "live"))' + matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->publishWorkspaceAction(workspace.baseWorkspace.name === "live"))' 'Neos.Neos:Backend.CreateWorkspaces': label: Allowed to create a workspace - matcher: 'method(Neos\Workspace\Ui\Controller\WorkspacesController->(create|new)Action())' + matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->(create|new)Action())' 'Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces': label: Allowed to manage own workspaces - matcher: 'method(Neos\Workspace\Ui\Controller\WorkspacesController->(publishWorkspace|discardWorkspace|edit|update|delete)Action(workspace.owner === current.userInformation.backendUser))' + matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->(publishWorkspace|discardWorkspace|edit|update|delete)Action(workspace.owner === current.userInformation.backendUser))' 'Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces': label: Manage internal workspaces - matcher: 'method(Neos\Workspace\Ui\Controller\WorkspacesController->(publishWorkspace|discardWorkspace|edit|update|delete)Action(workspace.owner === null))' + matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->(publishWorkspace|discardWorkspace|edit|update|delete)Action(workspace.owner === null))' 'Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces': label: Manage all private workspaces - matcher: 'method(Neos\Workspace\Ui\Controller\WorkspacesController->(publishWorkspace|discardWorkspace|edit|update|delete)Action()) && evaluate(this.workspace.owner !== current.userInformation.backendUser, this.workspace.personalWorkspace === false)' + matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->(publishWorkspace|discardWorkspace|edit|update|delete)Action()) && evaluate(this.workspace.owner !== current.userInformation.backendUser, this.workspace.personalWorkspace === false)' 'Neos\Neos\Security\Authorization\Privilege\ModulePrivilege': 'Neos.Neos:Backend.Module.Management.Workspaces': diff --git a/Neos.Workspace.Ui/Configuration/Settings.Neos.yaml b/Neos.Workspace.Ui/Configuration/Settings.Neos.yaml index 78a2f25bc9a..2dc3b42e97b 100644 --- a/Neos.Workspace.Ui/Configuration/Settings.Neos.yaml +++ b/Neos.Workspace.Ui/Configuration/Settings.Neos.yaml @@ -5,7 +5,7 @@ Neos: submodules: workspaces: label: 'Neos.Workspace.Ui:Main:workspaces.label' - controller: 'Neos\Workspace\Ui\Controller\WorkspacesController' + controller: 'Neos\Workspace\Ui\Controller\WorkspaceController' description: 'Neos.Workspace.Ui:Main:workspaces.description' icon: fas fa-th-large mainStylesheet: 'Lite' diff --git a/Neos.Workspace.Ui/Configuration/Views.yaml b/Neos.Workspace.Ui/Configuration/Views.yaml index 417f7e0c56c..2754bc057b0 100644 --- a/Neos.Workspace.Ui/Configuration/Views.yaml +++ b/Neos.Workspace.Ui/Configuration/Views.yaml @@ -1,4 +1,4 @@ -- requestFilter: 'isPackage("Neos.Workspace.Ui") && isController("Workspaces") && isFormat("html")' +- requestFilter: 'isPackage("Neos.Workspace.Ui") && isController("Workspace") && isFormat("html")' options: layoutRootPathPattern: 'resource://Neos.Neos/Private/Layouts' partialRootPaths: diff --git a/Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/Edit.html b/Neos.Workspace.Ui/Resources/Private/Templates/Workspace/Edit.html similarity index 100% rename from Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/Edit.html rename to Neos.Workspace.Ui/Resources/Private/Templates/Workspace/Edit.html diff --git a/Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/Index.html b/Neos.Workspace.Ui/Resources/Private/Templates/Workspace/Index.html similarity index 100% rename from Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/Index.html rename to Neos.Workspace.Ui/Resources/Private/Templates/Workspace/Index.html diff --git a/Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/New.html b/Neos.Workspace.Ui/Resources/Private/Templates/Workspace/New.html similarity index 100% rename from Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/New.html rename to Neos.Workspace.Ui/Resources/Private/Templates/Workspace/New.html diff --git a/Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/Show.html b/Neos.Workspace.Ui/Resources/Private/Templates/Workspace/Show.html similarity index 100% rename from Neos.Workspace.Ui/Resources/Private/Templates/Workspaces/Show.html rename to Neos.Workspace.Ui/Resources/Private/Templates/Workspace/Show.html