use of org.olat.course.nodes.gta.Task in project openolat by klemens.
the class GTACoachController method assessmentDone.
@Override
public void assessmentDone(UserRequest ureq) {
Task task;
if (businessGroupTask) {
task = gtaManager.getTask(assessedGroup, taskList);
} else {
task = gtaManager.getTask(assessedIdentity, taskList);
}
if (task != null) {
task = gtaManager.updateTask(task, TaskProcess.graded, gtaNode, Role.coach);
cleanUpProcess();
process(ureq);
}
}
use of org.olat.course.nodes.gta.Task in project openolat by klemens.
the class EditMultipleDueDatesController method formOK.
@Override
protected void formOK(UserRequest ureq) {
for (Task task : tasks) {
TaskDueDate dueDates = gtaManager.getDueDatesTask(task);
dueDates.setAssignmentDueDate(assignmentDueDateEl.getDate());
dueDates.setSubmissionDueDate(submissionDueDateEl.getDate());
dueDates.setRevisionsDueDate(revisionDueDateEl.getDate());
dueDates.setSolutionDueDate(solutionDueDateEl.getDate());
dueDates = gtaManager.updateTaskDueDate(dueDates);
if (task.getTaskStatus().ordinal() > TaskProcess.submit.ordinal() && dueDates.getSubmissionDueDate() != null && dueDates.getSubmissionDueDate().after(ureq.getRequestTimestamp())) {
// only submit allowed
TaskProcess submit = gtaManager.previousStep(TaskProcess.review, gtaNode);
if (submit == TaskProcess.submit) {
task = gtaManager.updateTask(task, submit, gtaNode, Role.coach);
gtaManager.log("Back to submission", "revert status of task back to submission", task, getIdentity(), task.getIdentity(), task.getBusinessGroup(), courseEnv, gtaNode);
}
}
}
fireEvent(ureq, Event.DONE_EVENT);
}
use of org.olat.course.nodes.gta.Task in project openolat by klemens.
the class AbstractDueDateTaskRuleSPI method getIndividualsToRemind.
protected List<Identity> getIndividualsToRemind(TaskList taskList, RepositoryEntry entry, GTACourseNode gtaNode) {
List<Task> tasks = gtaManager.getTasks(taskList, gtaNode);
Set<Identity> doneTasks = new HashSet<Identity>();
for (Task task : tasks) {
if (task.getIdentity() != null) {
doneTasks.add(task.getIdentity());
}
}
List<Identity> identities = repositoryEntryRelationDao.getMembers(entry, RepositoryEntryRelationType.both, GroupRoles.participant.name());
for (Iterator<Identity> identityIt = identities.iterator(); identityIt.hasNext(); ) {
if (doneTasks.contains(identityIt.next())) {
identityIt.remove();
}
}
return identities;
}
use of org.olat.course.nodes.gta.Task in project openolat by klemens.
the class GTAManagerTest method deleteTaskList_withRevisionDates.
@Test
public void deleteTaskList_withRevisionDates() {
Identity coach = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-9");
Identity participant = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-10");
BusinessGroup businessGroup = businessGroupDao.createAndPersist(coach, "gdao", "gdao-desc", -1, -1, false, false, false, false, false);
businessGroupRelationDao.addRole(participant, businessGroup, GroupRole.participant.name());
dbInstance.commit();
RepositoryEntry re = deployGTACourse();
GTACourseNode node = getGTACourseNode(re);
node.getModuleConfiguration().setStringValue(GTACourseNode.GTASK_TYPE, GTAType.group.name());
TaskList tasks = gtaManager.createIfNotExists(re, node);
File taskFile = new File("bg.txt");
Assert.assertNotNull(tasks);
dbInstance.commit();
// select
AssignmentResponse response = gtaManager.selectTask(businessGroup, tasks, node, taskFile);
dbInstance.commitAndCloseSession();
Assert.assertNotNull(response);
// check that there is tasks
List<Task> assignedTasks = gtaManager.getTasks(participant, re, node);
Assert.assertNotNull(assignedTasks);
Assert.assertEquals(1, assignedTasks.size());
// create a revision date
gtaManager.createAndPersistTaskRevisionDate(assignedTasks.get(0), 2, TaskProcess.correction);
dbInstance.commitAndCloseSession();
// delete
int numOfDeletedObjects = gtaManager.deleteTaskList(re, node);
Assert.assertEquals(3, numOfDeletedObjects);
dbInstance.commitAndCloseSession();
// check that there isn't any tasks
List<Task> deletedAssignedTasks = gtaManager.getTasks(participant, re, node);
Assert.assertNotNull(deletedAssignedTasks);
Assert.assertEquals(0, deletedAssignedTasks.size());
}
use of org.olat.course.nodes.gta.Task in project openolat by klemens.
the class GTAManagerTest method deleteAllTaskLists_parano.
/**
* Create 2 pseudo courses in a course, and delete the task of the first course
* and check that the task of second are always there.
*/
@Test
public void deleteAllTaskLists_parano() {
Identity coach = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-20");
Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-21");
Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-22");
RepositoryEntry re1 = deployGTACourse();
repositoryEntryRelationDao.addRole(coach, re1, GroupRoles.coach.name());
repositoryEntryRelationDao.addRole(participant1, re1, GroupRoles.participant.name());
repositoryEntryRelationDao.addRole(participant2, re1, GroupRoles.participant.name());
// course 1
GTACourseNode node1 = getGTACourseNode(re1);
node1.getModuleConfiguration().setStringValue(GTACourseNode.GTASK_TYPE, GTAType.individual.name());
TaskList tasks1 = gtaManager.createIfNotExists(re1, node1);
File taskFile = new File("bg.txt");
Assert.assertNotNull(tasks1);
dbInstance.commit();
RepositoryEntry re2 = deployGTACourse();
repositoryEntryRelationDao.addRole(coach, re2, GroupRoles.coach.name());
repositoryEntryRelationDao.addRole(participant1, re2, GroupRoles.participant.name());
// participant 2 course 2
GTACourseNode node2 = getGTACourseNode(re2);
node2.getModuleConfiguration().setStringValue(GTACourseNode.GTASK_TYPE, GTAType.individual.name());
TaskList tasks2 = gtaManager.createIfNotExists(re2, node2);
Assert.assertNotNull(tasks2);
dbInstance.commit();
// participant 1 and 2 select course 1
AssignmentResponse response1_1 = gtaManager.selectTask(participant1, tasks1, node1, taskFile);
AssignmentResponse response1_2 = gtaManager.selectTask(participant2, tasks1, node1, taskFile);
dbInstance.commitAndCloseSession();
Assert.assertNotNull(response1_1);
Assert.assertNotNull(response1_2);
// participant 2 select node 2
AssignmentResponse response2_2 = gtaManager.selectTask(participant2, tasks2, node2, taskFile);
dbInstance.commitAndCloseSession();
Assert.assertNotNull(response2_2);
// check that there is tasks
List<Task> assignedTasks1_1 = gtaManager.getTasks(participant1, re1, node1);
Assert.assertNotNull(assignedTasks1_1);
Assert.assertEquals(1, assignedTasks1_1.size());
List<Task> assignedTasks1_2 = gtaManager.getTasks(participant2, re1, node1);
Assert.assertNotNull(assignedTasks1_2);
Assert.assertEquals(1, assignedTasks1_2.size());
List<Task> assignedTasks2_2 = gtaManager.getTasks(participant2, re2, node2);
Assert.assertNotNull(assignedTasks2_2);
Assert.assertEquals(1, assignedTasks2_2.size());
// delete
int numOfDeletedObjects = gtaManager.deleteAllTaskLists(re1);
Assert.assertEquals(3, numOfDeletedObjects);
dbInstance.commitAndCloseSession();
// check that there isn't any tasks in node 1
List<Task> deletedAssignedTasks1_1 = gtaManager.getTasks(participant1, re1, node1);
Assert.assertNotNull(deletedAssignedTasks1_1);
Assert.assertEquals(0, deletedAssignedTasks1_1.size());
List<Task> deletedAssignedTasks1_2 = gtaManager.getTasks(participant2, re1, node1);
Assert.assertNotNull(deletedAssignedTasks1_2);
Assert.assertEquals(0, deletedAssignedTasks1_2.size());
// but always in node 2
List<Task> notDeletedAssignedTasks2_2 = gtaManager.getTasks(participant2, re2, node2);
Assert.assertNotNull(notDeletedAssignedTasks2_2);
Assert.assertEquals(1, notDeletedAssignedTasks2_2.size());
}
Aggregations