- New ImageStepDisplay now needs less width

- Some formatting etc. in SciDepartmentMembersTab


git-svn-id: https://svn.libreccm.org/ccm/trunk@2699 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2014-06-13 18:09:26 +00:00
parent 8c3b2a4ab4
commit 48b65ada10
8 changed files with 283 additions and 184 deletions

View File

@ -9,3 +9,12 @@ cms.contentassets.ui.image_step.edit_attached_image=Edit caption
cms.contentassets.ui.image_step.caption=Caption cms.contentassets.ui.image_step.caption=Caption
cms.contentassets.ui.image_step.image_table.thumbnail=Thumbnail cms.contentassets.ui.image_step.image_table.thumbnail=Thumbnail
cms.contentassets.ui.image_step.remove_attached_image.confirm=Are you sure to remove this attached image? cms.contentassets.ui.image_step.remove_attached_image.confirm=Are you sure to remove this attached image?
cms.contentassets.ui.image_step.image_table.properties=Image properties
cms.contentassets.ui.image_step.table.edit_attached_image=\u270D
cms.contentassets.ui.image_step.table.move_attached_image_up=\u2B06
cms.contentassets.ui.image_step.table.move_attached_image_down=\u2B07
cms.contentassets.ui.image_step.table.remove_attached_image=\u2716
cms.contentassets.ui.image_step.table.edit_attached_image.header=
cms.contentassets.ui.image_step.table.move_attached_image_up.header=
cms.contentassets.ui.image_step.table.move_attached_image_down.header=
cms.contentassets.ui.image_step.table.remove_attached_image.header=

View File

@ -9,3 +9,12 @@ cms.contentassets.ui.image_step.edit_attached_image=Bildunterschrift editieren
cms.contentassets.ui.image_step.caption=Bildunterschrift cms.contentassets.ui.image_step.caption=Bildunterschrift
cms.contentassets.ui.image_step.image_table.thumbnail=Vorschau cms.contentassets.ui.image_step.image_table.thumbnail=Vorschau
cms.contentassets.ui.image_step.remove_attached_image.confirm=Sind Sie sicher das Sie die Zuordnung dieses Bildes entfernen m\u00f6chten? cms.contentassets.ui.image_step.remove_attached_image.confirm=Sind Sie sicher das Sie die Zuordnung dieses Bildes entfernen m\u00f6chten?
cms.contentassets.ui.image_step.image_table.properties=Bildeigenschaften
cms.contentassets.ui.image_step.table.edit_attached_image=\u270D
cms.contentassets.ui.image_step.table.move_attached_image_up=\u2B06
cms.contentassets.ui.image_step.table.move_attached_image_down=\u2B07
cms.contentassets.ui.image_step.table.remove_attached_image=\u2716
cms.contentassets.ui.image_step.table.edit_attached_image.header=
cms.contentassets.ui.image_step.table.move_attached_image_up.header=
cms.contentassets.ui.image_step.table.move_attached_image_down.header=
cms.contentassets.ui.image_step.table.remove_attached_image.header=

View File

@ -9,3 +9,12 @@ cms.contentassets.ui.image_step.edit_attached_image=Edit caption
cms.contentassets.ui.image_step.caption=Caption cms.contentassets.ui.image_step.caption=Caption
cms.contentassets.ui.image_step.image_table.thumbnail=Thumbnail cms.contentassets.ui.image_step.image_table.thumbnail=Thumbnail
cms.contentassets.ui.image_step.remove_attached_image.confirm=cms.contentassets.ui.image_step.remove_attached_image.confirm cms.contentassets.ui.image_step.remove_attached_image.confirm=cms.contentassets.ui.image_step.remove_attached_image.confirm
cms.contentassets.ui.image_step.image_table.properties=Image properties
cms.contentassets.ui.image_step.table.edit_attached_image=\u270D
cms.contentassets.ui.image_step.table.move_attached_image_up=\u2B06
cms.contentassets.ui.image_step.table.move_attached_image_down=\u2B07
cms.contentassets.ui.image_step.table.remove_attached_image=\u2716
cms.contentassets.ui.image_step.table.edit_attached_image.header=
cms.contentassets.ui.image_step.table.move_attached_image_up.header=
cms.contentassets.ui.image_step.table.move_attached_image_down.header=
cms.contentassets.ui.image_step.table.remove_attached_image.header=

