Search in sources :

Example 16 with Group

use of org.olat.basesecurity.Group in project OpenOLAT by OpenOLAT.

the class EPStructureManager method createAndPersistPortfolioMapTemplateFromEntry.

/**
 * Create a template map with the given repsoitory entry and olat resource (in the repository entry).
 * The repository entry must already be persisted.
 * @param identity
 * @param entry
 * @return
 */
public PortfolioStructureMap createAndPersistPortfolioMapTemplateFromEntry(Identity identity, RepositoryEntry entry) {
    EPStructuredMapTemplate el = (EPStructuredMapTemplate) loadPortfolioStructure(entry.getOlatResource());
    if (el == null) {
        el = new EPStructuredMapTemplate();
    }
    el.setTitle(entry.getDisplayname());
    el.setDescription(entry.getDescription());
    el.setOlatResource(entry.getOlatResource());
    // create security group
    Group group = repositoryEntyRelationDao.getDefaultGroup(entry);
    if (group == null) {
        group = groupDao.createGroup();
        groupDao.addMembershipTwoWay(group, identity, GroupRoles.owner.name());
    }
    EPStructureElementToGroupRelation relation = createBaseRelation(el, group);
    Set<EPStructureElementToGroupRelation> relations = new HashSet<>();
    relations.add(relation);
    el.setGroups(relations);
    dbInstance.saveObject(el);
    return el;
}
Also used : Group(org.olat.basesecurity.Group) EPStructuredMapTemplate(org.olat.portfolio.model.structel.EPStructuredMapTemplate) EPStructureElementToGroupRelation(org.olat.portfolio.model.structel.EPStructureElementToGroupRelation) HashSet(java.util.HashSet)

Example 17 with Group

use of org.olat.basesecurity.Group in project OpenOLAT by OpenOLAT.

the class GroupDAOTest method createGroupMembership_v2.

@Test
public void createGroupMembership_v2() {
    Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-1-");
    Group group = groupDao.createGroup();
    GroupMembership membership = groupDao.addMembershipTwoWay(group, id, "author");
    dbInstance.commit();
    Assert.assertNotNull(membership);
    dbInstance.getCurrentEntityManager().detach(group);
    dbInstance.commitAndCloseSession();
    GroupImpl loadedGroup = (GroupImpl) groupDao.loadGroup(group.getKey());
    Assert.assertNotNull(loadedGroup);
    Set<GroupMembership> members = loadedGroup.getMembers();
    Assert.assertNotNull(members);
    Assert.assertEquals(1, members.size());
}
Also used : Group(org.olat.basesecurity.Group) GroupImpl(org.olat.basesecurity.model.GroupImpl) GroupMembership(org.olat.basesecurity.GroupMembership) Identity(org.olat.core.id.Identity) Test(org.junit.Test)

Example 18 with Group

use of org.olat.basesecurity.Group in project OpenOLAT by OpenOLAT.

the class GroupDAOTest method hasRole.

@Test
public void hasRole() {
    Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-2-");
    Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-2b-");
    Group group = groupDao.createGroup();
    GroupMembership membership = groupDao.addMembershipTwoWay(group, id, "author");
    dbInstance.commit();
    Assert.assertNotNull(membership);
    dbInstance.commitAndCloseSession();
    boolean hasRole = groupDao.hasRole(group, id, "author");
    Assert.assertTrue(hasRole);
    // negative tests
    boolean hasNotRole = groupDao.hasRole(group, id, "pilot");
    Assert.assertFalse(hasNotRole);
    boolean id2_hasNotRole = groupDao.hasRole(group, id2, "author");
    Assert.assertFalse(id2_hasNotRole);
}
Also used : Group(org.olat.basesecurity.Group) GroupMembership(org.olat.basesecurity.GroupMembership) Identity(org.olat.core.id.Identity) Test(org.junit.Test)

Example 19 with Group

use of org.olat.basesecurity.Group in project OpenOLAT by OpenOLAT.

