From 016617c60c2b275d1a2f1a33b67b7318bf1cb754 Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 11 Mar 2011 20:48:22 +0000 Subject: [PATCH] =?UTF-8?q?Erg=C3=A4nzungen=20f=C3=BCr=20ZeS-Testserver?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@784 8810af33-2d31-482b-a856-94f89814c4df --- .../ui/CompoundContentItemPanel.java | 2 +- .../contenttypes/ui/SciDepartmentPanel.java | 43 +++++++----- .../ui/SciOrganizationBasePanel.java | 30 +++++++-- .../templates/SciDepartment-index.jsp | 67 +++++++++++++++++++ 4 files changed, 116 insertions(+), 26 deletions(-) create mode 100644 ccm-zes-aplaws/web/packages/navigation/templates/SciDepartment-index.jsp diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/CompoundContentItemPanel.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/CompoundContentItemPanel.java index ae0c45d06..4fd1b1b7d 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/CompoundContentItemPanel.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/CompoundContentItemPanel.java @@ -69,7 +69,7 @@ public abstract class CompoundContentItemPanel /** * PageSize for the a paginator */ - private long m_pageSize = 3; + private long m_pageSize = 30; public CompoundContentItemPanel() { super(); diff --git a/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPanel.java b/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPanel.java index 37aad0682..3cfaf87a5 100644 --- a/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPanel.java +++ b/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPanel.java @@ -224,7 +224,7 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel { members = new LinkedList(); GenericOrganizationalUnitPersonCollection departmentMembers; departmentMembers = department.getPersons(); - for(String filter : filters) { + for (String filter : filters) { departmentMembers.addFilter(filter); } @@ -268,7 +268,7 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel { } else { GenericOrganizationalUnitPersonCollection departmentMembers; departmentMembers = department.getPersons(); - for(String filter : filters) { + for (String filter : filters) { departmentMembers.addFilter(filter); } @@ -439,13 +439,13 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel { if (config.getOrganizationProjectsAllInOne()) { if (hasProjects(department, new LinkedList())) { availableData.newChildElement("projects"); - } else { - if (hasProjects(department, getFiltersForOngoingProjects())) { - availableData.newChildElement("projectsOngoing"); - } - if (hasProjects(department, getFiltersForFinishedProjects())) { - availableData.newChildElement("projectsFinished"); - } + } + } else { + if (hasProjects(department, getFiltersForOngoingProjects())) { + availableData.newChildElement("projectsOngoing"); + } + if (hasProjects(department, getFiltersForFinishedProjects())) { + availableData.newChildElement("projectsFinished"); } } @@ -460,19 +460,26 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel { } else if (SHOW_CONTACTS.equals(show)) { generateContactsXML(department, content, state); } else if (SHOW_MEMBERS.equals(show)) { - generateMembersXML(department, content, state, new LinkedList()); + generateMembersXML(department, content, state, + new LinkedList()); } else if (SHOW_MEMBERS_ACTIVE.equals(show)) { - generateMembersXML(department, content, state, getFiltersForActiveMembers()); + generateMembersXML(department, content, state, + getFiltersForActiveMembers()); } else if (SHOW_MEMBERS_ASSOCIATED.equals(show)) { - generateMembersXML(department, content, state, getFiltersForAssociatedMembers()); + generateMembersXML(department, content, state, + getFiltersForAssociatedMembers()); } else if (SHOW_MEMBERS_FORMER.equals(show)) { - generateMembersXML(department, content, state, getFiltersForFormerMembers()); + generateMembersXML(department, content, state, + getFiltersForFormerMembers()); } else if (SHOW_PROJECTS.equals(show)) { - generateProjectsXML(department, content, state, new LinkedList()); - } else if (SHOW_PROJECTS_ONGOING.equals(show)) { - generateProjectsXML(department, content, state, getFiltersForOngoingProjects()); + generateProjectsXML(department, content, state, + new LinkedList()); + } else if (SHOW_PROJECTS_ONGOING.equals(show)) { + generateProjectsXML(department, content, state, + getFiltersForOngoingProjects()); } else if (SHOW_PROJECTS_FINISHED.equals(show)) { - generateProjectsXML(department, content, state, getFiltersForFinishedProjects()); - } + generateProjectsXML(department, content, state, + getFiltersForFinishedProjects()); + } } } diff --git a/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciOrganizationBasePanel.java b/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciOrganizationBasePanel.java index f0fab8e0c..5d4d0939e 100644 --- a/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciOrganizationBasePanel.java +++ b/ccm-sci-types-organization/src/com/arsdigita/cms/contenttypes/ui/SciOrganizationBasePanel.java @@ -147,10 +147,25 @@ public abstract class SciOrganizationBasePanel public int compare(SciProject project1, SciProject project2) { int result = 0; - result = project1.getBegin().compareTo(project2.getBegin()); + if (project1.getBegin() == null) { + return -1; + } else if (project2.getBegin() == null) { + return 1; + } else { + result = project1.getBegin().compareTo(project2.getBegin()); + } if (result == 0) { - result = project1.getEnd().compareTo(project2.getEnd()); + if (project1.getEnd() == null) { + return -1; + } else if (project2.getEnd() == null) { + return 1; + } else if ((project1.getEnd() == null) && (project2.getEnd() + == null)) { + return 0; + } else { + result = project1.getEnd().compareTo(project2.getEnd()); + } } return result; @@ -190,11 +205,12 @@ public abstract class SciOrganizationBasePanel filters = new LinkedList(); today = new GregorianCalendar(); - filters.add(String.format("projectend > '%d-%02d-%02d'", - today.get(java.util.Calendar.YEAR), - today.get(java.util.Calendar.MONTH) - + 1, - today.get(java.util.Calendar.DAY_OF_MONTH))); + filters.add(String.format( + "(projectbegin IS NOT null) AND (projectend > '%d-%02d-%02d' OR projectend IS null)", + today.get(java.util.Calendar.YEAR), + today.get(java.util.Calendar.MONTH) + + 1, + today.get(java.util.Calendar.DAY_OF_MONTH))); return filters; } diff --git a/ccm-zes-aplaws/web/packages/navigation/templates/SciDepartment-index.jsp b/ccm-zes-aplaws/web/packages/navigation/templates/SciDepartment-index.jsp new file mode 100644 index 000000000..0689939ca --- /dev/null +++ b/ccm-zes-aplaws/web/packages/navigation/templates/SciDepartment-index.jsp @@ -0,0 +1,67 @@ + + + + + + + + + + long age = Navigation.getConfig().getIndexPageCacheLifetime(); + if (age == 0) { + DispatcherHelper.cacheDisable(response); + } else { + DispatcherHelper.cacheForWorld(response, (int)age); + } + + + + + + + + com.arsdigita.cms.ContentItem item = (com.arsdigita.cms.ContentItem)((com.arsdigita.london.navigation.ui.GreetingItem) greetingItem).getObject(); + ((com.arsdigita.cms.contenttypes.ui.SciDepartmentPanel) sectionXML).setContentItem(item); + + + + + + ((com.arsdigita.cms.contenttypes.ui.SciDepartmentPanel)sectionXML).setPageSize(30); + + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); + + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey"); + + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "description"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" ); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate"); + ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); + + + + + + + +