diff --git a/content-service/src/main/java/io/meeds/news/service/impl/NewsServiceImpl.java b/content-service/src/main/java/io/meeds/news/service/impl/NewsServiceImpl.java index 8fee3a43d..c2cabc728 100644 --- a/content-service/src/main/java/io/meeds/news/service/impl/NewsServiceImpl.java +++ b/content-service/src/main/java/io/meeds/news/service/impl/NewsServiceImpl.java @@ -47,7 +47,6 @@ import org.exoplatform.commons.search.index.IndexingService; import org.exoplatform.commons.utils.CommonsUtils; import org.exoplatform.container.PortalContainer; -import org.exoplatform.portal.config.UserACL; import org.exoplatform.services.log.ExoLogger; import org.exoplatform.services.log.Log; import org.exoplatform.services.security.ConversationState; @@ -179,8 +178,6 @@ public class NewsServiceImpl implements NewsService { private final IdentityManager identityManager; - private final UserACL userACL; - private final ActivityManager activityManager; private final WikiService wikiService; @@ -192,7 +189,6 @@ public NewsServiceImpl(SpaceService spaceService, NewsTargetingService newsTargetingService, IndexingService indexingService, IdentityManager identityManager, - UserACL userACL, ActivityManager activityManager, WikiService wikiService, UploadService uploadService) { @@ -204,7 +200,6 @@ public NewsServiceImpl(SpaceService spaceService, this.newsTargetingService = newsTargetingService; this.indexingService = indexingService; this.identityManager = identityManager; - this.userACL = userACL; this.activityManager = activityManager; this.wikiService = wikiService; } @@ -1092,13 +1087,11 @@ private Long saveArticleIllustration(String articleUploadId, Long oldArticleIllu } private boolean canDeleteNews(Identity currentIdentity, String posterId, String spaceId) { - if (currentIdentity == null) { + Space space = spaceId == null ? null : spaceService.getSpaceById(spaceId); + if (space == null) { return false; } - String authenticatedUser = currentIdentity.getUserId(); - Space currentSpace = spaceService.getSpaceById(spaceId); - return authenticatedUser.equals(posterId) || userACL.isSuperUser() || spaceService.isSuperManager(authenticatedUser) - || spaceService.isManager(currentSpace, authenticatedUser); + return spaceService.canRedactOnSpace(space, currentIdentity); } private boolean isMemberOfsharedInSpaces(News news, String username) { diff --git a/content-service/src/test/java/io/meeds/news/service/impl/NewsServiceImplTest.java b/content-service/src/test/java/io/meeds/news/service/impl/NewsServiceImplTest.java index a011f91d5..4b75661b9 100644 --- a/content-service/src/test/java/io/meeds/news/service/impl/NewsServiceImplTest.java +++ b/content-service/src/test/java/io/meeds/news/service/impl/NewsServiceImplTest.java @@ -58,7 +58,6 @@ import org.exoplatform.commons.search.index.IndexingService; import org.exoplatform.commons.utils.CommonsUtils; import org.exoplatform.container.PortalContainer; -import org.exoplatform.portal.config.UserACL; import org.exoplatform.services.security.Identity; import org.exoplatform.social.core.manager.ActivityManager; import org.exoplatform.social.core.manager.IdentityManager; @@ -119,8 +118,6 @@ public class NewsServiceImplTest { private NewsService newsService; - private UserACL userACL; - private static final MockedStatic COMMONS_UTILS = mockStatic(CommonsUtils.class); private static final MockedStatic PORTAL_CONTAINER = mockStatic(PortalContainer.class); @@ -129,7 +126,6 @@ public class NewsServiceImplTest { @Before public void setUp() { - userACL = CommonsUtils.getService(UserACL.class); this.newsService = new NewsServiceImpl(spaceService, noteService, metadataService, @@ -137,7 +133,6 @@ public void setUp() { newsTargetingService, indexingService, identityManager, - userACL, activityManager, wikiService, uploadService);