Search in sources :

Example 21 with DialogElement

use of org.olat.course.nodes.dialog.DialogElement in project OpenOLAT by OpenOLAT.

the class DialogCourseNodeRunController method doFinalizeUploadFile.

private void doFinalizeUploadFile(VFSLeaf file) {
    // everything when well so save the property
    DialogElement element = dialogElmsMgr.createDialogElement(entry, getIdentity(), file.getName(), file.getSize(), courseNode.getIdent());
    VFSContainer dialogContainer = dialogElmsMgr.getDialogContainer(element);
    VFSManager.copyContent(file.getParentContainer(), dialogContainer);
    // inform subscription manager about new element
    if (subsContext != null) {
        notificationsManager.markPublisherNews(subsContext, getIdentity(), true);
    }
    filesCtrl.loadModel();
}
Also used : VFSContainer(org.olat.core.util.vfs.VFSContainer) DialogElement(org.olat.course.nodes.dialog.DialogElement)

Example 22 with DialogElement

use of org.olat.course.nodes.dialog.DialogElement in project OpenOLAT by OpenOLAT.

the class DialogCourseNodeRunController method doDialog.

private void doDialog(UserRequest ureq, DialogElementRow row) {
    removeAsListenerAndDispose(dialogCtr);
    DialogElement element = dialogElmsMgr.getDialogElementByKey(row.getDialogElementKey());
    if (element == null) {
        showInfo("element.already.deleted");
        filesCtrl.loadModel();
    } else {
        dialogCtr = new DialogElementController(ureq, getWindowControl(), element, userCourseEnv, courseNode, nodeEvaluation);
        listenTo(dialogCtr);
        mainVC.put("forum", dialogCtr.getInitialComponent());
    }
}
Also used : DialogElement(org.olat.course.nodes.dialog.DialogElement)

Example 23 with DialogElement

use of org.olat.course.nodes.dialog.DialogElement in project OpenOLAT by OpenOLAT.

the class DialogCourseNodeRunController method activateByDialogElement.

private void activateByDialogElement(UserRequest ureq, Long elementKey) {
    DialogElement element = dialogElmsMgr.getDialogElementByKey(elementKey);
    if (!checkAccess(element)) {
        return;
    }
    dialogCtr = new DialogElementController(ureq, getWindowControl(), element, userCourseEnv, courseNode, nodeEvaluation);
    listenTo(dialogCtr);
    mainVC.put("forum", dialogCtr.getInitialComponent());
}
Also used : DialogElement(org.olat.course.nodes.dialog.DialogElement)

Example 24 with DialogElement

use of org.olat.course.nodes.dialog.DialogElement in project OpenOLAT by OpenOLAT.

the class DialogCourseNodeRunController method doCopySelectedFile.

private void doCopySelectedFile(String fileUrl) {
    VFSContainer courseContainer = userCourseEnv.getCourseEnvironment().getCourseFolderContainer();
    VFSLeaf vl = (VFSLeaf) courseContainer.resolve(fileUrl);
    DialogElement newElement = dialogElmsMgr.createDialogElement(entry, getIdentity(), vl.getName(), vl.getSize(), courseNode.getIdent());
    // copy file
    VFSContainer dialogContainer = dialogElmsMgr.getDialogContainer(newElement);
    VFSLeaf copyVl = dialogContainer.createChildLeaf(vl.getName());
    if (copyVl == null) {
        copyVl = (VFSLeaf) dialogContainer.resolve(vl.getName());
    }
    VFSManager.copyContent(vl, copyVl);
    // inform subscription manager about new element
    if (subsContext != null) {
        notificationsManager.markPublisherNews(subsContext, getIdentity(), true);
    }
    filesCtrl.loadModel();
}
Also used : VFSLeaf(org.olat.core.util.vfs.VFSLeaf) VFSContainer(org.olat.core.util.vfs.VFSContainer) DialogElement(org.olat.course.nodes.dialog.DialogElement)

Example 25 with DialogElement

use of org.olat.course.nodes.dialog.DialogElement in project openolat by klemens.

the class DialogCourseNodeIndexer method doIndex.

@Override
public void doIndex(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter) throws IOException, InterruptedException {
    SearchResourceContext courseNodeResourceContext = createSearchResourceContext(repositoryResourceContext, courseNode, null);
    Document document = CourseNodeDocument.createDocument(courseNodeResourceContext, courseNode);
    indexWriter.addDocument(document);
    RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
    DialogElementsManager dialogElmsMgr = CoreSpringFactory.getImpl(DialogElementsManager.class);
    List<DialogElement> elements = dialogElmsMgr.getDialogElements(entry, courseNode.getIdent());
    for (DialogElement element : elements) {
        Forum forum = element.getForum();
        doIndexAllMessages(courseNodeResourceContext, forum, indexWriter);
        doIndexFile(element, courseNodeResourceContext, indexWriter);
    }
}
Also used : SearchResourceContext(org.olat.search.service.SearchResourceContext) DialogElement(org.olat.course.nodes.dialog.DialogElement) RepositoryEntry(org.olat.repository.RepositoryEntry) Document(org.apache.lucene.document.Document) ForumMessageDocument(org.olat.search.service.document.ForumMessageDocument) CourseNodeDocument(org.olat.search.service.document.CourseNodeDocument) DialogElementsManager(org.olat.course.nodes.dialog.DialogElementsManager) Forum(org.olat.modules.fo.Forum)

Aggregations

DialogElement (org.olat.course.nodes.dialog.DialogElement)36 RepositoryEntry (org.olat.repository.RepositoryEntry)14 Identity (org.olat.core.id.Identity)6 VFSContainer (org.olat.core.util.vfs.VFSContainer)6 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)6 DialogElementsManager (org.olat.course.nodes.dialog.DialogElementsManager)6 Forum (org.olat.modules.fo.Forum)6 File (java.io.File)4 ArrayList (java.util.ArrayList)4 Test (org.junit.Test)4 SubscriptionContext (org.olat.core.commons.services.notifications.SubscriptionContext)4 DownloadLink (org.olat.core.gui.components.form.flexible.elements.DownloadLink)4 Date (java.util.Date)2 Document (org.apache.lucene.document.Document)2 Publisher (org.olat.core.commons.services.notifications.Publisher)2 SubscriptionInfo (org.olat.core.commons.services.notifications.SubscriptionInfo)2 SubscriptionListItem (org.olat.core.commons.services.notifications.model.SubscriptionListItem)2 TitleItem (org.olat.core.commons.services.notifications.model.TitleItem)2 FormLink (org.olat.core.gui.components.form.flexible.elements.FormLink)2 SelectionEvent (org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent)2