Verschiedene Fehlerkorrekturen, insbesondere für Ticket 452 Projekte der Abteilung: Einträge doppelt bzw. dreifach, an der Erzeugung der
Projektlisten. git-svn-id: https://svn.libreccm.org/ccm/trunk@945 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
cb104fde03
commit
37ada8557f
|
|
@ -21,6 +21,7 @@ public class CompareFilter implements Filter {
|
|||
private final boolean allOption;
|
||||
private final boolean allOptionIsDefault;
|
||||
private final boolean propertyIsNumeric;
|
||||
private final boolean includeNull;
|
||||
private Map<String, Option> options = new LinkedHashMap<String, Option>();
|
||||
private String value;
|
||||
|
||||
|
|
@ -28,12 +29,14 @@ public class CompareFilter implements Filter {
|
|||
final String label,
|
||||
final boolean allOption,
|
||||
final boolean allOptionIsDefault,
|
||||
final boolean propertyIsNumeric) {
|
||||
final boolean propertyIsNumeric,
|
||||
final boolean includeNull) {
|
||||
this.property = property;
|
||||
this.label = label;
|
||||
this.allOption = allOption;
|
||||
this.allOptionIsDefault = allOptionIsDefault;
|
||||
this.propertyIsNumeric = propertyIsNumeric;
|
||||
this.includeNull = includeNull;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -110,6 +113,10 @@ public class CompareFilter implements Filter {
|
|||
filter.append('\'');
|
||||
}
|
||||
|
||||
if (includeNull) {
|
||||
filter.append(String.format(" or %s is null", property));
|
||||
}
|
||||
|
||||
return filter.toString();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -142,14 +142,16 @@ public class CustomizableObjectList extends ComplexObjectList {
|
|||
final String label,
|
||||
final boolean allOption,
|
||||
final boolean allOptionIsDefault,
|
||||
final boolean propertyIsNumeric) {
|
||||
final boolean propertyIsNumeric,
|
||||
final boolean includeNull) {
|
||||
CompareFilter filter;
|
||||
|
||||
filter = new CompareFilter(property,
|
||||
label,
|
||||
allOption,
|
||||
allOptionIsDefault,
|
||||
propertyIsNumeric);
|
||||
propertyIsNumeric,
|
||||
includeNull);
|
||||
filters.put(label, filter);
|
||||
|
||||
return filter;
|
||||
|
|
|
|||
|
|
@ -32,8 +32,10 @@ import com.arsdigita.cms.contenttypes.SciOrganizationConfig;
|
|||
import com.arsdigita.cms.contenttypes.SciProject;
|
||||
import com.arsdigita.xml.Element;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
|
|
@ -101,22 +103,26 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
|
|||
}
|
||||
|
||||
protected boolean hasMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().getOrganizationMembersMerge(),
|
||||
return department.hasMembers(SciDepartment.getConfig().
|
||||
getOrganizationMembersMerge(),
|
||||
SciDepartment.MemberStatus.ALL);
|
||||
}
|
||||
|
||||
protected boolean hasActiveMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().getOrganizationMembersMerge(),
|
||||
protected boolean hasActiveMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().
|
||||
getOrganizationMembersMerge(),
|
||||
SciDepartment.MemberStatus.ACTIVE);
|
||||
}
|
||||
|
||||
protected boolean hasAssociatedMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().getOrganizationMembersMerge(),
|
||||
protected boolean hasAssociatedMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().
|
||||
getOrganizationMembersMerge(),
|
||||
SciDepartment.MemberStatus.ASSOCIATED);
|
||||
}
|
||||
|
||||
protected boolean hasFormerMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().getOrganizationMembersMerge(),
|
||||
protected boolean hasFormerMembers(final SciDepartment department) {
|
||||
return department.hasMembers(SciDepartment.getConfig().
|
||||
getOrganizationMembersMerge(),
|
||||
SciDepartment.MemberStatus.FORMER);
|
||||
}
|
||||
|
||||
|
|
@ -133,7 +139,7 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
|
|||
}
|
||||
|
||||
protected boolean hasFinishedProjects(final SciDepartment department) {
|
||||
return department.hasProjects(SciDepartment.getConfig().
|
||||
return department.hasProjects(SciDepartment.getConfig().
|
||||
getOrganizationProjectsMerge(),
|
||||
SciDepartment.ProjectStatus.FINISHED);
|
||||
}
|
||||
|
|
@ -347,23 +353,30 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
|
|||
|
||||
mergeProjects(subDepartments, projects, filters);
|
||||
|
||||
Collections.sort(projects, new SciProjectComparator());
|
||||
Set<SciProject> projectsSet;
|
||||
List<SciProject> projectsWithoutDoubles;
|
||||
projectsSet = new HashSet<SciProject>(projects);
|
||||
projectsWithoutDoubles = new LinkedList<SciProject>(projectsSet);
|
||||
|
||||
Collections.sort(projectsWithoutDoubles, new SciProjectComparator());
|
||||
|
||||
long pageNumber = getPageNumber(state);
|
||||
long pageCount = getPageCount(projects.size());
|
||||
long pageCount = getPageCount(projectsWithoutDoubles.size());
|
||||
long begin = getPaginatorBegin(pageNumber);
|
||||
long count = getPaginatorCount(begin, projects.size());
|
||||
long count = getPaginatorCount(begin, projectsWithoutDoubles.size());
|
||||
long end = getPaginatorEnd(begin, count);
|
||||
pageNumber = normalizePageNumber(pageCount, pageNumber);
|
||||
|
||||
createPaginatorElement(
|
||||
parent, pageNumber, pageCount, begin, end, count, projects.
|
||||
size());
|
||||
List<SciProject> projectsToShow = projects.subList((int) begin,
|
||||
createPaginatorElement(parent,
|
||||
pageNumber,
|
||||
pageCount,
|
||||
begin,
|
||||
end,
|
||||
count,
|
||||
projectsWithoutDoubles.size());
|
||||
List<SciProject> projectsToShow = projectsWithoutDoubles.subList((int) begin,
|
||||
(int) end);
|
||||
|
||||
|
||||
|
||||
Element projectsElem = parent.newChildElement("projects");
|
||||
for (SciProject project : projectsToShow) {
|
||||
generateProjectXML(project, projectsElem, state);
|
||||
|
|
@ -467,7 +480,7 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
|
|||
}
|
||||
}
|
||||
if (department.hasPublications()
|
||||
&& displayPublications) {
|
||||
&& displayPublications) {
|
||||
availableData.newChildElement("publications");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ import com.arsdigita.cms.contenttypes.SciOrganizationConfig;
|
|||
import com.arsdigita.cms.contenttypes.SciOrganizationDepartmentsCollection;
|
||||
import com.arsdigita.cms.contenttypes.SciOrganizationProjectsCollection;
|
||||
import com.arsdigita.cms.contenttypes.SciProject;
|
||||
import com.arsdigita.persistence.DataCollection;
|
||||
import com.arsdigita.xml.Element;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
|
|
|
|||
|
|
@ -177,3 +177,4 @@ scimember.ui.department.confirm_remove=Do you really want to remove this associa
|
|||
scimember.ui.project.confirm_remove=Do you really want to remove this association?
|
||||
scimember.ui.project.select_project=Project
|
||||
scimember.ui.projects.edit_assoc=Edit association
|
||||
sciorganization.ui.project.description=Description of project
|
||||
|
|
|
|||
|
|
@ -177,3 +177,4 @@ scimember.ui.department.confirm_remove=Wollen Sie diese Verkn\u00fcpfung wirklic
|
|||
scimember.ui.project.confirm_remove=Wollen Sie diese Verkn\u00fcpfung wirklich entfernen?
|
||||
scimember.ui.project.select_project=Projekt
|
||||
scimember.ui.projects.edit_assoc=Verkn\u00fcpfung bearbeiten
|
||||
sciorganization.ui.project.description=Projektbeschreibung
|
||||
|
|
|
|||
Loading…
Reference in New Issue