use of org.olat.course.ICourse in project OpenOLAT by OpenOLAT.
the class UnpublishResourceCallback method doCleanGroups.
/**
* do unsubscribe all group members from this course
*/
private void doCleanGroups(Identity identity) {
ICourse course = CourseFactory.loadCourse(repositoryEntry);
if (course != null) {
// LearningGroups
List<BusinessGroup> allGroups = course.getCourseEnvironment().getCourseGroupManager().getAllBusinessGroups();
for (BusinessGroup bGroup : allGroups) {
List<BusinessGroup> bGroupList = Collections.singletonList(bGroup);
List<RepositoryEntry> entries = businessGroupService.findRepositoryEntries(bGroupList, 0, -1);
if (entries.contains(repositoryEntry) && entries.size() == 1) {
List<Identity> owners = businessGroupService.getMembers(bGroup, GroupRoles.coach.name());
businessGroupService.removeOwners(identity, owners, bGroup);
List<Identity> participants = businessGroupService.getMembers(bGroup, GroupRoles.participant.name());
businessGroupService.removeParticipants(identity, participants, bGroup, null);
List<Identity> waitingList = businessGroupService.getMembers(bGroup, GroupRoles.waiting.name());
businessGroupService.removeFromWaitingList(identity, waitingList, bGroup, null);
} else {
businessGroupService.removeResourceFrom(bGroupList, repositoryEntry);
}
}
repositoryService.removeMembers(repositoryEntry, GroupRoles.coach.name(), GroupRoles.participant.name());
}
}
use of org.olat.course.ICourse in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method putLecturesBlock_autoclosed.
/**
* Check that the done and autoclosed status are set.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void putLecturesBlock_autoclosed() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence", "Course with absence", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
String externalId = UUID.randomUUID().toString();
LectureBlockVO lectureBlockVo = new LectureBlockVO();
lectureBlockVo.setTitle("A block to close");
lectureBlockVo.setDescription("A description");
lectureBlockVo.setManagedFlagsString("all");
lectureBlockVo.setPlannedLectures(4);
lectureBlockVo.setExternalId(externalId);
lectureBlockVo.setStartDate(new Date());
lectureBlockVo.setEndDate(new Date());
lectureBlockVo.setStatus("done");
lectureBlockVo.setRollCallStatus("autoclosed");
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("entries").path(entry.getKey().toString()).path("lectureblocks").build();
HttpPut method = conn.createPut(uri, MediaType.APPLICATION_JSON, true);
conn.addJsonEntity(method, lectureBlockVo);
HttpResponse response = conn.execute(method);
// check the response
Assertions.assertThat(response.getStatusLine().getStatusCode()).isIn(200, 201);
LectureBlockVO blockVo = conn.parse(response.getEntity().getContent(), LectureBlockVO.class);
Assert.assertNotNull(blockVo);
// check the database
LectureBlock dbBlock = lectureService.getLectureBlock(new LectureBlockRefImpl(blockVo.getKey()));
Assert.assertNotNull(dbBlock);
Assert.assertEquals("A block to close", dbBlock.getTitle());
Assert.assertEquals("A description", dbBlock.getDescription());
Assert.assertEquals("all", dbBlock.getManagedFlagsString());
Assert.assertEquals(4, dbBlock.getPlannedLecturesNumber());
Assert.assertEquals(externalId, dbBlock.getExternalId());
Assert.assertNotNull(dbBlock.getStartDate());
Assert.assertNotNull(dbBlock.getEndDate());
Assert.assertEquals(LectureBlockStatus.done, dbBlock.getStatus());
Assert.assertEquals(LectureRollCallStatus.autoclosed, dbBlock.getRollCallStatus());
}
use of org.olat.course.ICourse in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method deleteLectureBlock.
@Test
public void deleteLectureBlock() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence config", "Course with absence configuration", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
LectureBlock block = createLectureBlock(entry);
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("entries").path(entry.getKey().toString()).path("lectureblocks").path(block.getKey().toString()).build();
HttpDelete method = conn.createDelete(uri, MediaType.APPLICATION_JSON);
HttpResponse response = conn.execute(method);
// check the response
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
LectureBlock deletedBlock = lectureService.getLectureBlock(block);
Assert.assertNull(deletedBlock);
}
use of org.olat.course.ICourse in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method getLecturesBlock_course.
/**
* Get the list of lecture block through the course.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void getLecturesBlock_course() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence", "Course with absence", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
LectureBlock block = createLectureBlock(entry);
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("courses").path(course.getResourceableId().toString()).path("lectureblocks").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
List<LectureBlockVO> voList = parseLectureBlockArray(response.getEntity().getContent());
Assert.assertNotNull(voList);
Assert.assertEquals(1, voList.size());
LectureBlockVO blockVo = voList.get(0);
Assert.assertEquals(block.getKey(), blockVo.getKey());
Assert.assertEquals(entry.getKey(), blockVo.getRepoEntryKey());
}
use of org.olat.course.ICourse in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method getLectureBlock.
@Test
public void getLectureBlock() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence config", "Course with absence configuration", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
LectureBlock block = createLectureBlock(entry);
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("entries").path(entry.getKey().toString()).path("lectureblocks").path(block.getKey().toString()).build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
// check the response
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
LectureBlockVO blockVo = conn.parse(response, LectureBlockVO.class);
Assert.assertNotNull(blockVo);
Assert.assertEquals(block.getKey(), blockVo.getKey());
Assert.assertEquals(entry.getKey(), blockVo.getRepoEntryKey());
}
Aggregations