Search in sources :

Example 76 with Task

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

the class GTAParticipantController method event.

@Override
protected void event(UserRequest ureq, Controller source, Event event) {
    if (availableTaskCtrl == source) {
        if (event == Event.DONE_EVENT) {
            cleanUpProcess();
            resetDueDates();
            process(ureq);
        }
    } else if (revisionDocumentsCtrl == source) {
        if (event == Event.DONE_EVENT) {
            cleanUpProcess();
            process(ureq);
        }
    } else if (businessGroupChooserCtrl == source) {
        if (event == Event.DONE_EVENT && businessGroupChooserCtrl.getSelectGroup() != null) {
            cleanUpProcess();
            resetDueDates();
            assessedGroup = businessGroupChooserCtrl.getSelectGroup();
            process(ureq);
        }
        chooserCalloutCtrl.deactivate();
        cleanUpPopups();
    } else if (chooserCalloutCtrl == source) {
        cleanUpPopups();
    } else if (confirmSubmitDialog == source) {
        if (DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event)) {
            Task task = (Task) confirmSubmitDialog.getUserObject();
            doSubmitDocuments(ureq, task);
        }
        cleanUpPopups();
    } else if (confirmResetTaskCtrl == source) {
        if (event == Event.DONE_EVENT) {
            cleanUpProcess();
            process(ureq);
        }
        cmc.deactivate();
        cleanUpPopups();
    } else if (submitDocCtrl == source) {
        boolean hasUploadDocuments = submitDocCtrl.hasUploadDocuments();
        if (event instanceof SubmitEvent) {
            Task assignedTask = submitDocCtrl.getAssignedTask();
            gtaManager.log("Submit", (SubmitEvent) event, assignedTask, getIdentity(), assessedIdentity, assessedGroup, courseEnv, gtaNode);
        } else if (event == Event.DONE_EVENT) {
            cleanUpProcess();
            process(ureq);
        }
        if (submitButton != null) {
            submitButton.setCustomEnabledLinkCSS(hasUploadDocuments ? "btn btn-primary" : "btn btn-default");
        }
    } else if (cmc == source) {
        cleanUpPopups();
    }
    super.event(ureq, source, event);
}
Also used : Task(org.olat.course.nodes.gta.Task) SubmitEvent(org.olat.course.nodes.gta.ui.events.SubmitEvent)

Example 77 with Task

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

the class GTAParticipantRevisionAndCorrectionsController method event.

@Override
protected void event(UserRequest ureq, Controller source, Event event) {
    if (uploadRevisionsCtrl == source) {
        if (event instanceof SubmitEvent) {
            Task aTask = uploadRevisionsCtrl.getAssignedTask();
            gtaManager.log("Revision", (SubmitEvent) event, aTask, getIdentity(), getIdentity(), assessedGroup, courseEnv, gtaNode);
        } else if (event == Event.DONE_EVENT) {
            fireEvent(ureq, Event.DONE_EVENT);
        }
        submitRevisionButton.setCustomEnabledLinkCSS(uploadRevisionsCtrl.hasUploadDocuments() ? "btn btn-primary" : "btn btn-default");
    } else if (confirmSubmitDialog == source) {
        if (DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event)) {
            doSubmitRevisions();
            fireEvent(ureq, Event.DONE_EVENT);
        }
        cleanUp();
    }
    super.event(ureq, source, event);
}
Also used : Task(org.olat.course.nodes.gta.Task) SubmitEvent(org.olat.course.nodes.gta.ui.events.SubmitEvent)

Example 78 with Task

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

the class GTACoachedGroupListController method doEditDueDate.

private void doEditDueDate(UserRequest ureq, CoachedGroupRow row) {
    if (editDueDatesCtrl != null)
        return;
    Task task;
    BusinessGroup assessedGroup = row.getBusinessGroup();
    RepositoryEntry entry = coachCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
    if (row.getTask() == null) {
        TaskProcess firstStep = gtaManager.firstStep(gtaNode);
        TaskList taskList = gtaManager.getTaskList(entry, gtaNode);
        task = gtaManager.createAndPersistTask(null, taskList, firstStep, assessedGroup, null, gtaNode);
    } else {
        task = gtaManager.getTask(row.getTask());
    }
    editDueDatesCtrl = new EditDueDatesController(ureq, getWindowControl(), task, null, assessedGroup, gtaNode, entry, courseEnv);
    listenTo(editDueDatesCtrl);
    String title = translate("duedates.user", new String[] { StringHelper.escapeHtml(assessedGroup.getName()) });
    cmc = new CloseableModalController(getWindowControl(), "close", editDueDatesCtrl.getInitialComponent(), true, title, true);
    listenTo(cmc);
    cmc.activate();
}
Also used : Task(org.olat.course.nodes.gta.Task) BusinessGroup(org.olat.group.BusinessGroup) TaskProcess(org.olat.course.nodes.gta.TaskProcess) CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) TaskList(org.olat.course.nodes.gta.TaskList) RepositoryEntry(org.olat.repository.RepositoryEntry)

Example 79 with Task

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

the class GTACoachedParticipantListController method doEditDueDate.

