Search in sources :

Example 21 with Roles

use of org.olat.core.id.Roles in project OpenOLAT by OpenOLAT.

the class ReferenceManagerTest method getReferencesInfos_permission.

@Test
public void getReferencesInfos_permission() {
    Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Asuka");
    Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Rei");
    Roles roles = new Roles(false, false, false, false, false, false, false);
    RepositoryEntry course1 = repositoryService.create("Asuka Langley", "-", "Reference Manager course 1 permission", "", null);
    RepositoryEntry course2 = repositoryService.create("Asuka Langley", "-", "Reference Manager course 2 permission", "", null);
    RepositoryEntry course3 = repositoryService.create("Asuka Langley", "-", "Reference Manager course 3 permission", "", null);
    RepositoryEntry course4 = repositoryService.create("Asuka Langley", "-", "Reference Manager course 4 permission", "", null);
    RepositoryEntry test12 = repositoryService.create("Asuka Langley", "-", "Reference Manager test 12 permission", "", null);
    repositoryEntryRelationDao.addRole(id1, test12, GroupRoles.owner.name());
    RepositoryEntry test2 = repositoryService.create("Asuka Langley", "-", "Reference Manager test 2 permission", "", null);
    repositoryEntryRelationDao.addRole(id2, test2, GroupRoles.owner.name());
    RepositoryEntry test234 = repositoryService.create("Asuka Langley", "-", "Reference Manager test 234 permission", "", null);
    repositoryEntryRelationDao.addRole(id2, test234, GroupRoles.owner.name());
    // add the references
    referenceManager.addReference(course1.getOlatResource(), test12.getOlatResource(), "4534565");
    referenceManager.addReference(course2.getOlatResource(), test12.getOlatResource(), "4532421");
    referenceManager.addReference(course2.getOlatResource(), test2.getOlatResource(), "6786878");
    referenceManager.addReference(course2.getOlatResource(), test234.getOlatResource(), "17988942");
    referenceManager.addReference(course3.getOlatResource(), test234.getOlatResource(), "47945532");
    referenceManager.addReference(course4.getOlatResource(), test234.getOlatResource(), "578912386");
    dbInstance.commitAndCloseSession();
    // course 1,2
    List<RepositoryEntry> courses12 = new ArrayList<>(2);
    courses12.add(course1);
    courses12.add(course2);
    List<ReferenceInfos> refCourses12 = referenceManager.getReferencesInfos(courses12, id1, roles);
    Assert.assertNotNull(refCourses12);
    Assert.assertEquals(3, refCourses12.size());
    // test12
    ReferenceInfos refCourses12_test12 = getReferenceInfos(refCourses12, test12);
    Assert.assertNotNull(refCourses12_test12);
    Assert.assertTrue(refCourses12_test12.isOrphan());
    Assert.assertTrue(refCourses12_test12.isOwner());
    // test 2
    ReferenceInfos refCourses12_test2 = getReferenceInfos(refCourses12, test2);
    Assert.assertNotNull(refCourses12_test2);
    Assert.assertTrue(refCourses12_test2.isOrphan());
    Assert.assertFalse(refCourses12_test2.isOwner());
    // test234
    ReferenceInfos refCourses12_test234 = getReferenceInfos(refCourses12, test234);
    Assert.assertNotNull(refCourses12_test234);
    Assert.assertFalse(refCourses12_test234.isOrphan());
    Assert.assertFalse(refCourses12_test234.isOwner());
    // course 2
    List<RepositoryEntry> courses2 = new ArrayList<>(2);
    courses2.add(course2);
    List<ReferenceInfos> refCourses2 = referenceManager.getReferencesInfos(courses2, id2, roles);
    Assert.assertNotNull(refCourses2);
    Assert.assertEquals(3, refCourses2.size());
    // test12
    ReferenceInfos refCourses2_test12 = getReferenceInfos(refCourses2, test12);
    Assert.assertNotNull(refCourses2_test12);
    Assert.assertFalse(refCourses2_test12.isOrphan());
    Assert.assertFalse(refCourses2_test12.isOwner());
    // test 2
    ReferenceInfos refCourses2_test2 = getReferenceInfos(refCourses2, test2);
    Assert.assertNotNull(refCourses2_test2);
    Assert.assertTrue(refCourses2_test2.isOrphan());
    Assert.assertTrue(refCourses2_test2.isOwner());
    // test234
    ReferenceInfos refCourses2_test234 = getReferenceInfos(refCourses2, test234);
    Assert.assertNotNull(refCourses2_test234);
    Assert.assertFalse(refCourses2_test234.isOrphan());
    Assert.assertTrue(refCourses2_test234.isOwner());
}
Also used : ArrayList(java.util.ArrayList) GroupRoles(org.olat.basesecurity.GroupRoles) Roles(org.olat.core.id.Roles) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) Test(org.junit.Test)

Example 22 with Roles

use of org.olat.core.id.Roles in project OpenOLAT by OpenOLAT.