View File

@ -18,8 +18,10 @@
*/ */
package com.arsdigita.cms.contentassets.ui; package com.arsdigita.cms.contentassets.ui;
import com.arsdigita.bebop.BoxPanel;
import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink; import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Image;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table; import com.arsdigita.bebop.Table;
@ -33,6 +35,7 @@ import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.CMS; import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ImageAsset; import com.arsdigita.cms.ImageAsset;
import com.arsdigita.cms.ReusableImageAsset;
import com.arsdigita.cms.Service; import com.arsdigita.cms.Service;
import com.arsdigita.cms.contentassets.ItemImageAttachment; import com.arsdigita.cms.contentassets.ItemImageAttachment;
import com.arsdigita.cms.contentassets.util.ImageStepGlobalizationUtil; import com.arsdigita.cms.contentassets.util.ImageStepGlobalizationUtil;
@ -59,16 +62,23 @@ public class ImageStepDisplayTable extends Table {
private final static String TABLE_COL_UP = "table_col_up"; private final static String TABLE_COL_UP = "table_col_up";
private final static String TABLE_COL_DOWN = "table_col_down"; private final static String TABLE_COL_DOWN = "table_col_down";
private final static int TABLE_COL_INDEX_THUMBNAIL = 0; private final static int TABLE_COL_INDEX_THUMBNAIL = 0;
private final static int TABLE_COL_INDEX_NAME = 1; private final static int TABLE_COL_INDEX_PROPS = 1;
private final static int TABLE_COL_INDEX_DIMENSIONS = 2; //private final static int TABLE_COL_INDEX_NAME = 1;
private final static int TABLE_COL_INDEX_TYPE = 3; //private final static int TABLE_COL_INDEX_DIMENSIONS = 2;
private final static int TABLE_COL_INDEX_CAPTION = 4; //private final static int TABLE_COL_INDEX_TYPE = 3;
private final static int TABLE_COL_INDEX_EDIT = 5; // private final static int TABLE_COL_INDEX_CAPTION = 4;
private final static int TABLE_COL_INDEX_UP = 6; // private final static int TABLE_COL_INDEX_EDIT = 5;
private final static int TABLE_COL_INDEX_DOWN = 7; // private final static int TABLE_COL_INDEX_UP = 6;
private final static int TABLE_COL_INDEX_DEL = 8; // private final static int TABLE_COL_INDEX_DOWN = 7;
// private final static int TABLE_COL_INDEX_DEL = 8;
private final static int TABLE_COL_INDEX_CAPTION = 2;
private final static int TABLE_COL_INDEX_EDIT = 3;
private final static int TABLE_COL_INDEX_UP = 4;
private final static int TABLE_COL_INDEX_DOWN = 5;
private final static int TABLE_COL_INDEX_DEL = 6;
private final static int UP = -1; private final static int UP = -1;
private final static int DOWN = 1; private final static int DOWN = 1;
private static final String CONTROL_LINK_FONT_SIZE = "font-size: 200%;";
private final ImageStep imageStep; private final ImageStep imageStep;
@ -85,19 +95,23 @@ public class ImageStepDisplayTable extends Table {
"cms.contentassets.ui.image_step.image_table.thumbnail"))); "cms.contentassets.ui.image_step.image_table.thumbnail")));
columnModel.add(new TableColumn( columnModel.add(new TableColumn(
TABLE_COL_INDEX_NAME, TABLE_COL_INDEX_PROPS,
GlobalizationUtil.globalize( ImageStepGlobalizationUtil
"cms.contentasset.image.ui.display.name"))); .globalize("cms.contentassets.ui.image_step.image_table.properties")));
columnModel.add(new TableColumn(
TABLE_COL_INDEX_DIMENSIONS,
GlobalizationUtil.globalize("cms.contentasset.image.ui.display.dimensions")));
columnModel.add(new TableColumn(
TABLE_COL_INDEX_TYPE,
GlobalizationUtil.globalize(
"cms.contentasset.image.ui.display.type")));
// columnModel.add(new TableColumn(
// TABLE_COL_INDEX_NAME,
// GlobalizationUtil.globalize(
// "cms.contentasset.image.ui.display.name")));
//
// columnModel.add(new TableColumn(
// TABLE_COL_INDEX_DIMENSIONS,
// GlobalizationUtil.globalize("cms.contentasset.image.ui.display.dimensions")));
//
// columnModel.add(new TableColumn(
// TABLE_COL_INDEX_TYPE,
// GlobalizationUtil.globalize(
// "cms.contentasset.image.ui.display.type")));
columnModel.add(new TableColumn( columnModel.add(new TableColumn(
TABLE_COL_INDEX_CAPTION, TABLE_COL_INDEX_CAPTION,
GlobalizationUtil.globalize("cms.contentasset.image.ui.caption"))); GlobalizationUtil.globalize("cms.contentasset.image.ui.caption")));
@ -105,38 +119,39 @@ public class ImageStepDisplayTable extends Table {
columnModel.add(new TableColumn( columnModel.add(new TableColumn(
TABLE_COL_INDEX_EDIT, TABLE_COL_INDEX_EDIT,
ImageStepGlobalizationUtil.globalize( ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.edit_attached_image"), "cms.contentassets.ui.image_step.table.edit_attached_image.header"),
TABLE_COL_EDIT)); TABLE_COL_EDIT));
columnModel.add(new TableColumn( columnModel.add(new TableColumn(
TABLE_COL_INDEX_UP, TABLE_COL_INDEX_UP,
ImageStepGlobalizationUtil.globalize( ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.move_attached_image_up"), "cms.contentassets.ui.image_step.table.move_attached_image_up.header"),
TABLE_COL_UP)); TABLE_COL_UP));
columnModel.add(new TableColumn( columnModel.add(new TableColumn(
TABLE_COL_INDEX_DOWN, TABLE_COL_INDEX_DOWN,
ImageStepGlobalizationUtil.globalize( ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.move_attached_image_down"), "cms.contentassets.ui.image_step.table.move_attached_image_down.header"),
TABLE_COL_DOWN)); TABLE_COL_DOWN));
columnModel.add(new TableColumn( columnModel.add(new TableColumn(
TABLE_COL_INDEX_DEL, TABLE_COL_INDEX_DEL,
ImageStepGlobalizationUtil.globalize( ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.remove_attached_image"), "cms.contentassets.ui.image_step.table.remove_attached_image.header"),
TABLE_COL_DEL)); TABLE_COL_DEL));
setModelBuilder(new ImageTableModelBuilder(imageStep)); setModelBuilder(new ImageTableModelBuilder(imageStep));
columnModel.get(0).setCellRenderer(new ThumbnailCellRenderer()); columnModel.get(TABLE_COL_INDEX_THUMBNAIL).setCellRenderer(new ThumbnailCellRenderer());
columnModel.get(1).setCellRenderer(new NameCellRenderer()); columnModel.get(TABLE_COL_INDEX_PROPS).setCellRenderer(new PropertiesCellRenderer());
columnModel.get(2).setCellRenderer(new DimensionsCellRenderer()); // columnModel.get(TABLE_COL_INDEX_NAME).setCellRenderer(new NameCellRenderer());
columnModel.get(3).setCellRenderer(new TypeCellRenderer()); // columnModel.get(TABLE_COL_INDEX_DIMENSIONS).setCellRenderer(new DimensionsCellRenderer());
columnModel.get(4).setCellRenderer(new CaptionCellRenderer()); // columnModel.get(TABLE_COL_INDEX_TYPE).setCellRenderer(new TypeCellRenderer());
columnModel.get(5).setCellRenderer(new EditCellRenderer()); columnModel.get(TABLE_COL_INDEX_CAPTION).setCellRenderer(new CaptionCellRenderer());
columnModel.get(6).setCellRenderer(new UpCellRenderer()); columnModel.get(TABLE_COL_INDEX_EDIT).setCellRenderer(new EditCellRenderer());
columnModel.get(7).setCellRenderer(new DownCellRenderer()); columnModel.get(TABLE_COL_INDEX_UP).setCellRenderer(new UpCellRenderer());
columnModel.get(8).setCellRenderer(new DeleteCellRenderer()); columnModel.get(TABLE_COL_INDEX_DOWN).setCellRenderer(new DownCellRenderer());
columnModel.get(TABLE_COL_INDEX_DEL).setCellRenderer(new DeleteCellRenderer());
addTableActionListener(new ImageStepTableActionListener()); addTableActionListener(new ImageStepTableActionListener());
@ -195,27 +210,29 @@ public class ImageStepDisplayTable extends Table {
switch (columnIndex) { switch (columnIndex) {
case TABLE_COL_INDEX_THUMBNAIL: case TABLE_COL_INDEX_THUMBNAIL:
return image; return image;
case TABLE_COL_INDEX_NAME: case TABLE_COL_INDEX_PROPS:
return image.getImage().getName(); return image;
case TABLE_COL_INDEX_DIMENSIONS: // case TABLE_COL_INDEX_NAME:
return String.format("%sx%s px", image.getImage().getWidth().toString(), // return image.getImage().getName();
image.getImage().getHeight().toString()); // case TABLE_COL_INDEX_DIMENSIONS:
case TABLE_COL_INDEX_TYPE: // return String.format("%sx%s px", image.getImage().getWidth().toString(),
return image.getImage().getMimeType().getLabel(); // image.getImage().getHeight().toString());
// case TABLE_COL_INDEX_TYPE:
// return image.getImage().getMimeType().getLabel();
case TABLE_COL_INDEX_CAPTION: case TABLE_COL_INDEX_CAPTION:
return image.getCaption(); return image.getCaption();
case TABLE_COL_INDEX_EDIT: case TABLE_COL_INDEX_EDIT:
return ImageStepGlobalizationUtil.globalize( return ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.edit_attached_image"); "cms.contentassets.ui.image_step.table.edit_attached_image");
case TABLE_COL_INDEX_UP: case TABLE_COL_INDEX_UP:
return ImageStepGlobalizationUtil.globalize( return ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.move_attached_image_up"); "cms.contentassets.ui.image_step.table.move_attached_image_up");
case TABLE_COL_INDEX_DOWN: case TABLE_COL_INDEX_DOWN:
return ImageStepGlobalizationUtil.globalize( return ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.move_attached_image_down"); "cms.contentassets.ui.image_step.table.move_attached_image_down");
case TABLE_COL_INDEX_DEL: case TABLE_COL_INDEX_DEL:
return ImageStepGlobalizationUtil.globalize( return ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.remove_attached_image"); "cms.contentassets.ui.image_step.table.remove_attached_image");
default: default:
return null; return null;
@ -280,6 +297,31 @@ public class ImageStepDisplayTable extends Table {
} }
private class PropertiesCellRenderer extends LockableImpl implements TableCellRenderer {
@Override
public Component getComponent(final Table table,
final PageState state,
final Object value,
final boolean isSelected,
final Object key,
final int row,
final int column) {
final ItemImageAttachment attachment = (ItemImageAttachment) value;
final ReusableImageAsset image = attachment.getImage();
final BoxPanel panel = new BoxPanel(BoxPanel.VERTICAL);
panel.add(new Label(image.getName()));
panel.add(new Label(String.format("%sx%s px", image.getWidth().toString(),
image.getHeight().toString())));
panel.add(new Label(image.getMimeType().getLabel()));
return panel;
}
}
private class NameCellRenderer extends LockableImpl implements TableCellRenderer { private class NameCellRenderer extends LockableImpl implements TableCellRenderer {
@Override @Override
@ -359,12 +401,13 @@ public class ImageStepDisplayTable extends Table {
item); item);
if (canEdit) { if (canEdit) {
return new ControlLink(new Label((GlobalizedMessage) value)); final ControlLink link = new ControlLink(new Label((GlobalizedMessage) value));
link.setStyleAttr(CONTROL_LINK_FONT_SIZE);
return link;
} else { } else {
return new Label(""); return new Label("");
} }
} }
} }
private class UpCellRenderer extends LockableImpl implements TableCellRenderer { private class UpCellRenderer extends LockableImpl implements TableCellRenderer {
@ -381,7 +424,9 @@ public class ImageStepDisplayTable extends Table {
//First row, don't show up link //First row, don't show up link
return new Label(""); return new Label("");
} else { } else {
return new ControlLink(new Label((GlobalizedMessage) value)); final ControlLink link = new ControlLink(new Label((GlobalizedMessage) value));
link.setStyleAttr(CONTROL_LINK_FONT_SIZE);
return link;
} }
} }
@ -404,7 +449,9 @@ public class ImageStepDisplayTable extends Table {
//Last row in table, don't show down link //Last row in table, don't show down link
return new Label(""); return new Label("");
} else { } else {
return new ControlLink(new Label((GlobalizedMessage) value)); final ControlLink link = new ControlLink(new Label((GlobalizedMessage) value));
link.setStyleAttr(CONTROL_LINK_FONT_SIZE);
return link;
} }
} }
@ -432,7 +479,7 @@ public class ImageStepDisplayTable extends Table {
final ControlLink link = new ControlLink(new Label((GlobalizedMessage) value)); final ControlLink link = new ControlLink(new Label((GlobalizedMessage) value));
link.setConfirmation(ImageStepGlobalizationUtil.globalize( link.setConfirmation(ImageStepGlobalizationUtil.globalize(
"cms.contentassets.ui.image_step.remove_attached_image.confirm")); "cms.contentassets.ui.image_step.remove_attached_image.confirm"));
link.setStyleAttr(CONTROL_LINK_FONT_SIZE);
return link; return link;
} else { } else {
return new Label(""); return new Label("");

View File

@ -55,74 +55,62 @@ public class SciDepartmentConfig extends AbstractConfig {
public SciDepartmentConfig() { public SciDepartmentConfig() {
enableSubDepartmentsStep = enableSubDepartmentsStep = new BooleanParameter(
new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step", "com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step",
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.TRUE); Boolean.TRUE);
subDepartmentsStepSortKey = subDepartmentsStepSortKey = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.subdepartments_step_sortkey", "com.arsdigita.cms.contenttypes.scidepartment.subdepartments_step_sortkey",
Parameter.REQUIRED, Parameter.REQUIRED,
10); 10);
enableSuperDepartmentsStep = enableSuperDepartmentsStep = new BooleanParameter(
new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step", "com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step",
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.TRUE); Boolean.TRUE);
superDepartmentsStepSortKey = superDepartmentsStepSortKey = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.superdepartments_step_sortkey", "com.arsdigita.cms.contenttypes.scidepartment.superdepartments_step_sortkey",
Parameter.REQUIRED, Parameter.REQUIRED,
20); 20);
enableProjectsStep = enableProjectsStep = new BooleanParameter(
new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step", "com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step",
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.TRUE); Boolean.TRUE);
projectsStepSortKey = projectsStepSortKey = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.projects_step_sortkey", "com.arsdigita.cms.contenttypes.scidepartment.projects_step_sortkey",
Parameter.REQUIRED, Parameter.REQUIRED,
30); 30);
enableProjectDepartmentsStep = enableProjectDepartmentsStep = new BooleanParameter(
new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step", "com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step",
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.TRUE); Boolean.TRUE);
projectDepartmentsStepSortKey = projectDepartmentsStepSortKey = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.project_departments_step_sortkey", "com.arsdigita.cms.contenttypes.scidepartment.project_departments_step_sortkey",
Parameter.REQUIRED, Parameter.REQUIRED,
40); 40);
shortDescMaxLength = shortDescMaxLength = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length", "com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length",
Parameter.REQUIRED, Parameter.REQUIRED,
500); 500);
enableDescriptionDhtml = enableDescriptionDhtml = new BooleanParameter(
new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable", "com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable",
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.TRUE); Boolean.TRUE);
permittedPersonType = permittedPersonType = new StringParameter(
new StringParameter(
"com.arsdigita.cms.contenttypes.sciproject.permitted_person_type", "com.arsdigita.cms.contenttypes.sciproject.permitted_person_type",
Parameter.REQUIRED, Parameter.REQUIRED,
"com.arsdigita.cms.contenttypes.GenericPerson"); "com.arsdigita.cms.contenttypes.GenericPerson");
tabs = tabs = new StringParameter(
new StringParameter(
"com.arsdigita.cms.contenttypes.sciproject.tabs", "com.arsdigita.cms.contenttypes.sciproject.tabs",
Parameter.REQUIRED, Parameter.REQUIRED,
"summary:com.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTab;desc:com.arsdigita.cms.contenttypes.ui.SciDepartmentDescTab;members:com.arsdigita.cms.contenttypes.ui.SciDepartmentMembersTab;projects:com.arsdigita.cms.contenttypes.ui.SciDepartmentProjectsTab;publications:com.arsdigita.cms.contenttypes.ui.SciDepartmentPublicationsTab"); "summary:com.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTab;desc:com.arsdigita.cms.contenttypes.ui.SciDepartmentDescTab;members:com.arsdigita.cms.contenttypes.ui.SciDepartmentMembersTab;projects:com.arsdigita.cms.contenttypes.ui.SciDepartmentProjectsTab;publications:com.arsdigita.cms.contenttypes.ui.SciDepartmentPublicationsTab");
@ -167,6 +155,8 @@ public class SciDepartmentConfig extends AbstractConfig {
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.TRUE); Boolean.TRUE);
register(enableSubDepartmentsStep); register(enableSubDepartmentsStep);
register(subDepartmentsStepSortKey); register(subDepartmentsStepSortKey);
register(enableSuperDepartmentsStep); register(enableSuperDepartmentsStep);
@ -187,7 +177,6 @@ public class SciDepartmentConfig extends AbstractConfig {
register(showViceHeadInList); register(showViceHeadInList);
register(showSecretriatInList); register(showSecretriatInList);
register(listShowRoleContacts); register(listShowRoleContacts);
loadInfo(); loadInfo();
} }

