Index: lams_build/lib/lams/lams.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams.jar,v diff -u -r1.368 -r1.369 Binary files differ Index: lams_central/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== RCS file: /usr/local/cvsroot/lams_central/conf/language/lams/ApplicationResources_en_AU.properties,v diff -u -r1.98 -r1.99 --- lams_central/conf/language/lams/ApplicationResources_en_AU.properties 19 Dec 2012 13:58:07 -0000 1.98 +++ lams_central/conf/language/lams/ApplicationResources_en_AU.properties 12 Jun 2013 04:12:16 -0000 1.99 @@ -353,6 +353,7 @@ label.display.lesson.design =Display learning design image? index.remove.lesson.confirm1 =You are about to remove this lesson. Are you sure? index.remove.lesson.confirm2 =Once you remove this lesson you CANNOT bring it back. Are you positive that you want to remove this lesson? +error.lesson.not.accessible.for.learners =Sorry, this lesson is now disabled/archived. Contact your instructor for further details. #======= End labels: Exported 347 labels for en AU ===== Index: lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java,v diff -u -r1.49 -r1.50 --- lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java 6 Jun 2013 11:42:59 -0000 1.49 +++ lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java 12 Jun 2013 04:12:16 -0000 1.50 @@ -190,6 +190,11 @@ } } + + //check lesson's state if its suitable for learner's access + if (!lesson.isLessonAccessibleForLearner()) { + return displayMessage(mapping, req, "error.lesson.not.accessible.for.learners"); + } if (mode != null) { req.setAttribute(AttributeNames.PARAM_MODE, mode); Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java,v diff -u -r1.42 -r1.43 --- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java 25 Dec 2012 12:38:36 -0000 1.42 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java 12 Jun 2013 04:12:22 -0000 1.43 @@ -578,6 +578,14 @@ return (stateId != null && (stateId.equals(STARTED_STATE) || stateId.equals(FINISHED_STATE) || stateId.equals(ARCHIVED_STATE) || stateId.equals(REMOVED_STATE))); } + + /** + * Checks whether learners are allowed to access the lesson based on its state. As they can only access Started or + * Finished lessons. + */ + public boolean isLessonAccessibleForLearner() { + return (lessonStateId != null && (lessonStateId.equals(STARTED_STATE) || lessonStateId.equals(FINISHED_STATE))); + } public Set getGradebookUserLessons() { return gradebookUserLessons;