Search in sources :

Example 31 with TaskDefinition

use of org.olat.course.nodes.gta.model.TaskDefinition in project openolat by klemens.

the class AbstractAssignmentEditController method doAddTask.

private void doAddTask(UserRequest ureq) {
    List<TaskDefinition> currentDefinitions = gtaManager.getTaskDefinitions(courseEnv, gtaNode);
    addTaskCtrl = new EditTaskController(ureq, getWindowControl(), tasksFolder, currentDefinitions);
    listenTo(addTaskCtrl);
    String title = translate("add.task");
    cmc = new CloseableModalController(getWindowControl(), null, addTaskCtrl.getInitialComponent(), true, title, false);
    listenTo(cmc);
    cmc.activate();
}
Also used : TaskDefinition(org.olat.course.nodes.gta.model.TaskDefinition) CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)

Example 32 with TaskDefinition

use of org.olat.course.nodes.gta.model.TaskDefinition in project openolat by klemens.

the class ConvertToGTACourseNode method convertTasks.

private void convertTasks(TaskList taskList, TACourseNode sourceNode, GTACourseNode gtaNode, ICourse course) {
    File taskFolder = new File(FolderConfig.getCanonicalRoot(), TACourseNode.getTaskFolderPathRelToFolderRoot(course, sourceNode));
    OlatRootFolderImpl taskContainer = new OlatRootFolderImpl(TACourseNode.getTaskFolderPathRelToFolderRoot(course, sourceNode), null);
    CourseEnvironment courseEnv = course.getCourseEnvironment();
    File gtaskDirectory = gtaManager.getTasksDirectory(courseEnv, gtaNode);
    VFSContainer gtaskContainer = gtaManager.getTasksContainer(courseEnv, gtaNode);
    // make the task
    TaskDefinitionList taskDefs = new TaskDefinitionList();
    for (File task : taskFolder.listFiles(SystemFileFilter.FILES_ONLY)) {
        TaskDefinition taskDef = new TaskDefinition();
        taskDef.setDescription("");
        taskDef.setFilename(task.getName());
        taskDef.setTitle(task.getName());
        taskDefs.getTasks().add(taskDef);
        try {
            File target = new File(gtaskDirectory, task.getName());
            Files.copy(task.toPath(), target.toPath(), StandardCopyOption.REPLACE_EXISTING);
            convertMetada(taskContainer, gtaskContainer, task.getName(), taskDef, null);
        } catch (Exception ex) {
            log.error("", ex);
        }
        List<Property> samples = courseEnv.getCoursePropertyManager().listCourseNodeProperties(sourceNode, null, null, TaskController.PROP_ASSIGNED);
        for (Property sample : samples) {
            File taskFile = new File(gtaskDirectory, sample.getStringValue());
            Identity id = securityManager.loadIdentityByKey(sample.getIdentity().getKey());
            gtaManager.selectTask(id, taskList, gtaNode, taskFile);
        }
    }
    gtaNode.getModuleConfiguration().set(GTACourseNode.GTASK_TASKS, taskDefs);
}
Also used : TaskDefinition(org.olat.course.nodes.gta.model.TaskDefinition) OlatRootFolderImpl(org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl) CourseEnvironment(org.olat.course.run.environment.CourseEnvironment) UserCourseEnvironment(org.olat.course.run.userview.UserCourseEnvironment) VFSContainer(org.olat.core.util.vfs.VFSContainer) TaskDefinitionList(org.olat.course.nodes.gta.model.TaskDefinitionList) Identity(org.olat.core.id.Identity) File(java.io.File) Property(org.olat.properties.Property)

Aggregations

TaskDefinition (org.olat.course.nodes.gta.model.TaskDefinition)32 File (java.io.File)10 ArrayList (java.util.ArrayList)8 Path (java.nio.file.Path)4 CloseableModalController (org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)4 TaskDefinitionList (org.olat.course.nodes.gta.model.TaskDefinitionList)4 ModuleConfiguration (org.olat.modules.ModuleConfiguration)4 IdentityRef (org.olat.basesecurity.IdentityRef)2 OlatRootFolderImpl (org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl)2 FormItem (org.olat.core.gui.components.form.flexible.FormItem)2 DownloadLink (org.olat.core.gui.components.form.flexible.elements.DownloadLink)2 FormLink (org.olat.core.gui.components.form.flexible.elements.FormLink)2 Identity (org.olat.core.id.Identity)2 VFSContainer (org.olat.core.util.vfs.VFSContainer)2 VFSItem (org.olat.core.util.vfs.VFSItem)2 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)2 ICourse (org.olat.course.ICourse)2 StatusDescription (org.olat.course.editor.StatusDescription)2 GTAManager (org.olat.course.nodes.gta.GTAManager)2 CourseEnvironment (org.olat.course.run.environment.CourseEnvironment)2