use of org.olat.modules.portfolio.Page in project OpenOLAT by OpenOLAT.
the class ExportBinderAsCPResource method createImsManifest.
private ManifestType createImsManifest(Binder binder, List<Section> sections, List<Page> pages) {
ManifestType manifest = cpObjectFactory.createManifestType();
manifest.setIdentifier(UUID.randomUUID().toString());
// schema
ManifestMetadataType metadataType = cpObjectFactory.createManifestMetadataType();
manifest.setMetadata(metadataType);
// organizations
OrganizationsType organizations = cpObjectFactory.createOrganizationsType();
manifest.setOrganizations(organizations);
OrganizationType organization = cpObjectFactory.createOrganizationType();
organization.setIdentifier("binder_" + binder.getKey());
organization.setTitle(binder.getTitle());
organization.setStructure("hierarchical");
organizations.getOrganization().add(organization);
organizations.setDefault(organization);
ResourcesType resources = cpObjectFactory.createResourcesType();
manifest.setResources(resources);
Map<Section, ItemType> sectionToItemMap = new HashMap<>();
for (Section section : sections) {
ItemType sectionItem = cpObjectFactory.createItemType();
String itemIdentifier = "section_" + section.getKey().toString();
String resourceIdentifier = "res_" + itemIdentifier;
sectionItem.setTitle(section.getTitle());
sectionItem.setIdentifier(itemIdentifier);
sectionItem.setIdentifierref(resourceIdentifier);
sectionItem.setIsvisible(Boolean.TRUE);
organization.getItem().add(sectionItem);
sectionToItemMap.put(section, sectionItem);
ResourceType resource = cpObjectFactory.createResourceType();
resource.setIdentifier(resourceIdentifier);
resource.setType("webcontent");
resource.setHref(sectionFilename(section));
resources.getResource().add(resource);
}
for (Page page : pages) {
ItemType sectionItem = sectionToItemMap.get(page.getSection());
if (sectionItem == null) {
continue;
}
ItemType pageItem = cpObjectFactory.createItemType();
pageItem.setTitle(page.getTitle());
String itemIdentifier = "page_" + page.getKey().toString();
String resourceIdentifier = "res_" + itemIdentifier;
pageItem.setIdentifier(itemIdentifier);
pageItem.setIdentifierref(resourceIdentifier);
pageItem.setIsvisible(Boolean.TRUE);
sectionItem.getItem().add(pageItem);
ResourceType resource = cpObjectFactory.createResourceType();
resource.setIdentifier(resourceIdentifier);
resource.setType("webcontent");
resource.setHref(pageFilename(page));
resources.getResource().add(resource);
}
return manifest;
}
use of org.olat.modules.portfolio.Page in project OpenOLAT by OpenOLAT.
the class PageRunController method doMoveToTrash.
private void doMoveToTrash(UserRequest ureq) {
Page floatingPage = portfolioService.removePage(page);
fireEvent(ureq, new PageRemovedEvent(floatingPage));
}
use of org.olat.modules.portfolio.Page in project OpenOLAT by OpenOLAT.
the class EvaluationFormResponseDAOTest method createResponseforPortfolio.
@Test
public void createResponseforPortfolio() {
// prepare a test case with the binder up to the page body
Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("eva-1");
BinderImpl binder = binderDao.createAndPersist("Binder evaluation 1", "A binder with an evaluation", null, null);
Section section = binderDao.createSection("Section", "First section", null, null, binder);
dbInstance.commit();
Section reloadedSection = binderDao.loadSectionByKey(section.getKey());
Page page = pageDao.createAndPersist("Page 1", "A page with an evalutation.", null, null, true, reloadedSection, null);
dbInstance.commit();
RepositoryEntry formEntry = createFormEntry("Eva. form for responses");
PageBody reloadedBody = pageDao.loadPageBodyByKey(page.getBody().getKey());
EvaluationFormSession session = evaluationFormSessionDao.createSessionForPortfolio(id, reloadedBody, formEntry);
dbInstance.commit();
// create a response
String responseIdentifier = UUID.randomUUID().toString();
BigDecimal numericalValue = new BigDecimal("2.2");
String stringuifiedResponse = numericalValue.toPlainString();
Path fileResponse = Paths.get("this", "is", "a", "path");
EvaluationFormResponse response = evaluationFormResponseDao.createResponse(responseIdentifier, numericalValue, stringuifiedResponse, fileResponse, session);
dbInstance.commit();
Assert.assertNotNull(response);
Assert.assertNotNull(response.getKey());
Assert.assertNotNull(response.getCreationDate());
Assert.assertNotNull(response.getLastModified());
Assert.assertEquals(session, response.getSession());
Assert.assertEquals(numericalValue, response.getNumericalResponse());
Assert.assertEquals(stringuifiedResponse, response.getStringuifiedResponse());
Assert.assertEquals(fileResponse, response.getFileResponse());
Assert.assertEquals(responseIdentifier, response.getResponseIdentifier());
}
use of org.olat.modules.portfolio.Page in project OpenOLAT by OpenOLAT.
the class MediaDAOTest method usedInBinders.
@Test
public void usedInBinders() {
Identity author = JunitTestHelper.createAndPersistIdentityAsRndUser("pf-media-2");
Binder binder = portfolioService.createNewBinder("Binder p2", "A binder with 2 page", null, author);
Section section = binderDao.createSection("Section", "First section", null, null, binder);
dbInstance.commitAndCloseSession();
Section reloadedSection = binderDao.loadSectionByKey(section.getKey());
Page page = pageDao.createAndPersist("Page 1", "A page with content.", null, null, true, reloadedSection, null);
Media media = mediaDao.createMedia("Media", "Binder", "Une citation sur les classeurs", TextHandler.TEXT_MEDIA, "[Media:0]", null, 10, author);
dbInstance.commitAndCloseSession();
MediaPart mediaPart = new MediaPart();
mediaPart.setMedia(media);
PageBody reloadedBody = pageDao.loadPageBodyByKey(page.getBody().getKey());
pageDao.persistPart(reloadedBody, mediaPart);
dbInstance.commitAndCloseSession();
// reload
List<BinderPageUsage> binders = mediaDao.usedInBinders(media);
Assert.assertNotNull(binders);
Assert.assertEquals(1, binders.size());
Assert.assertTrue(binders.get(0).getBinderKey().equals(binder.getKey()));
}
use of org.olat.modules.portfolio.Page in project openolat by klemens.
the class AbstractPageListController method doOpenAssignment.
private void doOpenAssignment(UserRequest ureq, PortfolioElementRow row) {
Assignment assignment = row.getAssignment();
if (assignment.getAssignmentType() == AssignmentType.essay || assignment.getAssignmentType() == AssignmentType.document) {
Page page = assignment.getPage();
Page reloadedPage = portfolioService.getPageByKey(page.getKey());
doOpenPage(ureq, reloadedPage, false);
} else {
showWarning("not.implemented");
}
}
Aggregations