View File

@ -110,19 +110,24 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
final Map<String, String> membersStatus = membersData.getMembersStatus(); final Map<String, String> membersStatus = membersData.getMembersStatus();
final HttpServletRequest request = state.getRequest(); final HttpServletRequest request = state.getRequest();
if (config.getMembersTabSurnameFilter()) {
applySurnameFilter(persons, request); applySurnameFilter(persons, request);
}
final Element depMembersElem = parent.newChildElement( final Element depMembersElem = parent.newChildElement(
"departmentMembers"); "departmentMembers");
final Element filtersElem = depMembersElem.newChildElement("filters"); final Element filtersElem = depMembersElem.newChildElement("filters");
if (config.getMembersTabStatusFilter()) {
statusFilter.generateXml(filtersElem); statusFilter.generateXml(filtersElem);
}
if ((persons == null) || persons.isEmpty()) { if ((persons == null) || persons.isEmpty()) {
if ((surnameFilter != null) if (((surnameFilter != null)
&& (surnameFilter.getFilter() != null) && (surnameFilter.getFilter() != null)
&& !(surnameFilter.getFilter().trim().isEmpty())) { && !(surnameFilter.getFilter().trim().isEmpty()))
&& (config.getMembersTabSurnameFilter())) {
surnameFilter.generateXml(filtersElem); surnameFilter.generateXml(filtersElem);
} }
depMembersElem.newChildElement("noMembers"); depMembersElem.newChildElement("noMembers");
@ -149,9 +154,10 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
(int) persons.size(), (int) persons.size(),
config.getPageSize()); config.getPageSize());
if ((paginator.getPageCount() > config.getEnableSearchLimit()) if (((paginator.getPageCount() > config.getEnableSearchLimit())
|| ((surnameFilter.getFilter() != null) || ((surnameFilter.getFilter() != null)
&& !(surnameFilter.getFilter().trim().isEmpty()))) { && !(surnameFilter.getFilter().trim().isEmpty())))
&& config.getMembersTabSurnameFilter()) {
surnameFilter.generateXml(filtersElem); surnameFilter.generateXml(filtersElem);
} }
@ -239,7 +245,9 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
} }
personBundlesQuery.setParameter("orgaunitIds", orgaUnitIds); personBundlesQuery.setParameter("orgaunitIds", orgaUnitIds);
if (config.getMembersTabStatusFilter()) {
applyStatusFilter(personBundlesQuery, state.getRequest()); applyStatusFilter(personBundlesQuery, state.getRequest());
}
final Map<String, String> membersRoles = new HashMap<String, String>(); final Map<String, String> membersRoles = new HashMap<String, String>();
final Map<String, String> membersStatus = new HashMap<String, String>(); final Map<String, String> membersStatus = new HashMap<String, String>();
@ -339,4 +347,5 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
} }
} }
} }