the class GTACourseNode method createNodeRunConstructionResult.

@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
    Controller controller;
    Roles roles = ureq.getUserSession().getRoles();
    if (roles.isGuestOnly()) {
        Translator trans = Util.createPackageTranslator(GTACourseNode.class, ureq.getLocale());
        String title = trans.translate("guestnoaccess.title");
        String message = trans.translate("guestnoaccess.message");
        controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
    } else {
        controller = new GTARunController(ureq, wControl, this, userCourseEnv);
    }
    Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, controller, this, "o_gta_icon");
    return new NodeRunConstructionResult(ctrl);
}
Also used : GTARunController(org.olat.course.nodes.gta.ui.GTARunController) Translator(org.olat.core.gui.translator.Translator) Roles(org.olat.core.id.Roles) GroupRoles(org.olat.basesecurity.GroupRoles) NodeEditController(org.olat.course.editor.NodeEditController) GTAEditController(org.olat.course.nodes.gta.ui.GTAEditController) GTAAssessmentDetailsController(org.olat.course.nodes.gta.ui.GTAAssessmentDetailsController) TabbableController(org.olat.core.gui.control.generic.tabbable.TabbableController) GTACoachedGroupListController(org.olat.course.nodes.gta.ui.GTACoachedGroupListController) AssessmentCourseNodeController(org.olat.course.assessment.ui.tool.AssessmentCourseNodeController) GTAIdentityListCourseNodeController(org.olat.course.nodes.gta.ui.GTAIdentityListCourseNodeController) Controller(org.olat.core.gui.control.Controller) GTARunController(org.olat.course.nodes.gta.ui.GTARunController) NodeRunConstructionResult(org.olat.course.run.navigation.NodeRunConstructionResult)

Example 23 with Roles

use of org.olat.core.id.Roles in project OpenOLAT by OpenOLAT.

the class GoToMeetingCourseNode method createNodeRunConstructionResult.

@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
    updateModuleConfigDefaults(false);
    Controller controller;
    Roles roles = ureq.getUserSession().getRoles();
    if (roles.isGuestOnly()) {
        Translator trans = Util.createPackageTranslator(GoToMeetingEditController.class, ureq.getLocale());
        String title = trans.translate("guestnoaccess.title");
        String message = trans.translate("guestnoaccess.message");
        controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
    } else {
        // check if user is moderator of the virtual classroom
        boolean admin = roles.isOLATAdmin();
        boolean moderator = admin;
        RepositoryEntry re = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
        if (!admin) {
            RepositoryManager rm = RepositoryManager.getInstance();
            if (re != null) {
                admin = rm.isOwnerOfRepositoryEntry(ureq.getIdentity(), re) || rm.isInstitutionalRessourceManagerFor(ureq.getIdentity(), roles, re);
                moderator = admin || rm.isIdentityInTutorSecurityGroup(ureq.getIdentity(), re) || isCoach(re, ureq.getIdentity());
            }
        }
        // create run controller
        RepositoryEntry courseEntry = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
        controller = new GoToMeetingRunController(ureq, wControl, courseEntry, getIdent(), null, admin, moderator, userCourseEnv.isCourseReadOnly());
    }
    Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, controller, this, "o_gotomeeting_icon");
    return new NodeRunConstructionResult(ctrl);
}
Also used : Translator(org.olat.core.gui.translator.Translator) GoToMeetingRunController(org.olat.modules.gotomeeting.ui.GoToMeetingRunController) Roles(org.olat.core.id.Roles) RepositoryManager(org.olat.repository.RepositoryManager) RepositoryEntry(org.olat.repository.RepositoryEntry) TabbableController(org.olat.core.gui.control.generic.tabbable.TabbableController) GoToMeetingPeekViewController(org.olat.course.nodes.gotomeeting.GoToMeetingPeekViewController) GoToMeetingEditController(org.olat.course.nodes.gotomeeting.GoToMeetingEditController) Controller(org.olat.core.gui.control.Controller) NodeEditController(org.olat.course.editor.NodeEditController) GoToMeetingRunController(org.olat.modules.gotomeeting.ui.GoToMeetingRunController) ConditionEditController(org.olat.course.condition.ConditionEditController) NodeRunConstructionResult(org.olat.course.run.navigation.NodeRunConstructionResult)

Example 24 with Roles

use of org.olat.core.id.Roles in project OpenOLAT by OpenOLAT.

the class MembersCourseNode method createNodeRunConstructionResult.

