Search in sources :

Example 11 with SystemFilenameFilter

use of org.olat.core.util.io.SystemFilenameFilter in project OpenOLAT by OpenOLAT.

the class GTACoachController method doConfirmCollectTask.

private void doConfirmCollectTask(UserRequest ureq, Task assignedTask) {
    String toName = null;
    if (assessedGroup != null) {
        toName = assessedGroup.getName();
    } else if (assessedIdentity != null) {
        toName = userManager.getUserDisplayName(assessedIdentity);
    }
    File[] submittedDocuments;
    VFSContainer documentsContainer;
    if (GTAType.group.name().equals(config.getStringValue(GTACourseNode.GTASK_TYPE))) {
        documentsContainer = gtaManager.getSubmitContainer(courseEnv, gtaNode, assessedGroup);
        File documentsDir = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedGroup);
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    } else {
        documentsContainer = gtaManager.getSubmitContainer(courseEnv, gtaNode, getIdentity());
        File documentsDir = gtaManager.getSubmitDirectory(courseEnv, gtaNode, getIdentity());
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    }
    FilesLocked lockedBy = TaskHelper.getDocumentsLocked(documentsContainer, submittedDocuments);
    if (lockedBy != null) {
        showWarning("warning.submit.documents.edited", new String[] { lockedBy.getLockedBy(), lockedBy.getLockedFiles() });
    } else {
        String title = translate("coach.collect.confirm.title");
        String text = translate("coach.collect.confirm.text", new String[] { toName });
        text = "<div class='o_warning'>" + text + "</div>";
        confirmCollectCtrl = activateOkCancelDialog(ureq, title, text, confirmCollectCtrl);
        confirmCollectCtrl.setUserObject(assignedTask);
        listenTo(confirmCollectCtrl);
    }
}
Also used : FilesLocked(org.olat.course.nodes.gta.TaskHelper.FilesLocked) VFSContainer(org.olat.core.util.vfs.VFSContainer) SystemFilenameFilter(org.olat.core.util.io.SystemFilenameFilter) File(java.io.File)

Example 12 with SystemFilenameFilter

use of org.olat.core.util.io.SystemFilenameFilter in project OpenOLAT by OpenOLAT.

the class GTAParticipantController method doConfirmSubmit.

private void doConfirmSubmit(UserRequest ureq, Task task) {
    String title = translate("run.submit.button");
    String text;
    File[] submittedDocuments;
    VFSContainer documentsContainer;
    if (GTAType.group.name().equals(config.getStringValue(GTACourseNode.GTASK_TYPE))) {
        documentsContainer = gtaManager.getSubmitContainer(courseEnv, gtaNode, assessedGroup);
        File documentsDir = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedGroup);
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
        if (submittedDocuments.length == 0) {
            text = "<div class='o_warning'>" + translate("run.submit.confirm.warning.group", new String[] { StringHelper.escapeHtml(assessedGroup.getName()) }) + "</div>";
        } else {
            text = translate("run.submit.confirm.group", new String[] { StringHelper.escapeHtml(assessedGroup.getName()) });
        }
    } else {
        documentsContainer = gtaManager.getSubmitContainer(courseEnv, gtaNode, getIdentity());
        File documentsDir = gtaManager.getSubmitDirectory(courseEnv, gtaNode, getIdentity());
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
        if (submittedDocuments.length == 0) {
            text = "<div class='o_warning'>" + translate("run.submit.confirm.warning") + "</div>";
        } else {
            text = translate("run.submit.confirm");
        }
    }
    FilesLocked lockedBy = TaskHelper.getDocumentsLocked(documentsContainer, submittedDocuments);
    if (lockedBy != null) {
        showWarning("warning.submit.documents.edited", new String[] { lockedBy.getLockedBy(), lockedBy.getLockedFiles() });
    } else {
        confirmSubmitDialog = activateOkCancelDialog(ureq, title, text, confirmSubmitDialog);
        confirmSubmitDialog.setUserObject(task);
    }
}
Also used : FilesLocked(org.olat.course.nodes.gta.TaskHelper.FilesLocked) VFSContainer(org.olat.core.util.vfs.VFSContainer) SystemFilenameFilter(org.olat.core.util.io.SystemFilenameFilter) File(java.io.File)

Example 13 with SystemFilenameFilter

use of org.olat.core.util.io.SystemFilenameFilter in project OpenOLAT by OpenOLAT.

the class GTAParticipantRevisionAndCorrectionsController method doSubmitRevisions.

