Skip to content
Snippets Groups Projects
Commit fb4580f5 authored by srosse's avatar srosse
Browse files

OO-2475: retrieve the participants of the selected group

parent fcf4a1a2
No related branches found
No related tags found
No related merge requests found
......@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.olat.basesecurity.GroupRoles;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.link.Link;
......@@ -42,6 +43,7 @@ import org.olat.core.id.Identity;
import org.olat.course.nodes.IQTESTCourseNode;
import org.olat.course.run.environment.CourseEnvironment;
import org.olat.fileresource.FileResourceManager;
import org.olat.group.BusinessGroupService;
import org.olat.ims.qti21.AssessmentItemSession;
import org.olat.ims.qti21.AssessmentTestHelper;
import org.olat.ims.qti21.AssessmentTestSession;
......@@ -90,6 +92,8 @@ public class IdentitiesAssessmentTestCorrectionController extends BasicControlle
@Autowired
private QTI21Service qtiService;
@Autowired
private BusinessGroupService businessGroupService;
public IdentitiesAssessmentTestCorrectionController(UserRequest ureq, WindowControl wControl,
CourseEnvironment courseEnv, AssessmentToolOptions asOptions, IQTESTCourseNode courseNode) {
......@@ -130,6 +134,10 @@ public class IdentitiesAssessmentTestCorrectionController extends BasicControlle
listenTo(overviewCtrl);
}
public int getNumberOfAssessedIdentities() {
return assessedIdentities == null ? 0 : assessedIdentities.size();
}
public AssessmentTestCorrection getTestCorrections() {
return testCorrections;
}
......@@ -223,8 +231,17 @@ public class IdentitiesAssessmentTestCorrectionController extends BasicControlle
}
private Set<Identity> getAssessedIdentities() {
List<Identity> identities = asOptions.getIdentities();
return new HashSet<>(identities);
List<Identity> identities;
if(asOptions.getGroup() != null) {
identities = businessGroupService.getMembers(asOptions.getGroup(), GroupRoles.participant.name());
} else {
identities = asOptions.getIdentities();
}
Set<Identity> uniqueIdentities = new HashSet<>();
if(identities != null) {
uniqueIdentities.addAll(identities);
}
return uniqueIdentities;
}
private Map<Identity,AssessmentTestSession> getLastSessions(Set<Identity> identitiesSet) {
......
......@@ -107,11 +107,16 @@ public class QTI21CorrectionToolController extends BasicController {
public void doStartCorrection(UserRequest ureq) {
correctionCtrl = new IdentitiesAssessmentTestCorrectionController(ureq, getWindowControl(), courseEnv, asOptions, courseNode);
listenTo(correctionCtrl);
cmc = new CloseableModalController(getWindowControl(), "close", correctionCtrl.getInitialComponent(),
true, translate("correction"));
cmc.activate();
listenTo(cmc);
if(correctionCtrl.getNumberOfAssessedIdentities() == 0) {
showWarning("grade.nobody");
correctionCtrl = null;
} else {
listenTo(correctionCtrl);
cmc = new CloseableModalController(getWindowControl(), "close", correctionCtrl.getInitialComponent(),
true, translate("correction"));
cmc.activate();
listenTo(cmc);
}
}
private void doUpdateCourseNode(AssessmentTestCorrection corrections, List<AssessmentTestSession> testSessionsToComplete) {
......
#Tue Nov 15 16:25:36 CET 2016
assessed.identity=Benutzer
correction=Korrigieren
correction.min.max.score=Result must ziwschen {0} und {1} sein
correction.min.max.score=Resultat muss zwischen {0} und {1} sein
correction.test.title=Korrigieren
grade.no.items=Es gibt kein Resultat f\u00FCr diese Frage zu korrigieren.
grade.nobody=Es gibt kein Resultat zu korrigieren.
next.item=Zur n\u00E4chsten Frage
not.responded=Die Frage wurde nicht beantworter
overview.tests=\u00DCbersicht und abschliessen
......
......@@ -4,6 +4,7 @@ correction=Correction
correction.min.max.score=Score need to be between {0} and {1}.
correction.test.title=Grade
grade.no.items=There is no results to correct for this question.
grade.nobody=There is no results to correct
next.item=Next question
not.responded=The question was not responded
overview.tests=Overview and closing
......
......@@ -4,6 +4,7 @@ correction=Corriger
correction.min.max.score=Le r\u00E9sultat doit \u00EAtre entre {0} et {1}.
correction.test.title=Corriger
grade.no.items=Il n'y a pas de r\u00E9sultats \u00E0 corriger pour cette question.
grade.nobody=Il n'y a pas de r\u00E9sultats \u00E0 corriger.
next.item=Question suivante
not.responded=Il n'a pas \u00E9t\u00E9 r\u00E9pondue \u00E0 la question
overview.tests=Aper\u00E7u and cl\u00F4ture
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment