From 4d9ed13d48618f6348d342de9bf2d38e664e89eb Mon Sep 17 00:00:00 2001 From: Sebastian Helzle Date: Mon, 3 Jun 2024 13:27:36 +0200 Subject: [PATCH] !!! TASK: Adjust workspace module privilege names The change includes the code migration for existing projects --- Neos.Workspace.Ui/Configuration/Policy.yaml | 24 ++++---- .../Migrations/Code/Version20240603134000.php | 59 +++++++++++++++++++ 2 files changed, 71 insertions(+), 12 deletions(-) create mode 100644 Neos.Workspace.Ui/Migrations/Code/Version20240603134000.php diff --git a/Neos.Workspace.Ui/Configuration/Policy.yaml b/Neos.Workspace.Ui/Configuration/Policy.yaml index f69129e88df..36332b3cea0 100644 --- a/Neos.Workspace.Ui/Configuration/Policy.yaml +++ b/Neos.Workspace.Ui/Configuration/Policy.yaml @@ -2,28 +2,28 @@ privilegeTargets: 'Neos\Flow\Security\Authorization\Privilege\Method\MethodPrivilege': - 'Neos.Neos:Backend.PublishAllToLiveWorkspace': + 'Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace': label: Allowed to publish to the live workspace matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->publishWorkspaceAction(workspace.baseWorkspace.name === "live"))' - 'Neos.Neos:Backend.CreateWorkspaces': + 'Neos.Workspace.Ui:Backend.CreateWorkspaces': label: Allowed to create a workspace matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->(create|new)Action())' - 'Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces': + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces': label: Allowed to manage own workspaces 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': + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces': label: Manage internal workspaces matcher: 'method(Neos\Workspace\Ui\Controller\WorkspaceController->(publishWorkspace|discardWorkspace|edit|update|delete)Action(workspace.owner === null))' - 'Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces': + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces': label: Manage all private workspaces 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': + 'Neos.Workspace.Ui:Backend.Module.Management.Workspaces': label: General access to the workspace module matcher: 'management/workspaces' @@ -31,29 +31,29 @@ roles: 'Neos.Neos:LivePublisher': privileges: - - privilegeTarget: 'Neos.Neos:Backend.PublishAllToLiveWorkspace' + privilegeTarget: 'Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace' permission: GRANT 'Neos.Neos:AbstractEditor': privileges: - - privilegeTarget: 'Neos.Neos:Backend.CreateWorkspaces' + privilegeTarget: 'Neos.Workspace.Ui:Backend.CreateWorkspaces' permission: GRANT - - privilegeTarget: 'Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces' + privilegeTarget: 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces' permission: GRANT - - privilegeTarget: 'Neos.Neos:Backend.Module.Management.Workspaces' + privilegeTarget: 'Neos.Workspace.Ui:Backend.Module.Management.Workspaces' permission: GRANT 'Neos.Neos:Administrator': privileges: - - privilegeTarget: 'Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces' + privilegeTarget: 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces' permission: GRANT - - privilegeTarget: 'Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces' + privilegeTarget: 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces' permission: GRANT diff --git a/Neos.Workspace.Ui/Migrations/Code/Version20240603134000.php b/Neos.Workspace.Ui/Migrations/Code/Version20240603134000.php new file mode 100644 index 00000000000..973d835fe9d --- /dev/null +++ b/Neos.Workspace.Ui/Migrations/Code/Version20240603134000.php @@ -0,0 +1,59 @@ +searchAndReplace( + 'Neos.Neos:Backend.PublishAllToLiveWorkspace', + 'Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace', + ['yaml'] + ); + $this->searchAndReplace( + 'Neos.Neos:Backend.CreateWorkspaces', + 'Neos.Workspace.Ui:Backend.CreateWorkspaces', + ['yaml'] + ); + $this->searchAndReplace( + 'Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces', + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces', + ['yaml'] + ); + $this->searchAndReplace( + 'Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces', + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces', + ['yaml'] + ); + $this->searchAndReplace( + 'Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces', + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces', + ['yaml'] + ); + $this->searchAndReplace( + 'Neos.Neos:Backend.Module.Management.Workspaces', + 'Neos.Workspace.Ui:Backend.Module.Management.Workspace', + ['yaml'] + ); + } +}