diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java index d6b0534c3b1487ccb47f0e09f10662ba961d8485..b46cea2ceeb8a3e77d5ef347ef31e51dcfbbbd45 100644 --- a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java @@ -42,7 +42,9 @@ import org.olat.core.gui.control.generic.iframe.IFrameDisplayController; import org.olat.core.gui.media.MediaResource; import org.olat.core.gui.media.NotFoundMediaResource; import org.olat.core.gui.translator.Translator; +import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; +import org.olat.core.id.UserConstants; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.util.Formatter; import org.olat.core.util.StringHelper; @@ -785,7 +787,8 @@ public class QTI21AssessmentRunController extends BasicController implements Gen CourseEnvironment courseEnv, CourseNode courseNode, RepositoryEntry testEntry, Date timestamp, Locale locale) { MailBundle bundle = new MailBundle(); bundle.setToId(candidateSession.getIdentity()); - String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(candidateSession.getIdentity()); + Identity assessedIdentity = candidateSession.getIdentity(); + String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(assessedIdentity); Date assessedDate = candidateSession.getFinishTime() == null ? timestamp : candidateSession.getFinishTime(); String[] args = new String[] { @@ -796,7 +799,12 @@ public class QTI21AssessmentRunController extends BasicController implements Gen testEntry.getDisplayname(), // {4} fullname, // {5} Formatter.getInstance(locale) - .formatDateAndTime(assessedDate) // {6} + .formatDateAndTime(assessedDate), // {6} + assessedIdentity.getName(), // {7} + assessedIdentity.getUser() + .getProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, locale), // {8} + assessedIdentity.getUser() + .getProperty(UserConstants.INSTITUTIONALNAME, locale), // {9} }; Translator translator = Util.createPackageTranslator(QTI21AssessmentRunController.class, locale); diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java index a8077ea5be0e9d226c2500b1099159311c14914d..f9c3c3bfc4d2ff3b81f77cde717a17ff3c4bf1a4 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java @@ -26,6 +26,8 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.translator.Translator; +import org.olat.core.id.Identity; +import org.olat.core.id.UserConstants; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.util.Formatter; import org.olat.core.util.Util; @@ -80,7 +82,8 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener { DigitalSignatureOptions options, Date timestamp, Locale locale) { MailBundle bundle = new MailBundle(); bundle.setToId(candidateSession.getIdentity()); - String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(candidateSession.getIdentity()); + Identity assessedIdentity = candidateSession.getIdentity(); + String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(assessedIdentity); Date assessedDate = candidateSession.getFinishTime() == null ? timestamp : candidateSession.getFinishTime(); @@ -93,7 +96,12 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener { testEntry.getDisplayname(), // {4} fullname, // {5} Formatter.getInstance(locale) - .formatDateAndTime(assessedDate) // {6} + .formatDateAndTime(assessedDate), // {6} + assessedIdentity.getName(), // {7} + assessedIdentity.getUser() + .getProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, locale), // {8} + assessedIdentity.getUser() + .getProperty(UserConstants.INSTITUTIONALNAME, locale), // {9} }; String subject = translator.translate("digital.signature.mail.subject", args);