Search in sources :

Example 81 with Task

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

the class GTACoachController method assessmentReopen.

@Override
public void assessmentReopen(UserRequest ureq) {
    Task task;
    if (businessGroupTask) {
        task = gtaManager.getTask(assessedGroup, taskList);
    } else {
        task = gtaManager.getTask(assessedIdentity, taskList);
    }
    if (task != null && task.getTaskStatus() == TaskProcess.graded) {
        task = gtaManager.updateTask(task, TaskProcess.grading, gtaNode, Role.coach);
        cleanUpProcess();
        process(ureq);
    }
}
Also used : Task(org.olat.course.nodes.gta.Task)

Example 82 with Task

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

the class GTACoachController method event.

@Override
protected void event(UserRequest ureq, Component source, Event event) {
    if (reviewedButton == source) {
        if (submitCorrectionsCtrl != null) {
            Task assignedTask = submitCorrectionsCtrl.getAssignedTask();
            doConfirmReviewDocument(ureq, assignedTask);
        }
    } else if (needRevisionsButton == source) {
        if (submitCorrectionsCtrl != null) {
            Task assignedTask = submitCorrectionsCtrl.getAssignedTask();
            doConfirmRevisions(ureq, assignedTask);
        }
    } else if (emailLink == source) {
        doOpenMailForm(ureq);
    } else if (collectSubmissionsLink == source) {
        doConfirmCollectTask(ureq, (Task) collectSubmissionsLink.getUserObject());
    } else if (backToSubmissionLink == source) {
        doConfirmBackToSubmission(ureq, (Task) backToSubmissionLink.getUserObject());
    } else if (resetTaskButton == source) {
        doConfirmResetTask(ureq, (Task) resetTaskButton.getUserObject());
    }
    super.event(ureq, source, event);
}
Also used : Task(org.olat.course.nodes.gta.Task)

Example 83 with Task

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

the class GTACoachRevisionAndCorrectionsController method event.

@Override
protected void event(UserRequest ureq, Controller source, Event event) {
    if (uploadCorrectionsCtrl == source) {
        if (event instanceof SubmitEvent) {
            Task aTask = uploadCorrectionsCtrl.getAssignedTask();
            gtaManager.log("Corrections", (SubmitEvent) event, aTask, getIdentity(), assessedIdentity, assessedGroup, courseEnv, gtaNode);
        }
    } else if (confirmReturnToRevisionsCtrl == source) {
        if (event == Event.DONE_EVENT) {
            doReturnToRevisions(confirmReturnToRevisionsCtrl.getTask());
            fireEvent(ureq, Event.DONE_EVENT);
        }
        cmc.deactivate();
        cleanUp();
    } else if (confirmCloseRevisionProcessCtrl == source) {
        if (DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event)) {
            doCloseRevisionProcess();
            fireEvent(ureq, Event.DONE_EVENT);
        }
    } else if (confirmCollectCtrl == source) {
        if (DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event)) {
            doCollect();
            fireEvent(ureq, Event.DONE_EVENT);
        }
    } else if (cmc == source) {
        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 84 with Task

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

the class EditMultipleDueDatesController method initForm.

@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    ModuleConfiguration config = gtaNode.getModuleConfiguration();
    assignmentDueDateEl = uifactory.addDateChooser("assignment.duedate", null, formLayout);
    assignmentDueDateEl.setDateChooserTimeEnabled(true);
    DueDate standardAssignmentDueDate = gtaManager.getAssignmentDueDate(null, null, null, gtaNode, courseEntry, false);
    setDueDateExplanation(assignmentDueDateEl, standardAssignmentDueDate);
    assignmentDueDateEl.setVisible(config.getBooleanSafe(GTACourseNode.GTASK_ASSIGNMENT));
    submissionDueDateEl = uifactory.addDateChooser("submission.duedate", null, formLayout);
    submissionDueDateEl.setDateChooserTimeEnabled(true);
    DueDate standardSubmissionDueDate = gtaManager.getSubmissionDueDate(null, null, null, gtaNode, courseEntry, false);
    setDueDateExplanation(submissionDueDateEl, standardSubmissionDueDate);
    boolean submissionDeadline = config.getBooleanSafe(GTACourseNode.GTASK_SUBMIT);
    submissionDueDateEl.setVisible(submissionDeadline);
    if (submissionDeadline) {
        for (Task task : tasks) {
            if (task.getTaskStatus().ordinal() > TaskProcess.submit.ordinal()) {
                StaticTextElement warningReopenEl = uifactory.addStaticTextElement("reopen", translate("warning.reopen"), formLayout);
                warningReopenEl.setElementCssClass("o_gta_reopen_warning");
                warningReopenEl.setLabel(null, null);
                break;
            }
        }
    }
    revisionDueDateEl = uifactory.addDateChooser("revisions.duedate", null, formLayout);
    revisionDueDateEl.setDateChooserTimeEnabled(true);
    revisionDueDateEl.setVisible(config.getBooleanSafe(GTACourseNode.GTASK_REVISION_PERIOD));
    solutionDueDateEl = uifactory.addDateChooser("solution.duedate", null, formLayout);
    solutionDueDateEl.setDateChooserTimeEnabled(true);
    DueDate standardSolutionDueDate = gtaManager.getSolutionDueDate(null, null, null, gtaNode, courseEntry, false);
    setDueDateExplanation(solutionDueDateEl, standardSolutionDueDate);
    solutionDueDateEl.setVisible(config.getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION));
    FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
    formLayout.add(buttonsCont);
    uifactory.addFormCancelButton("cancel", buttonsCont, ureq, getWindowControl());
    uifactory.addFormSubmitButton("save", buttonsCont);
}
Also used : Task(org.olat.course.nodes.gta.Task) ModuleConfiguration(org.olat.modules.ModuleConfiguration) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer) StaticTextElement(org.olat.core.gui.components.form.flexible.elements.StaticTextElement) DueDate(org.olat.course.nodes.gta.model.DueDate) TaskDueDate(org.olat.course.nodes.gta.TaskDueDate)

