diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java index 31547a821c81981c732094f25ce81f1d34f995f8..9f8ff3853d1ed1c8e7fd7efb694a3ac7514fc63c 100644 --- a/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java +++ b/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Set; import org.olat.basesecurity.GroupRoles; +import org.olat.core.commons.persistence.DB; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; @@ -73,6 +74,8 @@ public class QTI21RetrieveTestsController extends FormBasicController { private List<Identity> identities; private List<AssessmentTestSession> sessions; + @Autowired + private DB dbInstance; @Autowired private UserManager userManager; @Autowired @@ -149,7 +152,7 @@ public class QTI21RetrieveTestsController extends FormBasicController { } String msg; - if(sessionsToRetrieve.size() == 0) { + if(sessionsToRetrieve.isEmpty()) { msg = translate("retrievetest.nothing.todo"); } else if(sessionsToRetrieve.size() == 1) { msg = translate("retrievetest.confirm.text", new String[]{ fullnames.toString() }); @@ -193,6 +196,7 @@ public class QTI21RetrieveTestsController extends FormBasicController { .createAndInitUserCourseEnvironment(session.getIdentity(), courseEnv); courseNode.pullAssessmentTestSession(session, assessedUserCourseEnv, getIdentity(), Role.coach); } + dbInstance.commitAndCloseSession(); } private DigitalSignatureOptions getSignatureOptions(AssessmentTestSession session) { @@ -202,13 +206,10 @@ public class QTI21RetrieveTestsController extends FormBasicController { RepositoryEntry courseEntry = session.getRepositoryEntry(); QTI21DeliveryOptions deliveryOptions = qtiService.getDeliveryOptions(testEntry); - boolean digitalSignature = deliveryOptions.isDigitalSignature(); - boolean sendMail = deliveryOptions.isDigitalSignatureMail(); - ModuleConfiguration config = courseNode.getModuleConfiguration(); - digitalSignature = config.getBooleanSafe(IQEditController.CONFIG_DIGITAL_SIGNATURE, + boolean digitalSignature = config.getBooleanSafe(IQEditController.CONFIG_DIGITAL_SIGNATURE, deliveryOptions.isDigitalSignature()); - sendMail = config.getBooleanSafe(IQEditController.CONFIG_DIGITAL_SIGNATURE_SEND_MAIL, + boolean sendMail = config.getBooleanSafe(IQEditController.CONFIG_DIGITAL_SIGNATURE_SEND_MAIL, deliveryOptions.isDigitalSignatureMail()); DigitalSignatureOptions options = new DigitalSignatureOptions(digitalSignature, sendMail, courseEntry, testEntry);