private void doEditDueDate(UserRequest ureq, CoachedIdentityRow row) {
    if (editDueDatesCtrl != null)
        return;
    Task task;
    Identity assessedIdentity = securityManager.loadIdentityByKey(row.getIdentity().getIdentityKey());
    RepositoryEntry entry = coachCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
    if (row.getTask() == null) {
        TaskProcess firstStep = gtaManager.firstStep(gtaNode);
        TaskList taskList = gtaManager.getTaskList(entry, gtaNode);
        task = gtaManager.createAndPersistTask(null, taskList, firstStep, null, assessedIdentity, gtaNode);
    } else {
        task = gtaManager.getTask(row.getTask());
    }
    editDueDatesCtrl = new EditDueDatesController(ureq, getWindowControl(), task, assessedIdentity, null, gtaNode, entry, courseEnv);
    listenTo(editDueDatesCtrl);
    String fullname = userManager.getUserDisplayName(assessedIdentity);
    String title = translate("duedates.user", new String[] { fullname });
    cmc = new CloseableModalController(getWindowControl(), "close", editDueDatesCtrl.getInitialComponent(), true, title, true);
    listenTo(cmc);
    cmc.activate();
}
Also used : Task(org.olat.course.nodes.gta.Task) TaskProcess(org.olat.course.nodes.gta.TaskProcess) CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) TaskList(org.olat.course.nodes.gta.TaskList) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity)

Example 80 with Task

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

the class GTAManagerImpl method selectTask.

private AssignmentResponse selectTask(Identity identity, BusinessGroup businessGroup, TaskList tasks, GTACourseNode cNode, File taskFile) {
    Task currentTask;
    if (businessGroup != null) {
        currentTask = getTask(businessGroup, tasks);
    } else {
        currentTask = getTask(identity, tasks);
    }
    AssignmentResponse response;
    if (currentTask == null) {
        String taskName = taskFile.getName();
        TaskList reloadedTasks = loadForUpdate(tasks);
        String sampling = cNode.getModuleConfiguration().getStringValue(GTACourseNode.GTASK_SAMPLING);
        if (GTACourseNode.GTASK_SAMPLING_UNIQUE.equals(sampling) && isTaskAssigned(reloadedTasks, taskName)) {
            response = new AssignmentResponse(null, Status.alreadyAssigned);
        } else {
            TaskProcess nextStep = nextStep(TaskProcess.assignment, cNode);
            TaskImpl task = createTask(taskName, reloadedTasks, nextStep, businessGroup, identity, cNode);
            task.setAssignmentDate(new Date());
            dbInstance.getCurrentEntityManager().persist(task);
            syncAssessmentEntry(task, cNode, Role.user);
            response = new AssignmentResponse(task, Status.ok);
        }
        dbInstance.commit();
    } else {
        if (currentTask.getTaskStatus() == TaskProcess.assignment) {
            TaskProcess nextStep = nextStep(currentTask.getTaskStatus(), cNode);
            ((TaskImpl) currentTask).setTaskStatus(nextStep);
            if (taskFile != null) {
                ((TaskImpl) currentTask).setTaskName(taskFile.getName());
            }
        }
        currentTask = dbInstance.getCurrentEntityManager().merge(currentTask);
        syncAssessmentEntry((TaskImpl) currentTask, cNode, Role.user);
        response = new AssignmentResponse(currentTask, Status.ok);
    }
    return response;
}
Also used : Task(org.olat.course.nodes.gta.Task) TaskProcess(org.olat.course.nodes.gta.TaskProcess) TaskImpl(org.olat.course.nodes.gta.model.TaskImpl) TaskList(org.olat.course.nodes.gta.TaskList) AssignmentResponse(org.olat.course.nodes.gta.AssignmentResponse) Date(java.util.Date) TaskDueDate(org.olat.course.nodes.gta.TaskDueDate) TaskRevisionDate(org.olat.course.nodes.gta.TaskRevisionDate) DueDate(org.olat.course.nodes.gta.model.DueDate)

Aggregations

Task (org.olat.course.nodes.gta.Task)86 TaskList (org.olat.course.nodes.gta.TaskList)36 Identity (org.olat.core.id.Identity)34 RepositoryEntry (org.olat.repository.RepositoryEntry)34 File (java.io.File)32 Test (org.junit.Test)24 GTACourseNode (org.olat.course.nodes.GTACourseNode)24 AssignmentResponse (org.olat.course.nodes.gta.AssignmentResponse)20 BusinessGroup (org.olat.group.BusinessGroup)18 TaskProcess (org.olat.course.nodes.gta.TaskProcess)16 TaskRevisionDate (org.olat.course.nodes.gta.TaskRevisionDate)14 DueDate (org.olat.course.nodes.gta.model.DueDate)10 Date (java.util.Date)8 TaskDueDate (org.olat.course.nodes.gta.TaskDueDate)8 SubmitEvent (org.olat.course.nodes.gta.ui.events.SubmitEvent)8 ArrayList (java.util.ArrayList)6 HashSet (java.util.HashSet)6 CloseableModalController (org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)6 TaskImpl (org.olat.course.nodes.gta.model.TaskImpl)6 ModuleConfiguration (org.olat.modules.ModuleConfiguration)6