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.31 -r1.32 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 29 Nov 2006 03:59:17 -0000 1.31 +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 29 Nov 2006 23:48:14 -0000 1.32 @@ -117,25 +117,47 @@ List orgBeans = new ArrayList(); if (request.isUserInRole(Role.SYSADMIN)) { List organisations = getService().getOrganisationsByTypeAndStatus(OrganisationType.COURSE_TYPE,state); - log.debug("we got "+organisations.size()+" organisations whose type is "+OrganisationType.COURSE_DESCRIPTION+" and whose state is "+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) { + log.debug("archived date: "+org.getArchivedDate()); 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()); } - orgBeans.add(createOrgBean(org, roles, request.getRemoteUser(),true)); + // 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); - log.debug("we got "+userOrganisations.size()+" organisations whose type is "+OrganisationType.COURSE_DESCRIPTION+" and whose state is "+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) { + log.debug("archived date: "+userOrganisation.getOrganisation().getArchivedDate()); List roles = new ArrayList(); for(Object userOrganisationRole:userOrganisation.getUserOrganisationRoles()){ roles.add(((UserOrganisationRole)userOrganisationRole).getRole().getRoleId()); } - orgBeans.add(createOrgBean(userOrganisation.getOrganisation(),roles,request.getRemoteUser(),false)); + // 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); } } request.setAttribute("orgBeans",orgBeans); @@ -195,8 +217,11 @@ 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(); Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexOrgBean.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/Attic/IndexOrgBean.java,v diff -u -r1.2 -r1.3 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexOrgBean.java 17 Sep 2006 06:12:05 -0000 1.2 +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexOrgBean.java 29 Nov 2006 23:48:14 -0000 1.3 @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.web; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -39,6 +40,7 @@ public class IndexOrgBean { private String name; + private Date archivedDate; private Integer type; private List links; private List lessons; @@ -112,5 +114,17 @@ public void setType(Integer type) { this.type = type; } + /** + * @return Returns the archived date. + */ + public Date getArchivedDate() { + return archivedDate; + } + /** + * @param type The archived date to set. + */ + public void setArchivedDate(Date archivedDate) { + this.archivedDate = archivedDate; + } } Index: lams_central/web/indexCommon.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/Attic/indexCommon.jsp,v diff -u -r1.9 -r1.10 --- lams_central/web/indexCommon.jsp 24 Nov 2006 01:59:57 -0000 1.9 +++ lams_central/web/indexCommon.jsp 29 Nov 2006 23:48:13 -0000 1.10 @@ -2,12 +2,15 @@ <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-core" prefix="c"%> <%@ taglib uri="tags-logic" prefix="logic"%> +<%@ taglib uri="tags-lams" prefix="lams"%>
-

+

+ ( ) +

@@ -41,13 +44,17 @@

+ + ( ) + add lesson

+