diff --git a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java index 36000ae346df508a32fbe5e49a4722dd7e27946a..a59ec52b8988e7441f4918111fb3d2983ce689b5 100644 --- a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java +++ b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java @@ -267,7 +267,9 @@ public class CourseAssessmentManagerImpl implements AssessmentManager { } assessmentEntry.setPassed(passed); assessmentEntry.setFullyAssessed(scoreEvaluation.getFullyAssessed()); - assessmentEntry.setAssessmentId(assessmentId); + if(assessmentId != null) { + assessmentEntry.setAssessmentId(assessmentId); + } if(scoreEvaluation.getAssessmentStatus() != null) { assessmentEntry.setAssessmentStatus(scoreEvaluation.getAssessmentStatus()); } diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentForm.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentForm.java index 90afaf3c374a937ed3188222d9377e4f8a280885..87c5db72387f068e6c3c9ecfde86f2312f113fa0 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentForm.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentForm.java @@ -276,7 +276,7 @@ public class AssessmentForm extends FormBasicController { protected void doUpdateAssessmentData(boolean setAsDone) { Float updatedScore = null; Boolean updatedPassed = null; - + if (isHasAttempts() && isAttemptsDirty()) { assessableCourseNode.updateUserAttempts(new Integer(getAttempts()), assessedUserCourseEnv, getIdentity()); } 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 8908186e2201d9048119af2aa84b9bb912ddfafe..29e89cdd300cbb0c9d103bc3a531b3b61880b1c3 100644 --- a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java @@ -442,7 +442,12 @@ public class QTI21AssessmentRunController extends BasicController implements Gen } else { AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); AssessmentEntry assessmentEntry = am.getAssessmentEntry(courseNode, getIdentity()); - session = qtiService.getAssessmentTestSession(assessmentEntry.getAssessmentId()); + if(assessmentEntry.getAssessmentId() != null) { + session = qtiService.getAssessmentTestSession(assessmentEntry.getAssessmentId()); + } else { + RepositoryEntry courseEntry = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); + session = qtiService.getLastAssessmentTestSessions(courseEntry, courseNode.getIdent(), testEntry, getIdentity()); + } } if(session == null) {