View File

@ -36,36 +36,45 @@ public class SciDepartmentMembersTabConfig extends AbstractConfig {
private Parameter pageSize; private Parameter pageSize;
private Parameter enableSearchLimit; private Parameter enableSearchLimit;
private Parameter mergeMembers; private Parameter mergeMembers;
private Parameter membersTabStatusFilter;
private Parameter membersTabSurnameFilter;
public SciDepartmentMembersTabConfig() { public SciDepartmentMembersTabConfig() {
statusValues = statusValues = new StringArrayParameter(
new StringArrayParameter(
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values", "com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values",
Parameter.REQUIRED, Parameter.REQUIRED,
new String[]{"active", "associated", "former"}); new String[]{"active", "associated", "former"});
pageSize = pageSize = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size", "com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size",
Parameter.REQUIRED, Parameter.REQUIRED,
30); 30);
enableSearchLimit = enableSearchLimit = new IntegerParameter(
new IntegerParameter(
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit", "com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit",
Parameter.REQUIRED, Parameter.REQUIRED,
0); 0);
mergeMembers = mergeMembers = new BooleanParameter(
new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge", "com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge",
Parameter.REQUIRED, Parameter.REQUIRED,
Boolean.FALSE); Boolean.FALSE);
membersTabStatusFilter = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_filter",
Parameter.REQUIRED,
Boolean.TRUE);
membersTabSurnameFilter = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.surname_filter",
Parameter.REQUIRED,
Boolean.TRUE);
register(statusValues); register(statusValues);
register(pageSize); register(pageSize);
register(enableSearchLimit); register(enableSearchLimit);
register(mergeMembers); register(mergeMembers);
register(membersTabStatusFilter);
register(membersTabSurnameFilter);
loadInfo(); loadInfo();
} }
@ -86,4 +95,12 @@ public class SciDepartmentMembersTabConfig extends AbstractConfig {
return (Boolean) get(mergeMembers); return (Boolean) get(mergeMembers);
} }
public Boolean getMembersTabStatusFilter() {
return (Boolean) get(membersTabStatusFilter);
}
public Boolean getMembersTabSurnameFilter() {
return (Boolean) get(membersTabSurnameFilter);
}
} }

View File

@ -17,3 +17,13 @@ com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.title = Merge m
com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.purpose = Merge the members of the department and its sub departments into one list? com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.purpose = Merge the members of the department and its sub departments into one list?
com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.example = true com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.example = true
com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.format = [Boolean] com.arsdigita.cms.contenttypes.scidepartments.tabs.members.merge.format = [Boolean]
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_filter.title = Show status filter in Members Tab?
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_filter.purpose = Show status filter in Members Tab?
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_filter.example = true
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_filter.format = [Boolean]
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.surname_filter.title = Show surname filter in Members tab?
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.surname_filter.purpose = Show surname filter in Members tab?
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.surname_filter.example = true
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.surname_filter.format = [Boolean]