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