diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java b/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java index 75c4085d4..d48423b96 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java @@ -64,7 +64,8 @@ import static org.librecms.CmsConstants.*; name = "ContentSection.findPermissions", query = "SELECT p FROM Permission p " + "WHERE (p.object = :section " - + " OR p.object = :rootDocumentsFolder) " + + " OR p.object = :rootDocumentsFolder" + + " OR p.object = :rootAssetsFolder) " + "AND p.grantee = :role") }) //@ApplicationType( diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ContentSectionManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/ContentSectionManager.java index 22bf587ba..c16d77315 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/ContentSectionManager.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/ContentSectionManager.java @@ -343,13 +343,15 @@ public class ContentSectionManager { contentSection.removeRole(role); sectionRepo.save(contentSection); - + final TypedQuery query = entityManager .createNamedQuery("ContentSection.findPermissions", Permission.class); query.setParameter("section", contentSection); query.setParameter("rootDocumentsFolder", contentSection.getRootDocumentsFolder()); + query.setParameter("rootAssetsFolder", + contentSection.getRootAssetsFolder()); query.setParameter("role", role); final List permissions = query.getResultList(); diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java index 3ec7955f3..5c56ed6fe 100644 --- a/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java +++ b/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java @@ -75,7 +75,7 @@ import org.librecms.lifecycle.LifecycleDefinitionRepository; @PersistenceTest @Transactional(TransactionMode.COMMIT) @CreateSchema({"create_ccm_cms_schema.sql"}) -@CleanupUsingScript({"no-cleanup.sql"}) +@CleanupUsingScript({"cleanup.sql"}) public class ContentSectionManagerTest { @Inject diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentItemPermissionTest/data.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentItemPermissionTest/data.xml index ebbf18959..b39258cf3 100644 --- a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentItemPermissionTest/data.xml +++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentItemPermissionTest/data.xml @@ -349,32 +349,38 @@ granted_privilege="view_draft_items" object_id="-10100" grantee_id="-3100" - creation_date="2016-07-15"/> + creation_date="2016-07-15" + inherited="false" /> + creation_date="2016-07-15" + inherited="false" /> + creation_date="2016-07-15" + inherited="false" /> + creation_date="2016-07-15" + inherited="false" /> + creation_date="2016-07-15" + inherited="false" /> + creation_date="2016-07-15" + inherited="false" /> diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-create.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-create.xml index c4c8f2f1e..8f42c75a2 100644 --- a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-create.xml +++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-create.xml @@ -1295,202 +1295,202 @@ object_id="-2300" grantee_id="-32000" creation_date="2016-07-15" - inherited="false" + inherited="true" inherited_from_id="-1200" /> + inherited="true" inherited_from_id="-1200" />