From af1d73b106d3629928b0675f9501d77f87ff3cc3 Mon Sep 17 00:00:00 2001 From: Boubaker Khanfir Date: Sun, 15 Sep 2024 12:54:42 +0100 Subject: [PATCH] feat: use new centralized space API with ACL management - MEED-7488 - Meeds-io/MIPs#147 This change will reuse the centralized way to check user priviledges on spaces contents. --- .../wiki/service/impl/NoteServiceImpl.java | 3 +-- .../java/org/exoplatform/wiki/utils/Utils.java | 5 +---- .../exoplatform/wiki/mock/MockSpaceService.java | 14 +++----------- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java b/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java index 60c8c51c58..7e012bcc74 100644 --- a/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java +++ b/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java @@ -2073,8 +2073,7 @@ private void checkToRemoveDomainInUrl(Page note) { private boolean canImportNotes(String authenticatedUser, Space space, Page page) throws WikiException { if (space != null) { - return (spaceService.isSuperManager(authenticatedUser) || spaceService.isManager(space, authenticatedUser) - || spaceService.isRedactor(space, authenticatedUser)); + return (spaceService.canRedactOnSpace(space, authenticatedUser)); } else if (StringUtils.equals(page.getOwner(), IdentityConstants.SYSTEM)) { return cmsService.hasAccessPermission(Utils.getIdentity(authenticatedUser), NotePageViewService.CMS_CONTENT_TYPE, page.getName()); } else { diff --git a/notes-service/src/main/java/org/exoplatform/wiki/utils/Utils.java b/notes-service/src/main/java/org/exoplatform/wiki/utils/Utils.java index 9861a5ad9a..de21262969 100644 --- a/notes-service/src/main/java/org/exoplatform/wiki/utils/Utils.java +++ b/notes-service/src/main/java/org/exoplatform/wiki/utils/Utils.java @@ -764,10 +764,7 @@ public static boolean canManageNotes(String authenticatedUser, Space space, Page SpaceService spaceService = CommonsUtils.getService(SpaceService.class); CMSService cmsService = CommonsUtils.getService(CMSService.class); if (space != null) { - return (spaceService.isSuperManager(authenticatedUser) - || spaceService.isManager(space, authenticatedUser) - || spaceService.isRedactor(space, authenticatedUser) - || spaceService.isMember(space, authenticatedUser) && ArrayUtils.isEmpty(space.getRedactors())); + return spaceService.canRedactOnSpace(space, authenticatedUser); } else if (StringUtils.equals(page.getOwner(), IdentityConstants.SYSTEM)) { return cmsService.hasEditPermission(getIdentity(authenticatedUser), NotePageViewService.CMS_CONTENT_TYPE, page.getName()); } else { diff --git a/notes-service/src/test/java/org/exoplatform/wiki/mock/MockSpaceService.java b/notes-service/src/test/java/org/exoplatform/wiki/mock/MockSpaceService.java index 0a81b8896d..0eff30b070 100644 --- a/notes-service/src/test/java/org/exoplatform/wiki/mock/MockSpaceService.java +++ b/notes-service/src/test/java/org/exoplatform/wiki/mock/MockSpaceService.java @@ -100,11 +100,11 @@ public Space updateSpace(Space existingSpace) { return null; } - public Space updateSpaceAvatar(Space existingSpace) { + public Space updateSpaceAvatar(Space existingSpace, String username) { return null; } - public Space updateSpaceBanner(Space existingSpace) { + public Space updateSpaceBanner(Space existingSpace, String username) { return null; } @@ -248,7 +248,7 @@ public void renameSpace(Space space, String newDisplayName) throws SpaceExceptio } - public void renameSpace(String remoteId, Space space, String newDisplayName) throws SpaceException { + public void renameSpace(Space space, String newDisplayName, String remoteId) throws SpaceException { } @@ -468,14 +468,6 @@ public void unregisterSpaceLifeCycleListener(SpaceLifeCycleListener listener) { } - public void setPortletsPrefsRequired(PortletPreferenceRequiredPlugin portletPrefsRequiredPlugin) { - - } - - public String[] getPortletsPrefsRequired() { - return null; - } - public ListAccess getVisitedSpaces(String remoteId, String appId) { return null; }