private void doSubmitRevisions() {
    File[] submittedDocuments;
    int iteration = assignedTask.getRevisionLoop();
    if (GTAType.group.name().equals(gtaNode.getModuleConfiguration().getStringValue(GTACourseNode.GTASK_TYPE))) {
        File documentsDir = gtaManager.getRevisedDocumentsDirectory(courseEnv, gtaNode, iteration, assessedGroup);
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    } else {
        File documentsDir = gtaManager.getRevisedDocumentsDirectory(courseEnv, gtaNode, iteration, getIdentity());
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    }
    int numOfDocs = submittedDocuments == null ? 0 : submittedDocuments.length;
    assignedTask = gtaManager.submitRevisions(assignedTask, gtaNode, numOfDocs, Role.user);
    gtaManager.log("Revision", "revision submitted", assignedTask, getIdentity(), getIdentity(), assessedGroup, courseEnv, gtaNode);
    TaskMultiUserEvent event = new TaskMultiUserEvent(TaskMultiUserEvent.SUBMIT_REVISION, assessedGroup == null ? getIdentity() : null, assessedGroup, getIdentity());
    CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(event, taskListEventResource);
    if (businessGroupTask) {
        List<Identity> identities = businessGroupService.getMembers(assessedGroup, GroupRoles.participant.name());
        ICourse course = CourseFactory.loadCourse(courseEnv.getCourseResourceableId());
        for (Identity identity : identities) {
            UserCourseEnvironment userCourseEnv = AssessmentHelper.createAndInitUserCourseEnvironment(identity, course);
            gtaNode.incrementUserAttempts(userCourseEnv, Role.user);
        }
    } else {
        gtaNode.incrementUserAttempts(assessedUserCourseEnv, Role.user);
    }
}
Also used : UserCourseEnvironment(org.olat.course.run.userview.UserCourseEnvironment) SystemFilenameFilter(org.olat.core.util.io.SystemFilenameFilter) TaskMultiUserEvent(org.olat.course.nodes.gta.ui.events.TaskMultiUserEvent) ICourse(org.olat.course.ICourse) Identity(org.olat.core.id.Identity) File(java.io.File)

Example 14 with SystemFilenameFilter

use of org.olat.core.util.io.SystemFilenameFilter in project openolat by klemens.

the class GTAParticipantRevisionAndCorrectionsController method doSubmitRevisions.

private void doSubmitRevisions() {
    File[] submittedDocuments;
    int iteration = assignedTask.getRevisionLoop();
    if (GTAType.group.name().equals(gtaNode.getModuleConfiguration().getStringValue(GTACourseNode.GTASK_TYPE))) {
        File documentsDir = gtaManager.getRevisedDocumentsDirectory(courseEnv, gtaNode, iteration, assessedGroup);
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    } else {
        File documentsDir = gtaManager.getRevisedDocumentsDirectory(courseEnv, gtaNode, iteration, getIdentity());
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    }
    int numOfDocs = submittedDocuments == null ? 0 : submittedDocuments.length;
    assignedTask = gtaManager.submitRevisions(assignedTask, gtaNode, numOfDocs, Role.user);
    gtaManager.log("Revision", "revision submitted", assignedTask, getIdentity(), getIdentity(), assessedGroup, courseEnv, gtaNode);
    TaskMultiUserEvent event = new TaskMultiUserEvent(TaskMultiUserEvent.SUBMIT_REVISION, assessedGroup == null ? getIdentity() : null, assessedGroup, getIdentity());
    CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(event, taskListEventResource);
    if (businessGroupTask) {
        List<Identity> identities = businessGroupService.getMembers(assessedGroup, GroupRoles.participant.name());
        ICourse course = CourseFactory.loadCourse(courseEnv.getCourseResourceableId());
        for (Identity identity : identities) {
            UserCourseEnvironment userCourseEnv = AssessmentHelper.createAndInitUserCourseEnvironment(identity, course);
            gtaNode.incrementUserAttempts(userCourseEnv, Role.user);
        }
    } else {
        gtaNode.incrementUserAttempts(assessedUserCourseEnv, Role.user);
    }
}
Also used : UserCourseEnvironment(org.olat.course.run.userview.UserCourseEnvironment) SystemFilenameFilter(org.olat.core.util.io.SystemFilenameFilter) TaskMultiUserEvent(org.olat.course.nodes.gta.ui.events.TaskMultiUserEvent) ICourse(org.olat.course.ICourse) Identity(org.olat.core.id.Identity) File(java.io.File)

Example 15 with SystemFilenameFilter

use of org.olat.core.util.io.SystemFilenameFilter in project openolat by klemens.

the class GTANotifications method getNumberOfSubmittedDocuments.

private int getNumberOfSubmittedDocuments(Identity assessedIdentity, BusinessGroup assessedGroup) {
    File[] submittedDocuments;
    if (GTAType.group.name().equals(gtaNode.getModuleConfiguration().getStringValue(GTACourseNode.GTASK_TYPE))) {
        File documentsDir = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedGroup);
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    } else {
        File documentsDir = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedIdentity);
        submittedDocuments = documentsDir.listFiles(new SystemFilenameFilter(true, false));
    }
    return submittedDocuments == null ? 0 : submittedDocuments.length;
}
Also used : SystemFilenameFilter(org.olat.core.util.io.SystemFilenameFilter) File(java.io.File)

Aggregations

File (java.io.File)18 SystemFilenameFilter (org.olat.core.util.io.SystemFilenameFilter)18 VFSContainer (org.olat.core.util.vfs.VFSContainer)8 FilesLocked (org.olat.course.nodes.gta.TaskHelper.FilesLocked)8 TaskMultiUserEvent (org.olat.course.nodes.gta.ui.events.TaskMultiUserEvent)4 Identity (org.olat.core.id.Identity)2 ICourse (org.olat.course.ICourse)2 UserCourseEnvironment (org.olat.course.run.userview.UserCourseEnvironment)2