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());
}
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);
}
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);
}
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);
}
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);
}
Aggregations