the class GroupDAOTest method removeMemberships_groupAndRole.

@Test
public void removeMemberships_groupAndRole() {
    Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-12-");
    Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-13-");
    Group group = groupDao.createGroup();
    GroupMembership membership1 = groupDao.addMembershipTwoWay(group, id1, "pilot");
    GroupMembership membership2 = groupDao.addMembershipTwoWay(group, id2, "copilot");
    Assert.assertNotNull(membership1);
    Assert.assertNotNull(membership2);
    dbInstance.commitAndCloseSession();
    // check
    int numOfMembers = groupDao.countMembers(group);
    Assert.assertEquals(2, numOfMembers);
    // remove
    int numOfDeletedRows = groupDao.removeMemberships(group, "pilot");
    dbInstance.commitAndCloseSession();
    Assert.assertEquals(1, numOfDeletedRows);
    // check
    List<GroupMembership> deletedMemberships = groupDao.getMemberships(group, "pilot");
    Assert.assertTrue(deletedMemberships.isEmpty());
    List<GroupMembership> lastMemberships = groupDao.getMemberships(group, "copilot");
    Assert.assertEquals(1, lastMemberships.size());
}
Also used : Group(org.olat.basesecurity.Group) GroupMembership(org.olat.basesecurity.GroupMembership) Identity(org.olat.core.id.Identity) Test(org.junit.Test)

Example 20 with Group

use of org.olat.basesecurity.Group in project OpenOLAT by OpenOLAT.

the class GroupDAOTest method removeMembership.

@Test
public void removeMembership() {
    Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-7-");
    Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-8-");
    Group group = groupDao.createGroup();
    GroupMembership membership1 = groupDao.addMembershipTwoWay(group, id1, "pilot");
    GroupMembership membership2 = groupDao.addMembershipTwoWay(group, id2, "pilot");
    Assert.assertNotNull(membership1);
    Assert.assertNotNull(membership2);
    dbInstance.commitAndCloseSession();
    // check
    List<GroupMembership> memberships = groupDao.getMemberships(group, "pilot");
    Assert.assertEquals(2, memberships.size());
    // remove
    groupDao.removeMembership(group, id1);
    dbInstance.commitAndCloseSession();
    // check
    List<GroupMembership> deletedMemberships = groupDao.getMemberships(group, "pilot");
    Assert.assertEquals(1, deletedMemberships.size());
    Identity stayingMember = deletedMemberships.get(0).getIdentity();
    Assert.assertNotNull(stayingMember);
    Assert.assertEquals(id2, stayingMember);
}
Also used : Group(org.olat.basesecurity.Group) GroupMembership(org.olat.basesecurity.GroupMembership) Identity(org.olat.core.id.Identity) Test(org.junit.Test)

Aggregations

Group (org.olat.basesecurity.Group)170 Test (org.junit.Test)92 Identity (org.olat.core.id.Identity)80 BusinessGroup (org.olat.group.BusinessGroup)72 RepositoryEntry (org.olat.repository.RepositoryEntry)46 ArrayList (java.util.ArrayList)28 GroupMembership (org.olat.basesecurity.GroupMembership)26 LectureBlock (org.olat.modules.lecture.LectureBlock)26 OLATResource (org.olat.resource.OLATResource)26 LectureBlockToGroup (org.olat.modules.lecture.LectureBlockToGroup)20 Date (java.util.Date)16 SecurityGroup (org.olat.basesecurity.SecurityGroup)16 EPStructureElementToGroupRelation (org.olat.portfolio.model.structel.EPStructureElementToGroupRelation)14 HashSet (java.util.HashSet)12 RepositoryEntryToGroupRelation (org.olat.repository.model.RepositoryEntryToGroupRelation)11 HashMap (java.util.HashMap)8 Grant (org.olat.basesecurity.Grant)8 Calendar (java.util.Calendar)6 EPStructuredMapTemplate (org.olat.portfolio.model.structel.EPStructuredMapTemplate)6 BGRights (org.olat.group.right.BGRights)5