Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r493680e80db51839c864498a72867965a89b56ff -rb64bc871ada05384ecfe13f06d876fc06c28db4e Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java =================================================================== diff -u -r57c67cb560b7623b59a2fa25090641743141a09d -rb64bc871ada05384ecfe13f06d876fc06c28db4e --- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision 57c67cb560b7623b59a2fa25090641743141a09d) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision b64bc871ada05384ecfe13f06d876fc06c28db4e) @@ -477,4 +477,15 @@ return ( copyTypeID != null && LearningDesign.COPY_TYPE_PREVIEW == copyTypeID.intValue() ); } + /** Has this lesson ever been started? Considered started if it is started, finished, archived or removed + * or if the previousLessonStateId is one of these states (to pick up suspended started)*/ + public boolean isLessonStarted() { + return isStarted(lessonStateId) || isStarted(previousLessonStateId) ; + } + + private boolean isStarted(Integer stateId) { + return ( stateId != null && + ( stateId.equals(STARTED_STATE) || stateId.equals(FINISHED_STATE) + || stateId.equals(ARCHIVED_STATE) || stateId.equals(REMOVED_STATE) ) ) ; + } }