Skip to content
Snippets Groups Projects
Commit b55a865b authored by uhensler's avatar uhensler
Browse files

OO-4207: Reset status to not started if not fully assessed anymore

parent 3dc53a2a
No related branches found
No related tags found
No related merge requests found
......@@ -97,7 +97,8 @@ public class LearningPathNodeAccessProvider implements NodeAccessProvider {
FullyAssessedResult result = getConfigs(courseNode).isFullyAssessedOnNodeVisited();
boolean participant = userCourseEnv.isParticipant();
if (participant && result.isEnabled()) {
AssessmentEntryStatus status = getStatus(courseNode, userCourseEnv, result.isDone());
AssessmentEntryStatus status = getStatus(courseNode, userCourseEnv, result.isDone(),
result.isFullyAssessed());
courseAssessmentService.updateFullyAssessed(courseNode, userCourseEnv,
Boolean.valueOf(result.isFullyAssessed()), status, Role.user);
return true;
......@@ -137,16 +138,17 @@ public class LearningPathNodeAccessProvider implements NodeAccessProvider {
FullyAssessedResult result) {
boolean participant = userCourseEnv.isParticipant();
if (participant && result.isEnabled()) {
AssessmentEntryStatus newStatus = getStatus(courseNode, userCourseEnv, result.isDone());
AssessmentEntryStatus status = getStatus(courseNode, userCourseEnv, result.isDone(),
result.isFullyAssessed());
courseAssessmentService.updateFullyAssessed(courseNode, userCourseEnv,
Boolean.valueOf(result.isFullyAssessed()), newStatus, by);
Boolean.valueOf(result.isFullyAssessed()), status, by);
}
}
private AssessmentEntryStatus getStatus(CourseNode courseNode, UserCourseEnvironment userCourseEnvironment,
boolean isDone) {
return isDone
? AssessmentEntryStatus.done
boolean setDone, boolean fullyAssessed) {
return setDone
? fullyAssessed? AssessmentEntryStatus.done: AssessmentEntryStatus.notStarted
: courseAssessmentService.getAssessmentEntry(courseNode, userCourseEnvironment).getAssessmentStatus();
}
......
......@@ -47,7 +47,7 @@ public class StatusCompletionEvaluator implements CompletionEvaluator {
case notStarted: return 0.0;
case inProgress: return 0.5;
case inReview: return 0.75;
case done: return 1.0;
case done: return 0.9; // 1.0 is reached when fully assessed
default: return 0.0;
}
}
......
......@@ -198,7 +198,7 @@ public class LearningPathNodeAccessProviderTest {
sut.updateFullyAssessed(courseNodeMock, participantCourseEnv, Role.auto, result);
verify(courseAssessmentService).updateFullyAssessed(courseNodeMock, participantCourseEnv, Boolean.FALSE,
AssessmentEntryStatus.done, Role.auto);
AssessmentEntryStatus.notStarted, Role.auto);
}
@Test
......
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