Index: lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java 19 Oct 2007 02:32:38 -0000 1.1 @@ -0,0 +1,213 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id: DisplayGroupAction.java,v 1.1 2007/10/19 02:32:38 jliew Exp $ */ +package org.lamsfoundation.lams.web; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.usermanagement.Organisation; +import org.lamsfoundation.lams.usermanagement.OrganisationState; +import org.lamsfoundation.lams.usermanagement.OrganisationType; +import org.lamsfoundation.lams.usermanagement.Role; +import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.WebUtil; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +/** + * @author jliew + * + * @struts.action path="/displayGroup" validate="false" + * @struts.action-forward name="group" path="/group.jsp" + */ +public class DisplayGroupAction extends Action { + + private static Logger log = Logger.getLogger(DisplayGroupAction.class); + private static IUserManagementService service; + private Integer stateId = OrganisationState.ACTIVE; + + public ActionForward execute(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws Exception { + + stateId = WebUtil.readIntParam(request, "stateId", false); + Integer orgId = WebUtil.readIntParam(request, "orgId", false); + Organisation org = null; + if (orgId != null) { + org = (Organisation)getService().findById(Organisation.class, orgId); + } + + if (org != null) { + List roles = new ArrayList(); + List userOrganisationRoles = getService().getUserOrganisationRoles(orgId,request.getRemoteUser()); + for(UserOrganisationRole userOrganisationRole:userOrganisationRoles){ + roles.add(userOrganisationRole.getRole().getRoleId()); + } + IndexOrgBean iob = createOrgBean(org, roles, request.getRemoteUser(), request.isUserInRole(Role.SYSADMIN)); + request.setAttribute("orgBean", iob); + } + + return mapping.findForward("group"); + } + + //@SuppressWarnings({"unchecked","static-access"}) + private IndexOrgBean createOrgBean(Organisation org, List roles, String username, boolean isSysAdmin) { + User user = (User)getService().findByProperty(User.class, "login", username).get(0); + IndexOrgBean orgBean = new IndexOrgBean(org.getName(), org.getOrganisationType().getOrganisationTypeId()); + + List links = new ArrayList(); + if(isSysAdmin && stateId.equals(OrganisationState.ACTIVE)){ + if (orgBean.getType().equals(OrganisationType.COURSE_TYPE)) { + links.add(new IndexLinkBean("index.classman", "javascript:openOrgManagement(" + org.getOrganisationId()+")", "manage-group-button")); + } + } + if ((contains(roles, Role.ROLE_GROUP_ADMIN) || contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles,Role.ROLE_MONITOR)) + && stateId.equals(OrganisationState.ACTIVE)) { + if (orgBean.getType().equals(OrganisationType.COURSE_TYPE)) { + if((!isSysAdmin)&&(contains(roles, Role.ROLE_GROUP_ADMIN) || contains(roles, Role.ROLE_GROUP_MANAGER))){ + links.add(new IndexLinkBean("index.classman", "javascript:openOrgManagement(" + org.getOrganisationId()+")", "manage-group-button")); + } + if(contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles,Role.ROLE_MONITOR)) + links.add(new IndexLinkBean("index.addlesson", "javascript:openAddLesson(" + org.getOrganisationId()+",'')", "add-lesson-button")); + }else{//CLASS_TYPE + if(contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles,Role.ROLE_MONITOR)) + links.add(new IndexLinkBean("index.addlesson","javascript:openAddLesson("+org.getParentOrganisation().getOrganisationId()+","+org.getOrganisationId()+")", "add-lesson-button")); + } + } + orgBean.setLinks(links); + + if (stateId.equals(OrganisationState.ARCHIVED) && org.getOrganisationState().getOrganisationStateId().equals(OrganisationState.ARCHIVED)) { + orgBean.setArchivedDate(org.getArchivedDate()); + } + + List lessonBeans = new ArrayList(); + Set lessons = org.getLessons(); + for(Lesson lesson:lessons) { + if(isInLesson(user,lesson)){ + if(!lesson.isPreviewLesson()){ + List lessonLinks = new ArrayList(); + String url = null; + if(stateId.equals(OrganisationState.ACTIVE)){ + if(contains(roles,Role.ROLE_GROUP_MANAGER)||contains(roles,Role.ROLE_MONITOR)){ + if(!lesson.getLessonStateId().equals(lesson.REMOVED_STATE)){ + lessonLinks.add(new IndexLinkBean("index.monitor", "javascript:openMonitorLesson(" + lesson.getLessonId()+")")); + } + } + if(contains(roles,Role.ROLE_LEARNER)){ + log.debug("Lesson State:"+lesson.getLessonStateId()); + if(lesson.getLessonStateId().equals(lesson.STARTED_STATE)||lesson.getLessonStateId().equals(lesson.FINISHED_STATE)){ + url = "javascript:openLearner("+lesson.getLessonId()+")"; + } + } + }else if(stateId.equals(OrganisationState.ARCHIVED)){ + if(contains(roles,Role.ROLE_GROUP_MANAGER)){ + if(!lesson.getLessonStateId().equals(lesson.REMOVED_STATE)){ + lessonLinks.add(new IndexLinkBean("index.monitor", "javascript:openMonitorLesson(" + lesson.getLessonId()+")")); + } + } + if(contains(roles,Role.ROLE_LEARNER)){ + log.debug("Lesson State:"+lesson.getLessonStateId()); + if(lesson.getLessonStateId().equals(lesson.STARTED_STATE)||lesson.getLessonStateId().equals(lesson.FINISHED_STATE)){ + lessonLinks.add(new IndexLinkBean("label.export.portfolio","javascript:openExportPortfolio("+lesson.getLessonId()+")")); + } + } + } + if(lessonLinks.size()>0 || url!=null){ + IndexLessonBean lessonBean = new IndexLessonBean(lesson.getLessonName(), + lesson.getLessonDescription(), + url, + lesson.getLessonStateId(), + lessonLinks); + lessonBeans.add(lessonBean); + } + } + } + } + Collections.sort(lessonBeans); + orgBean.setLessons(lessonBeans); + + if(orgBean.getType().equals(OrganisationType.COURSE_TYPE)){ + Set children = org.getChildOrganisations(); + + List childOrgBeans = new ArrayList(); + for(Organisation organisation:children){ + if(organisation.getOrganisationState().getOrganisationStateId().equals(stateId)){ + List classRoles = new ArrayList(); + List userOrganisationRoles = getService().getUserOrganisationRoles(organisation.getOrganisationId(),username); + // don't list the subgroup if user is not a member, and not a group admin/manager + if (userOrganisationRoles==null || userOrganisationRoles.isEmpty()) { + if (!contains(roles,Role.ROLE_GROUP_ADMIN) && + !contains(roles,Role.ROLE_GROUP_MANAGER) && + !isSysAdmin) { + continue; + } + } + for(UserOrganisationRole userOrganisationRole:userOrganisationRoles){ + classRoles.add(userOrganisationRole.getRole().getRoleId()); + } + if(contains(roles,Role.ROLE_GROUP_MANAGER)) classRoles.add(Role.ROLE_GROUP_MANAGER); + childOrgBeans.add(createOrgBean(organisation,classRoles,username,isSysAdmin)); + } + } + Collections.sort(childOrgBeans); + orgBean.setChildIndexOrgBeans(childOrgBeans); + } + return orgBean; + } + + private boolean isInLesson(User user, Lesson lesson) { + return lesson.getLessonClass().isStaffMember(user)||lesson.getLessonClass().getLearners().contains(user); + } + + private boolean contains(List roles, Integer roleId) { + for (int i = 0; i < roles.size(); i++) { + if (roleId.equals(roles.get(i))) + return true; + } + return false; + } + + private IUserManagementService getService(){ + if(service==null){ + WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); + service = (IUserManagementService) ctx.getBean("userManagementService"); + } + return service; + } +} + \ No newline at end of file Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java,v diff -u -r1.38 -r1.39 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 12 Sep 2007 04:28:26 -0000 1.38 +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 19 Oct 2007 02:32:38 -0000 1.39 @@ -23,9 +23,7 @@ package org.lamsfoundation.lams.web; import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -36,14 +34,8 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.lesson.Lesson; -import org.lamsfoundation.lams.usermanagement.Organisation; -import org.lamsfoundation.lams.usermanagement.OrganisationState; -import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; -import org.lamsfoundation.lams.usermanagement.UserOrganisation; -import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; @@ -75,29 +67,18 @@ * @struts.action-forward name="passwordChanged" path=".passwordChangeOk" * @struts.action-forward name="portrait" path="/portrait.do" * @struts.action-forward name="lessons" path="/profile.do?method=lessons" - * @struts.action-forward name="content" path="/indexContent.jsp" */ public class IndexAction extends Action { private static Logger log = Logger.getLogger(IndexAction.class); - private static IUserManagementService service; - private Integer state; - @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - String stateParam = WebUtil.readStrParam(request, "state"); - state = (stateParam.equals("active")?OrganisationState.ACTIVE:OrganisationState.ARCHIVED); + setHeaderLinks(request); + setAdminLinks(request); - log.debug("User:"+request.getRemoteUser()); - // only set header links if we are displaying 'active' organisations; i.e., on the index page - if(state.equals(OrganisationState.ACTIVE)){ - setHeaderLinks(request); - setAdminLinks(request); - } - // check if user is flagged as needing to change their password User loggedInUser = getService().getUserByLogin(request.getRemoteUser()); if (loggedInUser.getChangePassword()!=null) { @@ -108,6 +89,8 @@ String tab = WebUtil.readStrParam(request, "tab", true); if (StringUtils.equals(tab, "profile")) { + List courseIds = getService().getArchivedCourseIdsByUser(loggedInUser.getUserId(), request.isUserInRole(Role.SYSADMIN)); + request.setAttribute("courseIds", courseIds); return mapping.findForward("profile"); } else if (StringUtils.equals(tab, "editprofile")) { return mapping.findForward("editprofile"); @@ -125,56 +108,10 @@ return mapping.findForward("community"); } - List orgBeans = new ArrayList(); - if (request.isUserInRole(Role.SYSADMIN)) { - List organisations = getService().getOrganisationsByTypeAndStatus(OrganisationType.COURSE_TYPE,state); - // when listing archived orgs, make sure we get subgroups that are archived under still-active groups - if (state.equals(OrganisationState.ARCHIVED)) { - organisations.addAll(getService().getOrganisationsByTypeAndStatus(OrganisationType.COURSE_TYPE,OrganisationState.ACTIVE)); - } - for (Organisation org:organisations) { - List roles = new ArrayList(); - roles.add(Role.ROLE_SYSADMIN); - List userOrganisationRoles = getService().getUserOrganisationRoles(org.getOrganisationId(),request.getRemoteUser()); - for(UserOrganisationRole userOrganisationRole:userOrganisationRoles){ - roles.add(userOrganisationRole.getRole().getRoleId()); - } - // don't set the orgbean to display if subgroups are not archived - IndexOrgBean iob = createOrgBean(org, roles, request.getRemoteUser(),true); - if (state.equals(OrganisationState.ARCHIVED) - && org.getOrganisationState().getOrganisationStateId().equals(OrganisationState.ACTIVE) - && iob.getChildIndexOrgBeans().isEmpty()) { - continue; - } - orgBeans.add(iob); - } - } else { - List userOrganisations = getService().getUserOrganisationsForUserByTypeAndStatus(request.getRemoteUser(),OrganisationType.COURSE_TYPE,state); - // when listing archived orgs, make sure we get subgroups that are archived under still-active groups - if (state.equals(OrganisationState.ARCHIVED)) { - userOrganisations.addAll(getService().getUserOrganisationsForUserByTypeAndStatus(request.getRemoteUser(),OrganisationType.COURSE_TYPE,OrganisationState.ACTIVE)); - } - for (UserOrganisation userOrganisation: userOrganisations) { - List roles = new ArrayList(); - for(Object userOrganisationRole:userOrganisation.getUserOrganisationRoles()){ - roles.add(((UserOrganisationRole)userOrganisationRole).getRole().getRoleId()); - } - // don't set the orgbean to display if subgroups are not archived - IndexOrgBean iob = createOrgBean(userOrganisation.getOrganisation(),roles,request.getRemoteUser(),false); - if (state.equals(OrganisationState.ARCHIVED) - && userOrganisation.getOrganisation().getOrganisationState().getOrganisationStateId().equals(OrganisationState.ACTIVE) - && iob.getChildIndexOrgBeans().isEmpty()) { - continue; - } - orgBeans.add(iob); - } - } - Collections.sort(orgBeans); - request.setAttribute("orgBeans",orgBeans); - if(state.equals(OrganisationState.ACTIVE)) - return mapping.findForward("main"); - else - return mapping.findForward("content"); + List courseIds = getService().getActiveCourseIdsByUser(loggedInUser.getUserId(), request.isUserInRole(Role.SYSADMIN)); + request.setAttribute("courseIds", courseIds); + + return mapping.findForward("main"); } private void setHeaderLinks(HttpServletRequest request) { @@ -183,12 +120,12 @@ log.debug("user is author"); headerLinks.add(new IndexLinkBean("index.author", "javascript:openAuthor()")); } - headerLinks.add(new IndexLinkBean("index.myprofile", "index.do?state=active&tab=profile")); + headerLinks.add(new IndexLinkBean("index.myprofile", "index.do?tab=profile")); if(Configuration.getAsBoolean(ConfigurationKeys.LAMS_COMMUNITY_ENABLE)) if (request.isUserInRole(Role.SYSADMIN) || request.isUserInRole(Role.GROUP_ADMIN) || request.isUserInRole(Role.GROUP_MANAGER) || request.isUserInRole(Role.AUTHOR) || request.isUserInRole(Role.AUTHOR_ADMIN) || request.isUserInRole(Role.MONITOR)) - headerLinks.add(new IndexLinkBean("index.community", "index.do?state=active&tab=community")); + headerLinks.add(new IndexLinkBean("index.community", "index.do?tab=community")); log.debug("set headerLinks in request"); request.setAttribute("headerLinks", headerLinks); @@ -202,120 +139,6 @@ adminLinks.add(new IndexLinkBean("index.sysadmin", "javascript:openSysadmin()")); request.setAttribute("adminLinks", adminLinks); } - - @SuppressWarnings({"unchecked","static-access"}) - private IndexOrgBean createOrgBean(Organisation org, List roles, String username, boolean isSysAdmin) { - //log.debug("creating orgBean for org:"+org.getName()); - User user = (User)getService().findByProperty(User.class, "login",username).get(0); - IndexOrgBean orgBean = new IndexOrgBean(org.getName(), org.getOrganisationType().getOrganisationTypeId()); - List links = new ArrayList(); - if(isSysAdmin && state.equals(OrganisationState.ACTIVE)){ - if (orgBean.getType().equals(OrganisationType.COURSE_TYPE)) { - links.add(new IndexLinkBean("index.classman", "javascript:openOrgManagement(" + org.getOrganisationId()+")", "manage-group-button")); - } - } - if ((contains(roles, Role.ROLE_GROUP_ADMIN) || contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles,Role.ROLE_MONITOR)) - && state.equals(OrganisationState.ACTIVE)) { - if (orgBean.getType().equals(OrganisationType.COURSE_TYPE)) { - if((!isSysAdmin)&&(contains(roles, Role.ROLE_GROUP_ADMIN) || contains(roles, Role.ROLE_GROUP_MANAGER))){ - links.add(new IndexLinkBean("index.classman", "javascript:openOrgManagement(" + org.getOrganisationId()+")", "manage-group-button")); - } - if(contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles,Role.ROLE_MONITOR)) - links.add(new IndexLinkBean("index.addlesson", "javascript:openAddLesson(" + org.getOrganisationId()+",'')", "add-lesson-button")); - }else{//CLASS_TYPE - if(contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles,Role.ROLE_MONITOR)) - links.add(new IndexLinkBean("index.addlesson","javascript:openAddLesson("+org.getParentOrganisation().getOrganisationId()+","+org.getOrganisationId()+")", "add-lesson-button")); - } - } - orgBean.setLinks(links); - - if (state.equals(OrganisationState.ARCHIVED) && org.getOrganisationState().getOrganisationStateId().equals(OrganisationState.ARCHIVED)) { - orgBean.setArchivedDate(org.getArchivedDate()); - } - - List lessonBeans = new ArrayList(); - Set lessons = org.getLessons(); - for(Lesson lesson:lessons) { - if(isInLesson(user,lesson)){ - if(!lesson.isPreviewLesson()){ - List lessonLinks = new ArrayList(); - String url = null; - if(state.equals(OrganisationState.ACTIVE)){ - if(contains(roles,Role.ROLE_GROUP_MANAGER)||contains(roles,Role.ROLE_MONITOR)){ - if(!lesson.getLessonStateId().equals(lesson.REMOVED_STATE)){ - lessonLinks.add(new IndexLinkBean("index.monitor", "javascript:openMonitorLesson(" + lesson.getLessonId()+")")); - } - } - if(contains(roles,Role.ROLE_LEARNER)){ - log.debug("Lesson State:"+lesson.getLessonStateId()); - if(lesson.getLessonStateId().equals(lesson.STARTED_STATE)||lesson.getLessonStateId().equals(lesson.FINISHED_STATE)){ - url = "javascript:openLearner("+lesson.getLessonId()+")"; - } - } - }else if(state.equals(OrganisationState.ARCHIVED)){ - if(contains(roles,Role.ROLE_GROUP_MANAGER)){ - if(!lesson.getLessonStateId().equals(lesson.REMOVED_STATE)){ - lessonLinks.add(new IndexLinkBean("index.monitor", "javascript:openMonitorLesson(" + lesson.getLessonId()+")")); - } - } - if(contains(roles,Role.ROLE_LEARNER)){ - log.debug("Lesson State:"+lesson.getLessonStateId()); - if(lesson.getLessonStateId().equals(lesson.STARTED_STATE)||lesson.getLessonStateId().equals(lesson.FINISHED_STATE)){ - lessonLinks.add(new IndexLinkBean("label.export.portfolio","javascript:openExportPortfolio("+lesson.getLessonId()+")")); - } - } - } - if(lessonLinks.size()>0 || url!=null){ - IndexLessonBean lessonBean = new IndexLessonBean(lesson.getLessonName(), lessonLinks); - lessonBean.setUrl(url); - lessonBean.setState(lesson.getLessonStateId()); - lessonBeans.add(lessonBean); - } - } - } - } - Collections.sort(lessonBeans); - orgBean.setLessons(lessonBeans); - - if(orgBean.getType().equals(OrganisationType.COURSE_TYPE)){ - Set children = org.getChildOrganisations(); - List childOrgBeans = new ArrayList(); - for(Organisation organisation:children){ - if(organisation.getOrganisationState().getOrganisationStateId().equals(state)){ - List classRoles = new ArrayList(); - List userOrganisationRoles = getService().getUserOrganisationRoles(organisation.getOrganisationId(),username); - // don't list the subgroup if user is not a member, and not a group admin/manager - if (userOrganisationRoles==null || userOrganisationRoles.isEmpty()) { - if (!contains(roles,Role.ROLE_GROUP_ADMIN) && - !contains(roles,Role.ROLE_GROUP_MANAGER) && - !contains(roles,Role.ROLE_SYSADMIN)) { - continue; - } - } - for(UserOrganisationRole userOrganisationRole:userOrganisationRoles){ - classRoles.add(userOrganisationRole.getRole().getRoleId()); - } - if(contains(roles,Role.ROLE_GROUP_MANAGER)) classRoles.add(Role.ROLE_GROUP_MANAGER); - childOrgBeans.add(createOrgBean(organisation,classRoles,username,isSysAdmin)); - } - } - Collections.sort(childOrgBeans); - orgBean.setChildIndexOrgBeans(childOrgBeans); - } - return orgBean; - } - - private boolean isInLesson(User user, Lesson lesson) { - return lesson.getLessonClass().isStaffMember(user)||lesson.getLessonClass().getLearners().contains(user); - } - - private boolean contains(List roles, Integer roleId) { - for (int i = 0; i < roles.size(); i++) { - if (roleId.equals(roles.get(i))) - return true; - } - return false; - } private IUserManagementService getService(){ if(service==null){ Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/Attic/IndexLessonBean.java,v diff -u -r1.6 -r1.7 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java 14 Sep 2007 07:45:16 -0000 1.6 +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java 19 Oct 2007 02:32:38 -0000 1.7 @@ -37,6 +37,7 @@ */ public class IndexLessonBean implements Comparable{ private String name; + private String description; private String url; private Integer state; private List links; @@ -46,8 +47,11 @@ this.url = url; } - public IndexLessonBean(String name, List links) { + public IndexLessonBean(String name, String description, String url, Integer state, List links) { this.name = name; + this.description = description; + this.url = url; + this.state = state; this.links = links; } /** @@ -77,6 +81,12 @@ public int compareTo(Object o) { return name.compareTo(((IndexLessonBean)o).getName()); } + public String getDescription() { + return description; + } + public void setDescription(String description) { + this.description = description; + } public String getUrl() { return url; } Index: lams_central/web/group.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/group.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/group.jsp 19 Oct 2007 02:32:38 -0000 1.1 @@ -0,0 +1,91 @@ +<%@ page contentType="text/html; charset=utf-8" language="java"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-logic" prefix="logic"%> +<%@ taglib uri="tags-lams" prefix="lams"%> + + +
+
+
+

+ ( ) +

+
+ +
+ + + +
+
+
+ +
+ +
+ +

+ + +  () +  () + + + " class="sequence-name-link"> + + + + + + + + +

+
+
+ + +
+

+ + + ( ) + + + + + + + + +

+ +
+ +

+ + +  () +  () + + + + + + + + + + + +

+
+
+
+
+ +
+
+
+ Index: lams_central/web/index.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/index.jsp,v diff -u -r1.27 -r1.28 --- lams_central/web/index.jsp 5 Jun 2007 05:53:07 -0000 1.27 +++ lams_central/web/index.jsp 19 Oct 2007 02:32:38 -0000 1.28 @@ -7,7 +7,7 @@ - + <fmt:message key="index.welcome" /> Fisheye: Tag 1.13 refers to a dead (removed) revision in file `lams_central/web/indexCommon.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.14 refers to a dead (removed) revision in file `lams_central/web/indexContent.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/web/main.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/main.jsp,v diff -u -r1.17 -r1.18 --- lams_central/web/main.jsp 5 Jun 2007 05:53:07 -0000 1.17 +++ lams_central/web/main.jsp 19 Oct 2007 02:32:38 -0000 1.18 @@ -28,8 +28,23 @@ - +