Die Reiter in den Panels lassen sich jetzt aus der JSP heraus über display{}(boolean) Methoden abschalten, wobei {} durch die Bezeichnung des jeweiligen Reiters zu

ersetzen ist. So kann z.B. mit displayProjects(false) für ein SciOrganizationPanel die Anzeige des/der Reiter(s) für Projekte unterbunden werden.


git-svn-id: https://svn.libreccm.org/ccm/trunk@879 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-04-25 10:27:00 +00:00
parent 80a3d1fd3c
commit cd25420e23
4 changed files with 177 additions and 32 deletions

View File

@ -41,6 +41,9 @@ public class GenericOrganizationalUnitPanel extends CompoundContentItemPanel {
public static final String SHOW_CONTACTS = "contacts"; public static final String SHOW_CONTACTS = "contacts";
public static final String SHOW_MEMBERS = "members"; public static final String SHOW_MEMBERS = "members";
private boolean displayContacts;
private boolean displayMembers;
@Override @Override
protected String getDefaultForShowParam() { protected String getDefaultForShowParam() {
return SHOW_CONTACTS; return SHOW_CONTACTS;
@ -51,6 +54,22 @@ public class GenericOrganizationalUnitPanel extends CompoundContentItemPanel {
return GenericOrganizationalUnit.class; return GenericOrganizationalUnit.class;
} }
public boolean isDisplayContacts() {
return displayContacts;
}
public void setDisplayContacts(boolean displayContacts) {
this.displayContacts = displayContacts;
}
public boolean isDisplayMembers() {
return displayMembers;
}
public void setDisplayMembers(boolean displayMembers) {
this.displayMembers = displayMembers;
}
protected void generateContactsXML(GenericOrganizationalUnit orga, protected void generateContactsXML(GenericOrganizationalUnit orga,
Element parent, PageState state) { Element parent, PageState state) {
GenericOrganizationalUnitContactCollection contacts; GenericOrganizationalUnitContactCollection contacts;
@ -232,11 +251,13 @@ public class GenericOrganizationalUnitPanel extends CompoundContentItemPanel {
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) item; GenericOrganizationalUnit orga = (GenericOrganizationalUnit) item;
if ((orga.getContacts() != null) if ((orga.getContacts() != null)
&& (orga.getContacts().size() > 0)) { && (orga.getContacts().size() > 0)
&& displayMembers) {
availableData.newChildElement("contacts"); availableData.newChildElement("contacts");
} }
if ((orga.getPersons() != null) if ((orga.getPersons() != null)
&& (orga.getPersons().size() > 0)) { && (orga.getPersons().size() > 0)
&& displayMembers) {
availableData.newChildElement("members"); availableData.newChildElement("members");
} }

View File

@ -54,6 +54,10 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
public static final String SHOW_PROJECTS_ONGOING = "projectsOngoing"; public static final String SHOW_PROJECTS_ONGOING = "projectsOngoing";
public static final String SHOW_PROJECTS_FINISHED = "projectsFinished"; public static final String SHOW_PROJECTS_FINISHED = "projectsFinished";
public static final String SHOW_PUBLICATIONS = "publications"; public static final String SHOW_PUBLICATIONS = "publications";
private boolean displayDescription;
private boolean displaySubDepartments;
private boolean displayProjects;
private boolean displayPublications;
@Override @Override
protected String getDefaultForShowParam() { protected String getDefaultForShowParam() {
@ -65,6 +69,38 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
return SciDepartment.class; return SciDepartment.class;
} }
public boolean isDisplayDescription() {
return displayDescription;
}
public void setDisplayDescription(boolean displayDescription) {
this.displayDescription = displayDescription;
}
public boolean isDisplayProjects() {
return displayProjects;
}
public void setDisplayProjects(boolean displayProjects) {
this.displayProjects = displayProjects;
}
public boolean isDisplayPublications() {
return displayPublications;
}
public void setDisplayPublications(boolean displayPublications) {
this.displayPublications = displayPublications;
}
public boolean isDisplaySubDepartments() {
return displaySubDepartments;
}
public void setDisplaySubDepartments(boolean displaySubDepartments) {
this.displaySubDepartments = displaySubDepartments;
}
protected boolean hasMembers(final SciDepartment department, protected boolean hasMembers(final SciDepartment department,
final List<String> filters) { final List<String> filters) {
if (department.getPersons() != null) { if (department.getPersons() != null) {
@ -412,48 +448,60 @@ public class SciDepartmentPanel extends SciOrganizationBasePanel {
SciOrganizationConfig config = SciDepartment.getConfig(); SciOrganizationConfig config = SciDepartment.getConfig();
if ((department.getDepartmentDescription() != null) if ((department.getDepartmentDescription() != null)
&& !department.getDepartmentDescription().isEmpty()) { && !department.getDepartmentDescription().isEmpty()
&& displayDescription) {
availableData.newChildElement("description"); availableData.newChildElement("description");
} }
if ((department.getContacts() != null) if ((department.getContacts() != null)
&& (department.getContacts().size() > 0)) { && (department.getContacts().size() > 0)
&& isDisplayContacts()) {
availableData.newChildElement("contacts"); availableData.newChildElement("contacts");
} }
if ((department.getSubDepartments() != null) if ((department.getSubDepartments() != null)
&& (department.getSubDepartments().size() > 0)) { && (department.getSubDepartments().size() > 0)
&& displaySubDepartments) {
availableData.newChildElement("subDepartments"); availableData.newChildElement("subDepartments");
} }
if (config.getOrganizationMembersAllInOne()) { if (config.getOrganizationMembersAllInOne()) {
if (hasMembers(department, new LinkedList<String>())) { if (hasMembers(department, new LinkedList<String>())
&& isDisplayMembers()) {
availableData.newChildElement("members"); availableData.newChildElement("members");
} }
} else { } else {
if (hasMembers(department, getFiltersForActiveMembers())) { if (hasMembers(department, getFiltersForActiveMembers())
&& isDisplayMembers()) {
availableData.newChildElement("membersActive"); availableData.newChildElement("membersActive");
} }
if (hasMembers(department, getFiltersForAssociatedMembers())) { if (hasMembers(department, getFiltersForAssociatedMembers())
&& isDisplayMembers()) {
availableData.newChildElement("membersAssociated"); availableData.newChildElement("membersAssociated");
} }
if (hasMembers(department, getFiltersForFormerMembers())) { if (hasMembers(department, getFiltersForFormerMembers())
&& isDisplayMembers()) {
availableData.newChildElement("membersFormer"); availableData.newChildElement("membersFormer");
} }
} }
if (config.getOrganizationProjectsAllInOne()) { if (config.getOrganizationProjectsAllInOne()) {
if (hasProjects(department, new LinkedList<String>())) { if (hasProjects(department, new LinkedList<String>())
&& displayProjects) {
availableData.newChildElement("projects"); availableData.newChildElement("projects");
} }
} else { } else {
if (hasProjects(department, getFiltersForOngoingProjects())) { if (hasProjects(department, getFiltersForOngoingProjects())
&& displayProjects) {
availableData.newChildElement("projectsOngoing"); availableData.newChildElement("projectsOngoing");
} }
if (hasProjects(department, getFiltersForFinishedProjects())) { if (hasProjects(department, getFiltersForFinishedProjects())
&& displayProjects) {
availableData.newChildElement("projectsFinished"); availableData.newChildElement("projectsFinished");
} }
} }
DataCollection publicationLinks = DataCollection publicationLinks =
RelatedLink.getRelatedLinks(department, RelatedLink.getRelatedLinks(department,
"SciDepartmentPublications"); "SciDepartmentPublications");
if ((publicationLinks != null) && (publicationLinks.size() > 0)) { if ((publicationLinks != null)
&& (publicationLinks.size() > 0)
&& displayPublications) {
availableData.newChildElement("publications"); availableData.newChildElement("publications");
} }

View File

@ -61,6 +61,10 @@ public class SciOrganizationPanel extends SciOrganizationBasePanel {
public static final String SHOW_PROJECTS_ONGOING = "projectsOngoing"; public static final String SHOW_PROJECTS_ONGOING = "projectsOngoing";
public static final String SHOW_PROJECTS_FINISHED = "projectsFinished"; public static final String SHOW_PROJECTS_FINISHED = "projectsFinished";
public static final String SHOW_PUBLICATIONS = "publications"; public static final String SHOW_PUBLICATIONS = "publications";
private boolean displayDescription = true;
private boolean displayDepartments = true;
private boolean displayProjects = true;
private boolean displayPublications = true;
@Override @Override
protected String getDefaultForShowParam() { protected String getDefaultForShowParam() {
@ -72,6 +76,30 @@ public class SciOrganizationPanel extends SciOrganizationBasePanel {
return SciOrganization.class; return SciOrganization.class;
} }
public boolean isDisplayDepartments() {
return displayDepartments;
}
public void setDisplayDepartments(boolean displayDepartments) {
this.displayDepartments = displayDepartments;
}
public boolean isDisplayDescription() {
return displayDescription;
}
public void setDisplayDescription(boolean displayDescription) {
this.displayDescription = displayDescription;
}
public boolean isDisplayProjects() {
return displayProjects;
}
public void setDisplayProjects(boolean displayProjects) {
this.displayProjects = displayProjects;
}
/** /**
* *
* @param orga * @param orga
@ -509,48 +537,60 @@ public class SciOrganizationPanel extends SciOrganizationBasePanel {
config = SciOrganization.getConfig(); config = SciOrganization.getConfig();
if ((orga.getOrganizationDescription() != null) if ((orga.getOrganizationDescription() != null)
&& !(orga.getOrganizationDescription().isEmpty())) { && !(orga.getOrganizationDescription().isEmpty())
&& displayDescription) {
availableData.newChildElement("description"); availableData.newChildElement("description");
} }
if ((orga.getContacts() != null) if ((orga.getContacts() != null)
&& (orga.getContacts().size() > 0)) { && (orga.getContacts().size() > 0)
&& isDisplayContacts()) {
availableData.newChildElement("contacts"); availableData.newChildElement("contacts");
} }
if ((orga.getDepartments() != null) if ((orga.getDepartments() != null)
&& (orga.getDepartments().size() > 0)) { && (orga.getDepartments().size() > 0)
&& displayDepartments) {
availableData.newChildElement("departments"); availableData.newChildElement("departments");
} }
if (config.getOrganizationMembersAllInOne()) { if (config.getOrganizationMembersAllInOne()) {
if (hasMembers(orga, new LinkedList<String>())) { if (hasMembers(orga, new LinkedList<String>())
&& isDisplayMembers()) {
availableData.newChildElement("members"); availableData.newChildElement("members");
} }
} else { } else {
if (hasMembers(orga, getFiltersForActiveMembers())) { if (hasMembers(orga, getFiltersForActiveMembers())
&& isDisplayMembers()) {
availableData.newChildElement("membersActive"); availableData.newChildElement("membersActive");
} }
if (hasMembers(orga, getFiltersForAssociatedMembers())) { if (hasMembers(orga, getFiltersForAssociatedMembers())
&& isDisplayMembers()) {
availableData.newChildElement("membersAssociated"); availableData.newChildElement("membersAssociated");
} }
if (hasMembers(orga, getFiltersForFormerMembers())) { if (hasMembers(orga, getFiltersForFormerMembers())
&& isDisplayMembers()) {
availableData.newChildElement("membersFormer"); availableData.newChildElement("membersFormer");
} }
} }
if (config.getOrganizationProjectsAllInOne()) { if (config.getOrganizationProjectsAllInOne()) {
if (hasProjects(orga, new LinkedList<String>())) { if (hasProjects(orga, new LinkedList<String>())
&& displayProjects) {
availableData.newChildElement("projects"); availableData.newChildElement("projects");
} }
} else { } else {
if (hasProjects(orga, getFiltersForOngoingProjects())) { if (hasProjects(orga, getFiltersForOngoingProjects())
&& displayProjects) {
availableData.newChildElement("projectsOngoing"); availableData.newChildElement("projectsOngoing");
} }
if (hasProjects(orga, getFiltersForFinishedProjects())) { if (hasProjects(orga, getFiltersForFinishedProjects())
&& displayProjects) {
availableData.newChildElement("projectsFinished"); availableData.newChildElement("projectsFinished");
} }
} }
DataCollection publicationLinks = DataCollection publicationLinks =
RelatedLink.getRelatedLinks(orga, RelatedLink.getRelatedLinks(orga,
"SciOrganizationPublications"); "SciOrganizationPublications");
if ((publicationLinks != null) && (publicationLinks.size() > 0)) { if ((publicationLinks != null)
&& (publicationLinks.size() > 0)
&& displayPublications) {
availableData.newChildElement("publications"); availableData.newChildElement("publications");
} }

View File

@ -44,6 +44,9 @@ public class SciProjectPanel extends SciOrganizationBasePanel {
public static final String SHOW_SUBPROJECTS_ONGOING = "subprojectsOngoing"; public static final String SHOW_SUBPROJECTS_ONGOING = "subprojectsOngoing";
public static final String SHOW_SUBPROJECTS_FINISHED = "subprojectsFinished"; public static final String SHOW_SUBPROJECTS_FINISHED = "subprojectsFinished";
public static final String SHOW_PUBLICATIONS = "publications"; public static final String SHOW_PUBLICATIONS = "publications";
private boolean displayDescription = true;
private boolean displaySubProjects = true;
private boolean displayPublications = true;
@Override @Override
protected String getDefaultForShowParam() { protected String getDefaultForShowParam() {
@ -55,6 +58,30 @@ public class SciProjectPanel extends SciOrganizationBasePanel {
return SciProject.class; return SciProject.class;
} }
public boolean isDisplayDescription() {
return displayDescription;
}
public void setDisplayDescription(boolean displayDescription) {
this.displayDescription = displayDescription;
}
public boolean isDisplayPublications() {
return displayPublications;
}
public void setDisplayPublications(boolean displayPublications) {
this.displayPublications = displayPublications;
}
public boolean isDisplaySubProjects() {
return displaySubProjects;
}
public void setDisplaySubProjects(boolean displaySubProjects) {
this.displaySubProjects = displaySubProjects;
}
protected boolean hasMembers(final SciProject project, protected boolean hasMembers(final SciProject project,
final List<String> filters) { final List<String> filters) {
if (project.getPersons() != null) { if (project.getPersons() != null) {
@ -206,36 +233,45 @@ public class SciProjectPanel extends SciOrganizationBasePanel {
SciOrganizationConfig config = SciProject.getConfig(); SciOrganizationConfig config = SciProject.getConfig();
if ((project.getProjectDescription() != null) if ((project.getProjectDescription() != null)
&& !project.getProjectDescription().isEmpty()) { && !project.getProjectDescription().isEmpty()
&& displayDescription) {
availableData.newChildElement("description"); availableData.newChildElement("description");
} }
if ((project.getContacts() != null) if ((project.getContacts() != null)
&& (project.getContacts().size() > 0)) { && (project.getContacts().size() > 0)
&& isDisplayContacts()) {
availableData.newChildElement("contacts"); availableData.newChildElement("contacts");
} }
if ((project.getSubProjects() != null) if ((project.getSubProjects() != null)
&& (project.getSubProjects().size() > 0)) { && (project.getSubProjects().size() > 0)
&& displaySubProjects) {
availableData.newChildElement("subProjects"); availableData.newChildElement("subProjects");
} }
if (config.getProjectMembersAllInOne()) { if (config.getProjectMembersAllInOne()) {
if (hasMembers(project, new LinkedList<String>())) { if (hasMembers(project, new LinkedList<String>())
&& isDisplayMembers()) {
availableData.newChildElement("members"); availableData.newChildElement("members");
} }
} else { } else {
if (hasMembers(project, getFiltersForActiveMembers())) { if (hasMembers(project, getFiltersForActiveMembers())
&& isDisplayMembers()) {
availableData.newChildElement("activeMembers"); availableData.newChildElement("activeMembers");
} }
if (hasMembers(project, getFiltersForAssociatedMembers())) { if (hasMembers(project, getFiltersForAssociatedMembers())
&& isDisplayMembers()) {
availableData.newChildElement("associatedMembers"); availableData.newChildElement("associatedMembers");
} }
if (hasMembers(project, getFiltersForFormerMembers())) { if (hasMembers(project, getFiltersForFormerMembers())
&& isDisplayMembers()) {
availableData.newChildElement("formerMembers"); availableData.newChildElement("formerMembers");
} }
} }
DataCollection publicationLinks = DataCollection publicationLinks =
RelatedLink.getRelatedLinks(project, RelatedLink.getRelatedLinks(project,
"SciProjectPublications"); "SciProjectPublications");
if ((publicationLinks != null) && (publicationLinks.size() > 0)) { if ((publicationLinks != null)
&& (publicationLinks.size() > 0)
&& displayPublications) {
availableData.newChildElement("publications"); availableData.newChildElement("publications");
} }