Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -r870373d635bc769aee2dc271e6ff12818fcfcea6 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
Binary files differ
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml
===================================================================
diff -u -re023857e217082f46fd3235d5673129ffccf6ff4 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml (.../LearnerProgress.hbm.xml) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml (.../LearnerProgress.hbm.xml) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -19,7 +19,7 @@
-
0 and p.lesson.id = :lessonId";
private final static String COUNT_ATTEMPTED_ACTIVITY ="select count(*) from LearnerProgress prog, "
+" Activity act where act.id = :activityId and "
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java
===================================================================
diff -u -r4a347e27e76d051dfb231810330b42d0b7295ded -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java (.../LessonService.java) (revision 4a347e27e76d051dfb231810330b42d0b7295ded)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java (.../LessonService.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -591,7 +591,8 @@
Iterator iter = progresses.iterator();
while ( iter.hasNext() ) {
LearnerProgress progress = (LearnerProgress) iter.next();
- progress.setLessonComplete(false);
+ if ( progress.getLessonComplete() == LearnerProgress.LESSON_END_OF_DESIGN_COMPLETE )
+ progress.setLessonComplete(LearnerProgress.LESSON_NOT_COMPLETE);
count++;
}
}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java
===================================================================
diff -u -re863ee0730b7f5a82c13dd55fc39c2f9741cd695 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision e863ee0730b7f5a82c13dd55fc39c2f9741cd695)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -95,7 +95,7 @@
completedActivityList.add(parentActivity.getActivityId());
}
populateCurrentCompletedActivityList(learnerProgress, completedActivityList);
- return setLessonComplete(learnerProgress);
+ return setLessonComplete(learnerProgress, LearnerProgress.LESSON_IN_DESIGN_COMPLETE);
} else {
Transition transition = completedActivity.getTransitionFrom();
if (transition != null)
@@ -132,6 +132,8 @@
if (progress.getLesson().getLockedForEdit()) {
// special case - currently setting up the stop gates for live edit.
return clearProgressNowhereToGoNotCompleted(progress,"setUpStartPoint");
+ } else if (progress.isComplete() ) {
+ return progress;
} else if(ld.getFirstActivity()==null) {
throw new ProgressException("Could not find first activity for "
+"learning design ["+ld.getTitle()+"], id["
@@ -192,7 +194,7 @@
progress.setCurrentActivity(null);
progress.setNextActivity(null);
- progress.setLessonComplete(false);
+ progress.setLessonComplete(LearnerProgress.LESSON_NOT_COMPLETE);
return progress;
}
@@ -340,7 +342,7 @@
}
//lesson is meant to be completed if there is no transition and no parent.
else {
- learnerProgress = setLessonComplete(learnerProgress);
+ learnerProgress = setLessonComplete(learnerProgress, LearnerProgress.LESSON_END_OF_DESIGN_COMPLETE);
}
return learnerProgress;
@@ -352,10 +354,10 @@
* @param learnerProgress
* @return updated learnerProgress
*/
- private LearnerProgress setLessonComplete(LearnerProgress learnerProgress) {
+ private LearnerProgress setLessonComplete(LearnerProgress learnerProgress, byte completionStatus) {
learnerProgress.setCurrentActivity(null);
learnerProgress.setNextActivity(null);
- learnerProgress.setLessonComplete(true);
+ learnerProgress.setLessonComplete(completionStatus);
return learnerProgress;
}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java
===================================================================
diff -u -r07d6aab3c681c1f2ecb8041756e99567ed639f31 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 07d6aab3c681c1f2ecb8041756e99567ed639f31)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -369,8 +369,8 @@
// and we go back to the sequence later, then the LessonComplete flag must be reset so that it will step through
// all the activities in the sequence - otherwise it will go to the "Completed" screen after the first activity in the sequence
if ( clearCompletedFlag && activity.getParentActivity() != null && activity.getParentActivity().isSequenceActivity()
- && progress.isLessonComplete() && ! progress.getCompletedActivities().contains(activity) )
- progress.setLessonComplete(false);
+ && progress.isComplete() && ! progress.getCompletedActivities().contains(activity) )
+ progress.setLessonComplete(LearnerProgress.LESSON_NOT_COMPLETE);
progressEngine.setActivityAttempted(progress, activity);
progress.setCurrentActivity(activity);
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java
===================================================================
diff -u -r0b15f95c45e3f984eb6b422bb035fb6d9f824e82 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 0b15f95c45e3f984eb6b422bb035fb6d9f824e82)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -128,7 +128,7 @@
{
ActionForward actionForward = null;
- if (progress.isLessonComplete())
+ if (progress.isComplete())
{
// If lesson complete forward to lesson complete action. This action will
// cause a client request to clear ALL frames. Need to append the progress
Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java
===================================================================
diff -u -re023857e217082f46fd3235d5673129ffccf6ff4 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
+++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -315,7 +315,7 @@
testProgress = learnerService.calculateProgress(testCompletedActivity,
testUser.getUserId(),
testProgress);
- assertTrue("verify lesson complete",testProgress.isLessonComplete());
+ assertTrue("verify lesson complete",testProgress.isComplete());
assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size());
}
Index: lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestDisplayActivityAction.java
===================================================================
diff -u -re023857e217082f46fd3235d5673129ffccf6ff4 -r96b3b3ff3f62e1bca1d299f75f512995388e420b
--- lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestDisplayActivityAction.java (.../TestDisplayActivityAction.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
+++ lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestDisplayActivityAction.java (.../TestDisplayActivityAction.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b)
@@ -167,7 +167,7 @@
{
//setup the session bean to display completion page.
//LearnerProgress progress = testBean.getLearnerProgress();
- learnerProgress.setLessonComplete(true);
+ learnerProgress.setLessonComplete(LearnerProgress.LESSON_END_OF_DESIGN_COMPLETE);
//testBean.setLearnerProgress(progress);
//httpSession.setAttribute(SessionBean.NAME,testBean);
httpSession.setAttribute(ActivityAction.LEARNER_PROGRESS_REQUEST_ATTRIBUTE,learnerProgress);