@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
    updateModuleConfigDefaults(false);
    Controller controller;
    Roles roles = ureq.getUserSession().getRoles();
    if (roles.isGuestOnly()) {
        Translator trans = Util.createPackageTranslator(CourseNode.class, ureq.getLocale());
        String title = trans.translate("guestnoaccess.title");
        String message = trans.translate("guestnoaccess.message");
        controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
    } else {
        controller = new MembersCourseNodeRunController(ureq, wControl, userCourseEnv, this.getModuleConfiguration());
    }
    Controller titledCtrl = TitledWrapperHelper.getWrapper(ureq, wControl, controller, this, "o_cmembers_icon");
    return new NodeRunConstructionResult(titledCtrl);
}
Also used : Translator(org.olat.core.gui.translator.Translator) Roles(org.olat.core.id.Roles) TabbableController(org.olat.core.gui.control.generic.tabbable.TabbableController) MembersPeekViewController(org.olat.course.nodes.members.MembersPeekViewController) Controller(org.olat.core.gui.control.Controller) NodeEditController(org.olat.course.editor.NodeEditController) MembersCourseNodeRunController(org.olat.course.nodes.members.MembersCourseNodeRunController) MembersCourseNodeEditController(org.olat.course.nodes.members.MembersCourseNodeEditController) InfoCourseNodeEditController(org.olat.course.nodes.info.InfoCourseNodeEditController) NodeRunConstructionResult(org.olat.course.run.navigation.NodeRunConstructionResult) MembersCourseNodeRunController(org.olat.course.nodes.members.MembersCourseNodeRunController)

Example 25 with Roles

use of org.olat.core.id.Roles in project OpenOLAT by OpenOLAT.

the class OpenMeetingsCourseNode method createNodeRunConstructionResult.

@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
    updateModuleConfigDefaults(false);
    Roles roles = ureq.getUserSession().getRoles();
    // check if user is moderator of the virtual classroom
    boolean admin = roles.isOLATAdmin();
    boolean moderator = admin;
    RepositoryEntry re = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
    if (!admin) {
        RepositoryManager rm = RepositoryManager.getInstance();
        if (re != null) {
            admin = rm.isOwnerOfRepositoryEntry(ureq.getIdentity(), re) || rm.isInstitutionalRessourceManagerFor(ureq.getIdentity(), roles, re);
            moderator = admin || rm.isIdentityInTutorSecurityGroup(ureq.getIdentity(), re) || isCoach(re, ureq.getIdentity());
        }
    }
    // create run controller
    OLATResourceable ores = OresHelper.clone(userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseResource());
    Controller runCtr = new OpenMeetingsRunController(ureq, wControl, null, ores, getIdent(), admin, moderator, userCourseEnv.isCourseReadOnly());
    Controller controller = TitledWrapperHelper.getWrapper(ureq, wControl, runCtr, this, "o_openmeetings_icon");
    return new NodeRunConstructionResult(controller);
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) OpenMeetingsRunController(org.olat.modules.openmeetings.ui.OpenMeetingsRunController) Roles(org.olat.core.id.Roles) RepositoryManager(org.olat.repository.RepositoryManager) RepositoryEntry(org.olat.repository.RepositoryEntry) TabbableController(org.olat.core.gui.control.generic.tabbable.TabbableController) OpenMeetingsEditController(org.olat.course.nodes.openmeetings.OpenMeetingsEditController) OpenMeetingsPeekViewController(org.olat.course.nodes.openmeetings.OpenMeetingsPeekViewController) OpenMeetingsRunController(org.olat.modules.openmeetings.ui.OpenMeetingsRunController) CPEditController(org.olat.course.nodes.cp.CPEditController) Controller(org.olat.core.gui.control.Controller) NodeEditController(org.olat.course.editor.NodeEditController) OpenMeetingsRoomEditController(org.olat.modules.openmeetings.ui.OpenMeetingsRoomEditController) ConditionEditController(org.olat.course.condition.ConditionEditController) NodeRunConstructionResult(org.olat.course.run.navigation.NodeRunConstructionResult)

Aggregations

Roles (org.olat.core.id.Roles)338 Identity (org.olat.core.id.Identity)146 RepositoryEntry (org.olat.repository.RepositoryEntry)104 Test (org.junit.Test)94 GroupRoles (org.olat.basesecurity.GroupRoles)94 ArrayList (java.util.ArrayList)56 SearchRepositoryEntryParameters (org.olat.repository.model.SearchRepositoryEntryParameters)54 RestSecurityHelper.getRoles (org.olat.restapi.security.RestSecurityHelper.getRoles)50 ICourse (org.olat.course.ICourse)44 Produces (javax.ws.rs.Produces)42 BusinessGroup (org.olat.group.BusinessGroup)38 Translator (org.olat.core.gui.translator.Translator)36 NodeRunConstructionResult (org.olat.course.run.navigation.NodeRunConstructionResult)36 GET (javax.ws.rs.GET)34 Controller (org.olat.core.gui.control.Controller)34 TabbableController (org.olat.core.gui.control.generic.tabbable.TabbableController)34 NodeEditController (org.olat.course.editor.NodeEditController)34 Path (javax.ws.rs.Path)30 IdentityEnvironment (org.olat.core.id.IdentityEnvironment)30 RepositoryManager (org.olat.repository.RepositoryManager)30