Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java =================================================================== diff -u -r656c0d80747b967ea9ec09add791b195898e729e -r30e22ff69a8712e6cc583c334c3ea9133c1115f8 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 656c0d80747b967ea9ec09add791b195898e729e) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 30e22ff69a8712e6cc583c334c3ea9133c1115f8) @@ -43,7 +43,6 @@ import org.lamsfoundation.lams.learningdesign.dto.ProgressActivityDTO; import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; -import org.lamsfoundation.lams.lesson.dto.LearnerProgressDTO; import org.lamsfoundation.lams.lesson.dto.LessonDTO; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.util.WebUtil; @@ -165,6 +164,11 @@ + " is not a learner in the requested lesson."); return mapping.findForward("message"); } + // check lesson's state if its suitable for learner's access + if (!lesson.isLessonAccessibleForLearner()) { + request.setAttribute("messageKey", "Lesson is inaccessible"); + return mapping.findForward("message"); + } if (LearnerAction.log.isDebugEnabled()) { LearnerAction.log.debug("The learner [" + learner + "] is joining the lesson [" + lessonID + "]");