Example 85 with Task

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

the class GTAAbstractController method process.

protected final void process(UserRequest ureq) {
    Task task;
    if (businessGroupTask) {
        task = gtaManager.getTask(assessedGroup, taskList);
    } else {
        task = gtaManager.getTask(assessedIdentity, taskList);
    }
    if (withSubscription && subsContext != null) {
        contextualSubscriptionCtr = new ContextualSubscriptionController(ureq, getWindowControl(), subsContext, publisherData);
        listenTo(contextualSubscriptionCtr);
        mainVC.put("contextualSubscription", contextualSubscriptionCtr.getInitialComponent());
    }
    boolean assignment = config.getBooleanSafe(GTACourseNode.GTASK_ASSIGNMENT);
    mainVC.contextPut("assignmentEnabled", assignment);
    if (assignment) {
        task = stepAssignment(ureq, task);
    } else if (task == null) {
        TaskProcess firstStep = gtaManager.firstStep(gtaNode);
        task = gtaManager.createTask(null, taskList, firstStep, assessedGroup, assessedIdentity, gtaNode);
    }
    boolean submit = config.getBooleanSafe(GTACourseNode.GTASK_SUBMIT);
    mainVC.contextPut("submitEnabled", submit);
    if (submit) {
        task = stepSubmit(ureq, task);
    } else if (task != null && task.getTaskStatus() == TaskProcess.submit) {
        task = gtaManager.nextStep(task, gtaNode, Role.auto);
    }
    boolean reviewAndCorrection = config.getBooleanSafe(GTACourseNode.GTASK_REVIEW_AND_CORRECTION);
    mainVC.contextPut("reviewAndCorrectionEnabled", reviewAndCorrection);
    if (reviewAndCorrection) {
        task = stepReviewAndCorrection(ureq, task);
    } else if (task != null && task.getTaskStatus() == TaskProcess.review) {
        task = gtaManager.nextStep(task, gtaNode, Role.auto);
    }
    boolean revision = config.getBooleanSafe(GTACourseNode.GTASK_REVISION_PERIOD);
    mainVC.contextPut("revisionEnabled", reviewAndCorrection && revision);
    if (reviewAndCorrection && revision) {
        task = stepRevision(ureq, task);
    } else if (task != null && (task.getTaskStatus() == TaskProcess.revision || task.getTaskStatus() == TaskProcess.correction)) {
        task = gtaManager.nextStep(task, gtaNode, Role.auto);
    }
    boolean solution = config.getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION);
    mainVC.contextPut("solutionEnabled", solution);
    if (solution) {
        stepSolution(ureq, task);
    } else if (task != null && task.getTaskStatus() == TaskProcess.solution) {
        task = gtaManager.nextStep(task, gtaNode, Role.auto);
    }
    boolean grading = config.getBooleanSafe(GTACourseNode.GTASK_GRADING);
    mainVC.contextPut("gradingEnabled", grading);
    if (grading) {
        stepGrading(ureq, task);
    } else if (task != null && task.getTaskStatus() == TaskProcess.grading) {
        task = gtaManager.nextStep(task, gtaNode, Role.auto);
    }
    mainVC.contextPut("changelogconfig", courseModule.isDisplayChangeLog());
    resetTask(ureq, task);
    nodeLog();
    collapsedContents(task);
}
Also used : Task(org.olat.course.nodes.gta.Task) ContextualSubscriptionController(org.olat.core.commons.services.notifications.ui.ContextualSubscriptionController) TaskProcess(org.olat.course.nodes.gta.TaskProcess)

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