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

Merge OpenOLAT 11.5 to OpenOLAT default branch with 9b9043c1a0de4a72aab5878c16aa2567fae821e5

parents 6252404a 177e66e5
No related branches found
No related tags found
No related merge requests found
...@@ -51,14 +51,20 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener { ...@@ -51,14 +51,20 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener {
private AssessmentEntry assessmentEntry; private AssessmentEntry assessmentEntry;
private final AssessmentService assessmentService; private final AssessmentService assessmentService;
private final RepositoryEntry entry;
private final RepositoryEntry testEntry;
private final boolean authorMode; private final boolean authorMode;
private final boolean needManualCorrection; private final boolean needManualCorrection;
private AtomicBoolean start = new AtomicBoolean(true); private AtomicBoolean start = new AtomicBoolean(true);
private AtomicBoolean close = new AtomicBoolean(true); private AtomicBoolean close = new AtomicBoolean(true);
public AssessmentEntryOutcomesListener(AssessmentEntry assessmentEntry, boolean needManualCorrection, public AssessmentEntryOutcomesListener(RepositoryEntry entry, RepositoryEntry testEntry,
AssessmentEntry assessmentEntry, boolean needManualCorrection,
AssessmentService assessmentService, boolean authorMode) { AssessmentService assessmentService, boolean authorMode) {
this.entry = entry;
this.testEntry = testEntry;
this.assessmentEntry = assessmentEntry; this.assessmentEntry = assessmentEntry;
this.assessmentService = assessmentService; this.assessmentService = assessmentService;
this.authorMode = authorMode; this.authorMode = authorMode;
...@@ -67,10 +73,11 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener { ...@@ -67,10 +73,11 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener {
@Override @Override
public void decorateConfirmation(AssessmentTestSession candidateSession, DigitalSignatureOptions options, Date timestamp, Locale locale) { public void decorateConfirmation(AssessmentTestSession candidateSession, DigitalSignatureOptions options, Date timestamp, Locale locale) {
decorateResourceConfirmation(candidateSession, options, timestamp, locale); decorateResourceConfirmation(entry, testEntry, candidateSession, options, timestamp, locale);
} }
public static void decorateResourceConfirmation(AssessmentTestSession candidateSession, DigitalSignatureOptions options, Date timestamp, Locale locale) { public static void decorateResourceConfirmation(RepositoryEntry entry, RepositoryEntry testEntry, AssessmentTestSession candidateSession,
DigitalSignatureOptions options, Date timestamp, Locale locale) {
MailBundle bundle = new MailBundle(); MailBundle bundle = new MailBundle();
bundle.setToId(candidateSession.getIdentity()); bundle.setToId(candidateSession.getIdentity());
String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(candidateSession.getIdentity()); String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(candidateSession.getIdentity());
...@@ -78,8 +85,6 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener { ...@@ -78,8 +85,6 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener {
Translator translator = Util.createPackageTranslator(QTI21RuntimeController.class, locale); Translator translator = Util.createPackageTranslator(QTI21RuntimeController.class, locale);
RepositoryEntry entry = candidateSession.getRepositoryEntry();
RepositoryEntry testEntry = candidateSession.getTestEntry();
String[] args = new String[] { String[] args = new String[] {
entry.getDisplayname(), // {0} entry.getDisplayname(), // {0}
entry.getKey().toString(), // {1} entry.getKey().toString(), // {1}
......
...@@ -310,7 +310,7 @@ public class AssessmentTestDisplayController extends BasicController implements ...@@ -310,7 +310,7 @@ public class AssessmentTestDisplayController extends BasicController implements
AssessmentEntry assessmentEntry = assessmentService.getOrCreateAssessmentEntry(assessedIdentity, anonymousIdentifier, entry, subIdent, testEntry); AssessmentEntry assessmentEntry = assessmentService.getOrCreateAssessmentEntry(assessedIdentity, anonymousIdentifier, entry, subIdent, testEntry);
if(outcomesListener == null) { if(outcomesListener == null) {
boolean manualCorrections = AssessmentTestHelper.needManualCorrection(resolvedAssessmentTest); boolean manualCorrections = AssessmentTestHelper.needManualCorrection(resolvedAssessmentTest);
outcomesListener = new AssessmentEntryOutcomesListener(assessmentEntry, manualCorrections, assessmentService, authorMode); outcomesListener = new AssessmentEntryOutcomesListener(entry, testEntry, assessmentEntry, manualCorrections, assessmentService, authorMode);
} }
AssessmentTestSession lastSession = qtiService.getResumableAssessmentTestSession(assessedIdentity, anonymousIdentifier, entry, subIdent, testEntry, authorMode); AssessmentTestSession lastSession = qtiService.getResumableAssessmentTestSession(assessedIdentity, anonymousIdentifier, entry, subIdent, testEntry, authorMode);
......
...@@ -434,7 +434,7 @@ public class QTI21AssessmentDetailsController extends FormBasicController { ...@@ -434,7 +434,7 @@ public class QTI21AssessmentDetailsController extends FormBasicController {
DigitalSignatureOptions options = new DigitalSignatureOptions(digitalSignature, sendMail, entry, testEntry); DigitalSignatureOptions options = new DigitalSignatureOptions(digitalSignature, sendMail, entry, testEntry);
if(digitalSignature) { if(digitalSignature) {
if(courseNode == null) { if(courseNode == null) {
AssessmentEntryOutcomesListener.decorateResourceConfirmation(session, options, null, getLocale()); AssessmentEntryOutcomesListener.decorateResourceConfirmation(entry, testEntry, session, options, null, getLocale());
} else { } else {
CourseEnvironment courseEnv = CourseFactory.loadCourse(entry).getCourseEnvironment(); CourseEnvironment courseEnv = CourseFactory.loadCourse(entry).getCourseEnvironment();
QTI21AssessmentRunController.decorateCourseConfirmation(session, options, courseEnv, courseNode, sessionTestEntry, null, getLocale()); QTI21AssessmentRunController.decorateCourseConfirmation(session, options, courseEnv, courseNode, sessionTestEntry, null, getLocale());
......
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