Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java =================================================================== diff -u -ra262b75e474855518bc7d567e187e6cefb63bf07 -red03685251f04878ebf4e26afae1b090a79a06c2 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java (.../IndexAction.java) (revision a262b75e474855518bc7d567e187e6cefb63bf07) +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java (.../IndexAction.java) (revision ed03685251f04878ebf4e26afae1b090a79a06c2) @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.web; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Set; @@ -145,16 +146,23 @@ List lessonBeans = new ArrayList(); Set lessons = org.getLessons(); for(Lesson lesson:lessons) { - List lessonLinks = new ArrayList(); - if(contains(roles,Role.ROLE_COURSE_MANAGER)||contains(roles,Role.ROLE_STAFF)){ - lessonLinks.add(new IndexLinkBean("Monitor", "javascript:openMonitorLesson(" + lesson.getLessonId()+")")); + if(!lesson.isPreviewLesson()){ + List lessonLinks = new ArrayList(); + if(contains(roles,Role.ROLE_COURSE_MANAGER)||contains(roles,Role.ROLE_STAFF)){ + if(lesson.getLessonStateId()!=lesson.REMOVED_STATE){ + lessonLinks.add(new IndexLinkBean("Monitor", "javascript:openMonitorLesson(" + lesson.getLessonId()+")")); + } + } + if(contains(roles,Role.ROLE_LEARNER)){ + if((lesson.getLessonStateId()==lesson.STARTED_STATE)||(lesson.getLessonStateId()==lesson.FINISHED_STATE)){ + lessonLinks.add(new IndexLinkBean("Participate","javascript:openLearner("+lesson.getLessonId()+")")); + } + } + IndexLessonBean lessonBean = new IndexLessonBean(lesson.getLessonName(), lessonLinks); + lessonBeans.add(lessonBean); } - if(contains(roles,Role.ROLE_LEARNER)){ - lessonLinks.add(new IndexLinkBean("Participate","javascript:openLearner("+lesson.getLessonId()+")")); - } - IndexLessonBean lessonBean = new IndexLessonBean(lesson.getLessonName(), lessonLinks); - lessonBeans.add(lessonBean); } + Collections.sort(lessonBeans); orgBean.setLessons(lessonBeans); if(orgBean.getType().equals(OrganisationType.COURSE_TYPE)){ @@ -184,5 +192,5 @@ } return false; } - + } Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java =================================================================== diff -u -r27f58d007df3a168dc37fef184f15d6d65039e5f -red03685251f04878ebf4e26afae1b090a79a06c2 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java (.../IndexLessonBean.java) (revision 27f58d007df3a168dc37fef184f15d6d65039e5f) +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java (.../IndexLessonBean.java) (revision ed03685251f04878ebf4e26afae1b090a79a06c2) @@ -35,7 +35,7 @@ * * Created at 10:13:43 on 14/06/2006 */ -public class IndexLessonBean { +public class IndexLessonBean implements Comparable{ private String name; private List links; @@ -67,4 +67,7 @@ public void setName(String name) { this.name = name; } + public int compareTo(Object o) { + return name.compareTo(((IndexLessonBean)o).getName()); + } }