Rudiementaere XSL-Stylesheets und i18n fuer Personenmodul

git-svn-id: https://svn.libreccm.org/ccm/trunk@232 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2009-08-14 14:11:57 +00:00
parent 419233fabe
commit 68d98bcc85
44 changed files with 689 additions and 151 deletions

View File

@ -26,7 +26,7 @@ import com.arsdigita.cms.DomainObject;
object type GenericOrganization extends ContentPage { object type GenericOrganization extends ContentPage {
String[0..1] organizationname = ct_genericorganizations.organizationname VARCHAR(512); String[0..1] organizationname = ct_genericorganizations.organizationname VARCHAR(512);
String[0..1] organizationnameaddendum = ct_genericorganizations.organizationnameaddendum VARCHAR(512); String[0..1] organizationnameaddendum = ct_genericorganizations.organizationnameaddendum VARCHAR(512);
String[0..1] description = ct_genericorganizations.description VARCHAR(2000); String[0..1] organizationdescription = ct_genericorganizations.organizationdescription VARCHAR(2000);
OrganizationRole[0..n] organizationroles = join ct_genericorganizations.organization_id to ct_organizationroles.owner_id; OrganizationRole[0..n] organizationroles = join ct_genericorganizations.organization_id to ct_organizationroles.owner_id;
Orga2OrgaUnit[0..n] subunits = join ct_genericorganizations.organization_id to ct_orga2orgaunits.owner_id; Orga2OrgaUnit[0..n] subunits = join ct_genericorganizations.organization_id to ct_orga2orgaunits.owner_id;

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<xrd:adapters xmlns:xrd="http://xmlns.redhat.com/schemas/waf/xml-renderer-rules"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://rhea.redhat.com/schemas/waf/xml-renderer-rules xml-renderer-rules.xsd">
<xrd:context name="com.arsdigita.cms.dispatcher.SimpleXMLGenerator">
<xrd:adapter objectType="com.arsdigita.cms.contenttypes.GenericOrganization"
extends="com.arsdigita.cms.ContentPage">
<xrd:associations rule="include">
<xrd:property name="/object/organizationroles"/>
<xrd:property name="/object/organizationroles/targetItem"/>
<xrd:property name="/object/subunits"/>
<xrd:property name="/object/subunits/targetItem"/>
</xrd:associations>
</xrd:adapter>
</xrd:context>
</xrd:adapters>

View File

@ -57,7 +57,7 @@ public class GenericOrganization extends ContentPage {
/** /**
* A short description of the organization. * A short description of the organization.
*/ */
public static final String ORGANIZATIONDESCRIPTION = "description"; public static final String ORGANIZATIONDESCRIPTION = "organizationdescription";
/** /**
* Roles associated with the organization. * Roles associated with the organization.
*/ */
@ -173,7 +173,7 @@ public class GenericOrganization extends ContentPage {
* @return Description of the organization, if any. * @return Description of the organization, if any.
*/ */
public String getOrganizationDescription() { public String getOrganizationDescription() {
return (String) get(DESCRIPTION); return (String) get(ORGANIZATIONDESCRIPTION);
} }
/** /**
@ -182,6 +182,6 @@ public class GenericOrganization extends ContentPage {
* @param description The (new) description. * @param description The (new) description.
*/ */
public void setOrganizationDescription(String description) { public void setOrganizationDescription(String description) {
set(DESCRIPTION, description); set(ORGANIZATIONDESCRIPTION, description);
} }
} }

View File

@ -0,0 +1,29 @@
package com.arsdigita.cms.contenttypes;
import com.arsdigita.globalization.GlobalizedMessage;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
*/
public class GenericOrganizationGlobalizationUtil {
final public static String BUNDLE_NAME =
"com.arsdigita.cms.contenttypes.GenericOrganizationResourceBundle";
/**
* This returns a globalized message using the type specific bundle,
* BUNDLE_NAME
*/
public static GlobalizedMessage globalize(String key) {
return new GlobalizedMessage(key, BUNDLE_NAME);
}
/**
* This returns a globalized message using the type specific bundle,
* BUNDLE_NAME
*/
public static GlobalizedMessage globalize(String key, Object[] args) {
return new GlobalizedMessage(key, BUNDLE_NAME, args);
}
}

View File

@ -18,15 +18,6 @@
*/ */
package com.arsdigita.cms.contenttypes; package com.arsdigita.cms.contenttypes;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.lifecycle.LifecycleDefinition;
import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.ResourceParameter;
import com.arsdigita.workflow.simple.WorkflowTemplate;
import java.io.InputStream;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -40,7 +31,7 @@ public class GenericOrganizationLoader extends AbstractContentTypeLoader {
private static final String[] TYPES = { private static final String[] TYPES = {
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xml" "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xml"
}; };
private ResourceParameter m_template; //private ResourceParameter m_template;
/** /**
* Returns the value of the type string. * Returns the value of the type string.
@ -50,18 +41,16 @@ public class GenericOrganizationLoader extends AbstractContentTypeLoader {
public String[] getTypes() { public String[] getTypes() {
return TYPES; return TYPES;
} }
/** /**
* Constructor. * Constructor.
*/ */
public GenericOrganizationLoader() { //public GenericOrganizationLoader() {
super(); // super();
/*m_template = new ResourceParameter("com.arsdigita.cms.contenttypes.genericorganization.template", /*m_template = new ResourceParameter("com.arsdigita.cms.contenttypes.genericorganization.template",
Parameter.REQUIRED, Parameter.REQUIRED,
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/genericorganization-item.jsp"); "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/genericorganization-item.jsp");
register(m_template);*/ register(m_template);*/
} //}
/** /**
* *
* @param section * @param section
@ -71,17 +60,17 @@ public class GenericOrganizationLoader extends AbstractContentTypeLoader {
*/ */
/*@Override /*@Override
protected void prepareSection(final ContentSection section, protected void prepareSection(final ContentSection section,
final ContentType type, final ContentType type,
final LifecycleDefinition ld, final LifecycleDefinition ld,
final WorkflowTemplate wf) { final WorkflowTemplate wf) {
super.prepareSection(section, type, ld, wf); super.prepareSection(section, type, ld, wf);
setDefaultTemplate("GenericOrganization-genericorganization-item", setDefaultTemplate("GenericOrganization-genericorganization-item",
"genericorganization-item", "genericorganization-item",
(InputStream) get(m_template), (InputStream) get(m_template),
section, section,
type, type,
ld, ld,
wf); wf);
}*/ }*/
} }

View File

@ -0,0 +1,22 @@
package com.arsdigita.cms.contenttypes;
import com.arsdigita.cms.CMSGlobalized;
import com.arsdigita.globalization.ChainedResourceBundle;
import java.util.PropertyResourceBundle;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
*/
public class GenericOrganizationResourceBundle extends ChainedResourceBundle implements CMSGlobalized {
public final static String GENERIC_ORGANIZATION_BUNDLE_NAME =
"com.arsdigita.cms.contenttypes.GenericOrganizationResources";
public GenericOrganizationResourceBundle() {
super();
addBundle((PropertyResourceBundle)getBundle(GENERIC_ORGANIZATION_BUNDLE_NAME));
addBundle((PropertyResourceBundle)getBundle(BUNDLE_NAME));
}
}

View File

@ -0,0 +1,15 @@
cms.contenttypes.ui.genericorganization.delete=Delete
cms.contenttypes.ui.genericorganization.description=Description
cms.contenttypes.ui.genericorganization.edit=Edit
cms.contenttypes.ui.genericorganization.noorganizationalunitassociated=There are no organizational units for this organization.
cms.contenttypes.ui.genericorganization.noRolesForThisOrga=There are no roles for this organization.
cms.contenttypes.ui.genericorganization.organizationalunit=Organizational Unit
cms.contenttypes.ui.genericorganization.organizationname=Name of Organization
cms.contenttypes.ui.genericorganization.organizationnameaddendum=Addendum
cms.contenttypes.ui.genericorganization.person=Person
cms.contenttypes.ui.genericorganization.role=Role
cms.contenttypes.ui.genericorganization.rolename=Name of role
genericorganization.authoring.basic_properties.title=Basic properties
genericorganization.authoring.roles.title=Roles
genericorganization.authoring.units.title=Organizational Units

View File

@ -0,0 +1,15 @@
cms.contenttypes.ui.genericorganization.delete=L\u00F6schen
cms.contenttypes.ui.genericorganization.description=Beschreibung
cms.contenttypes.ui.genericorganization.edit=Bearbeiten
cms.contenttypes.ui.genericorganization.noorganizationalunitassociated=F\u00FCr diese Organisation sind keine Organisationseiheiten definiert.
cms.contenttypes.ui.genericorganization.noRolesForThisOrga=F\u00FCr diese Organisation sind keine Rollen definiert.
cms.contenttypes.ui.genericorganization.organizationalunit=Organisationseinheit
cms.contenttypes.ui.genericorganization.organizationname=Name der Organisation
cms.contenttypes.ui.genericorganization.organizationnameaddendum=Namenszusatz
cms.contenttypes.ui.genericorganization.person=Person
cms.contenttypes.ui.genericorganization.role=Rolle
cms.contenttypes.ui.genericorganization.rolename=Bezeichnung der Rolle
genericorganization.authoring.basic_properties.title=Basiseigenschaften
genericorganization.authoring.roles.title=Rollen
genericorganization.authoring.units.title=Organisationseinheiten

View File

@ -11,9 +11,10 @@ import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.domain.DomainObject; import com.arsdigita.domain.DomainObject;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import com.arsdigita.cms.util.GlobalizationUtil; import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Component;
import com.arsdigita.cms.util.GlobalizationUtil;
import java.text.DateFormat; import java.text.DateFormat;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -61,9 +62,9 @@ public class GenericOrganizationPropertiesStep extends SimpleEditStep {
public static Component getGenericOrganizationPropertySheet(ItemSelectionModel itemModel) { public static Component getGenericOrganizationPropertySheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationname"), GenericOrganization.ORGANIZATIONNAME); sheet.add(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationname"), GenericOrganization.ORGANIZATIONNAME);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationnameaddendum"), GenericOrganization.ORGANIZATIONNAMEADDENDUM); sheet.add(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationnameaddendum"), GenericOrganization.ORGANIZATIONNAMEADDENDUM);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.description"), GenericOrganization.DESCRIPTION); sheet.add(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.description"), GenericOrganization.DESCRIPTION);
if(!ContentSection.getConfig().getHideLaunchDate()) { if(!ContentSection.getConfig().getHideLaunchDate()) {
sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() { sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() {

View File

@ -9,7 +9,6 @@ import com.arsdigita.bebop.event.FormSubmissionListener;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganization; import com.arsdigita.cms.contenttypes.GenericOrganization;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.bebop.parameters.NotNullValidationListener; import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.form.TextArea; import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.form.TextField; import com.arsdigita.bebop.form.TextField;
@ -17,6 +16,7 @@ import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.parameters.ParameterModel; import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -41,7 +41,7 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
/** /**
* Description * Description
*/ */
public static final String DESCRIPTION = GenericOrganization.DESCRIPTION; public static final String ORGANIZATIONDESCRIPTION = GenericOrganization.ORGANIZATIONDESCRIPTION;
/** /**
* ID of the form * ID of the form
@ -73,18 +73,18 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
public void addWidgets() { public void addWidgets() {
super.addWidgets(); super.addWidgets();
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganization.ui.organizationname"))); add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationname")));
ParameterModel organizationNameParam = new StringParameter(ORGANIZATIONAME); ParameterModel organizationNameParam = new StringParameter(ORGANIZATIONAME);
TextField organizationName = new TextField(organizationNameParam); TextField organizationName = new TextField(organizationNameParam);
organizationName.addValidationListener(new NotNullValidationListener()); organizationName.addValidationListener(new NotNullValidationListener());
add(organizationName); add(organizationName);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganization.ui.organizationnameaddendum"))); add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationnameaddendum")));
TextField organizationNameAddendum = new TextField(ORGANIZATIONNAMEADDENDUM); TextField organizationNameAddendum = new TextField(ORGANIZATIONNAMEADDENDUM);
add(organizationNameAddendum); add(organizationNameAddendum);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganzation.ui.description"))); add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganzation.description")));
TextArea description = new TextArea(DESCRIPTION); TextArea description = new TextArea(ORGANIZATIONDESCRIPTION);
description.setRows(5); description.setRows(5);
description.setCols(30); description.setCols(30);
add(description); add(description);
@ -97,7 +97,7 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
data.put(ORGANIZATIONAME, orga.getOrganizationName()); data.put(ORGANIZATIONAME, orga.getOrganizationName());
data.put(ORGANIZATIONNAMEADDENDUM, orga.getOrganizationNameAddendum()); data.put(ORGANIZATIONNAMEADDENDUM, orga.getOrganizationNameAddendum());
data.put(DESCRIPTION, orga.getDescription()); data.put(ORGANIZATIONDESCRIPTION, orga.getDescription());
} }
@Override @Override
@ -111,7 +111,7 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
&& (getSaveCancelSection().getSaveButton().isSelected(e.getPageState()))) { && (getSaveCancelSection().getSaveButton().isSelected(e.getPageState()))) {
orga.setOrganizationName((String)data.get(ORGANIZATIONAME)); orga.setOrganizationName((String)data.get(ORGANIZATIONAME));
orga.setOrganizationNameAddendum((String)data.get(ORGANIZATIONNAMEADDENDUM)); orga.setOrganizationNameAddendum((String)data.get(ORGANIZATIONNAMEADDENDUM));
orga.setDescription((String)data.get(DESCRIPTION)); orga.setDescription((String)data.get(ORGANIZATIONDESCRIPTION));
logger.error("Saving new values of orga"); logger.error("Saving new values of orga");
orga.save(); orga.save();

View File

@ -18,6 +18,7 @@ import com.arsdigita.bebop.form.Submit;
import com.arsdigita.cms.ContentType; import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganization; import com.arsdigita.cms.contenttypes.GenericOrganization;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Orga2OrgaUnit; import com.arsdigita.cms.contenttypes.Orga2OrgaUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnit; import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
@ -68,7 +69,7 @@ public class Orga2OrgaUnitPropertyForm extends FormSection implements FormInitLi
* Creates the widgets for the form. * Creates the widgets for the form.
*/ */
protected void addWidgets() { protected void addWidgets() {
add(new Label("OrganizationalUnit")); add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationalunit")));
this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.OrganizationalUnit")); this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.OrganizationalUnit"));
add(this.m_itemSearch); add(this.m_itemSearch);
} }

View File

@ -15,6 +15,7 @@ import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Orga2OrgaUnit; import com.arsdigita.cms.contenttypes.Orga2OrgaUnit;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DataObjectNotFoundException;
@ -84,7 +85,7 @@ public class Orga2OrgaUnitTable extends Table {
} }
}; };
Label empty = new Label("There are no organizational units for this organization."); Label empty = new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.noorganizationalunitassociated"));
setEmptyView(empty); setEmptyView(empty);
addTableActionListener(new Orga2OrgaUnitTableActionListener()); addTableActionListener(new Orga2OrgaUnitTableActionListener());
setRowSelectionModel(m_o2ouModel); setRowSelectionModel(m_o2ouModel);
@ -98,9 +99,9 @@ public class Orga2OrgaUnitTable extends Table {
public void addColumns() { public void addColumns() {
TableColumnModel model = getColumnModel(); TableColumnModel model = getColumnModel();
int i = 0; int i = 0;
this.m_orgaUnitCol = new TableColumn(i, "Organizational Unit"); this.m_orgaUnitCol = new TableColumn(i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationalunit").localize());
this.m_editCol = new TableColumn(++i, "Edit"); this.m_editCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.edit").localize());
this.m_delCol = new TableColumn(++i, "Delete"); this.m_delCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.delete").localize());
this.m_moveUpCol = new TableColumn(++i, ""); this.m_moveUpCol = new TableColumn(++i, "");
this.m_moveDownCol = new TableColumn(++i, ""); this.m_moveDownCol = new TableColumn(++i, "");

View File

@ -17,10 +17,10 @@ import com.arsdigita.bebop.event.PrintListener;
import com.arsdigita.bebop.form.Submit; import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.form.TextField; import com.arsdigita.bebop.form.TextField;
import com.arsdigita.bebop.parameters.NotNullValidationListener; import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ContentType; import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganization; import com.arsdigita.cms.contenttypes.GenericOrganization;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.OrganizationRole; import com.arsdigita.cms.contenttypes.OrganizationRole;
import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
@ -79,10 +79,10 @@ public class OrganizationRolePropertyForm extends FormSection implements FormIni
protected void addWidgets() { protected void addWidgets() {
this.m_rolename = new TextField("rolename"); this.m_rolename = new TextField("rolename");
this.m_rolename.addValidationListener(new NotNullValidationListener()); this.m_rolename.addValidationListener(new NotNullValidationListener());
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.rolename"))); add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.rolename")));
add(this.m_rolename); add(this.m_rolename);
add(new Label("Person")); add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.person")));
/* Create the ItemSearchWidget. The ContentType.findByAssociatedObjecType /* Create the ItemSearchWidget. The ContentType.findByAssociatedObjecType
* gets the ContentType of com.arsdigita.cms.contenttypes.Person and passes * gets the ContentType of com.arsdigita.cms.contenttypes.Person and passes
* it to the constructor of the ItemSearchWidget. The ItemSearchWidget will only * it to the constructor of the ItemSearchWidget. The ItemSearchWidget will only

View File

@ -15,6 +15,7 @@ import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.OrganizationRole; import com.arsdigita.cms.contenttypes.OrganizationRole;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DataObjectNotFoundException;
@ -84,7 +85,7 @@ public class OrganizationRoleTable extends Table {
} }
}; };
Label empty = new Label("There are no roles for this organization."); Label empty = new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.noRolesForThisOrga"));
setEmptyView(empty); setEmptyView(empty);
addTableActionListener(new OrganizationRoleTableActionListener()); addTableActionListener(new OrganizationRoleTableActionListener());
setRowSelectionModel(m_roleModel); setRowSelectionModel(m_roleModel);
@ -98,10 +99,10 @@ public class OrganizationRoleTable extends Table {
protected void addColumns() { protected void addColumns() {
TableColumnModel model = getColumnModel(); TableColumnModel model = getColumnModel();
int i = 0; int i = 0;
this.m_roleNameCol = new TableColumn(i, "Role"); this.m_roleNameCol = new TableColumn(i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.role").localize());
this.m_personCol = new TableColumn(++i, "Person"); this.m_personCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.person").localize());
this.m_editCol = new TableColumn(++i, "Edit"); this.m_editCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.edit").localize());
this.m_delCol = new TableColumn(++i, "Delete"); this.m_delCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.delete").localize());
this.m_moveUpCol = new TableColumn(++i, ""); this.m_moveUpCol = new TableColumn(++i, "");
this.m_moveDownCol = new TableColumn(++i, ""); this.m_moveDownCol = new TableColumn(++i, "");

View File

@ -3,24 +3,99 @@
]> ]>
<xsl:stylesheet <xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cms="http://www.arsdigita/com/cms/1.0" xmlns:cms="http://www.arsdigita.com/cms/1.0"
version="1.0"> version="1.0">
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.GenericOrganization']" <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.GenericOrganization']"
mode="cms:CT_graphics" mode="cms:CT_graphics"
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_GenericOrganization"> name="cms:CT_graphics_com_arsdigita_cms_contenttypes_GenericOrganization">
<h2>
<xsl:value-of select="./organizationname"/>
<span class="organizationnameaddendum">
&nbsp;<xsl:value-of select="./organizationnameaddendum"/>
</span>
</h2>
<p> <p>
<xsl:value-of select="./name"></xsl:value-of> <xsl:value-of select="./pageDescription"/>
</p> </p>
<dl>
<xsl:for-each select="organizationroles">
<dt>
<xsl:value-of select="./roleName"/>
</dt>
<dd>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/titlePre"/>&nbsp;<xsl:value-of select="./targetItem/givenname"/>&nbsp;<xsl:value-of select="./targetItem/surname"/>&nbsp;<xsl:value-of select="./targetItem/titlePost"/>
</a>
</dd>
</xsl:for-each>
</dl>
<ul>
<xsl:for-each select="subunits">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/organizationalunitName"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template> </xsl:template>
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.GenericOrganization']" <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.GenericOrganization']"
mode="cms:CT_text" mode="cms:CT_text"
name="cms:CT_text_com_arsdigita_cms_contenttypes_GenericOrganization"> name="cms:CT_text_com_arsdigita_cms_contenttypes_GenericOrganization">
<h2>
<xsl:value-of select="./organizationname"/>
<span class="organizationnameaddendum">
&nbsp;<xsl:value-of select="./organizationnameaddendum"/>
</span>
</h2>
<p> <p>
<xsl:value-of select="./name"></xsl:value-of> <xsl:value-of select="./pageDescription"/>
</p> </p>
<dl>
<xsl:for-each select="organizationroles">
<dt>
<xsl:value-of select="./roleName"/>
</dt>
<dd>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/titlePre"/>&nbsp;<xsl:value-of select="./targetItem/givenname"/>&nbsp;<xsl:value-of select="./targetItem/surname"/>&nbsp;<xsl:value-of select="./targetItem/titlePost"/>
</a>
</dd>
</xsl:for-each>
</dl>
<ul>
<xsl:for-each select="subunits">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/organizationalunitName"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<xrd:adapters xmlns:xrd="http://xmlns.redhat.com/schemas/waf/xml-renderer-rules"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://rhea.redhat.com/schemas/waf/xml-renderer-rules xml-renderer-rules.xsd">
<xrd:context name="com.arsdigita.cms.dispatcher.SimpleXMLGenerator">
<xrd:adapter objectType="com.arsdigita.cms.contenttypes.OrganizationalUnit"
extends="com.arsdigita.cms.ContentPage">
<xrd:associations rule="exclude">
<xrd:property name="/object/subunits/direction"/>
<xrd:property name="/object/subunits/assistentDirection"/>
<xrd:property name="/object/membership/memberFrom"/>
<xrd:property name="/object/membership/memberTo"/>
</xrd:associations>
<xrd:associations rule="include">
<xrd:property name="/object/direction"/>
<xrd:property name="/object/assistentDirection"/>
<xrd:property name="/object/memberships"/>
<xrd:property name="/object/memberships/status"/>
<xrd:property name="/object/memberships/targetItem"/>
<xrd:property name="/object/subunits"/>
<xrd:property name="/object/subunits/targetItem"/>
</xrd:associations>
</xrd:adapter>
</xrd:context>
</xrd:adapters>

View File

@ -0,0 +1,29 @@
package com.arsdigita.cms.contenttypes;
import com.arsdigita.globalization.GlobalizedMessage;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
*/
public class OrganizationalUnitGlobalizationUtil {
final public static String BUNDLE_NAME =
"com.arsdigita.cms.contenttypes.OrganizationalUnitResourceBundle";
/**
* This returns a globalized message using the type specific bundle,
* BUNDLE_NAME
*/
public static GlobalizedMessage globalize(String key) {
return new GlobalizedMessage(key, BUNDLE_NAME);
}
/**
* This returns a globalized message using the type specific bundle,
* BUNDLE_NAME
*/
public static GlobalizedMessage globalize(String key, Object[] args) {
return new GlobalizedMessage(key, BUNDLE_NAME, args);
}
}

View File

@ -0,0 +1,22 @@
package com.arsdigita.cms.contenttypes;
import com.arsdigita.cms.CMSGlobalized;
import com.arsdigita.globalization.ChainedResourceBundle;
import java.util.PropertyResourceBundle;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
*/
public class OrganizationalUnitResourceBundle extends ChainedResourceBundle implements CMSGlobalized {
public final static String ORGANIZATIONAL_UNIT_BUNDLE_NAME =
"com.arsdigita.cms.contenttypes.OrganizationalUnitResources";
public OrganizationalUnitResourceBundle() {
super();
addBundle((PropertyResourceBundle)getBundle(ORGANIZATIONAL_UNIT_BUNDLE_NAME));
addBundle((PropertyResourceBundle)getBundle(BUNDLE_NAME));
}
}

View File

@ -0,0 +1,54 @@
cms.contenttypes.ui.membershipstatus.warning_changes_here_significant_for_all=Attention: Changes here are significant for ALL organizational units!
cms.contenttypes.ui.membershipstatus.statusname=Name of Status
cms.contenttypes.ui.organizatialunit.unitdescription=Description
cms.contenttypes.ui.organizatialunit.unitname=Name of organizational unit
cms.contenttypes.ui.organizationalunit.description=Description
cms.contenttypes.ui.organizationalunit.unitname=Name of organizational unit
cms.contenttypes.ui.organizationalunit=Organizational Unit
cms.contenttypes.ui.organizationalunit.assistentdirector.noPersonsAvailable=No Persons available.
cms.contenttypes.ui.organizationalunit.assistentdirector.selectThisPerson=Select this person?
cms.contenttypes.ui.organizationalunit.assistentdirector_givenname=Given name
cms.contenttypes.ui.organizationalunit.assistentdirector_surname=Surname
cms.contenttypes.ui.organizationalunit.assistentdirector_title_post=Post title
cms.contenttypes.ui.organizationalunit.assistentdirector_title_pre=Pre title
cms.contenttypes.ui.organizationalunit.director.noPersonsAvailable=No Persons available.
cms.contenttypes.ui.organizationalunit.director.selectThisPerson=Select this person?
cms.contenttypes.ui.organizationalunit.director_givenname=Given name
cms.contenttypes.ui.organizationalunit.director_surname=Surname
cms.contenttypes.ui.organizationalunit.director_title_post=Post title
cms.contenttypes.ui.organizationalunit.director_title_pre=Pre title
cms.contenttypes.ui.orgnizationalunit.membership.Person=Person
cms.contenttypes.ui.orgnizationalunit.membership.Status=Status
cms.contenttypes.ui.organizationalunit.membership.from=Member from
cms.contenttypes.ui.organizationalunit.membership.to=Member to
cms.contenttypes.ui.organizationalunit.membershipstatus.name=Name
cms.contenttypes.ui.organizationalunit.membershipstatus.edit=Edit
cms.contenttypes.ui.organizationalunit.membershipstatus.delete=Delete
cms.contenttypes.ui.organizationalunit.nomembers=No members available
cms.contenttypes.ui.organizationalunit.person=Person
cms.contenttypes.ui.organizationalunit.status=Status
cms.contenttypes.ui.organizationalunit.edit=Edit
cms.contenttypes.ui.organizationalunit.noOrgaUnitsAssociatedWithThisOrgaUnit=There are no organizational units associated with this organizational unit.
cms.contenttypes.ui.organizationalunit.edit.delete=Delete
cms.contenttypes.ui.organizationalunit.selectAssistentDirector=Select assistent director
cms.contenttypes.ui.organizationalunit.selectDirector=Select director
organizationalunit.authoring.basic_properties.title=Basic properties
organizationalunit.authoring.chooseDirector.title=Choose director
organizationalunit.authoring.chooseAssistentDirector.title=Choose assistent director
organizationalunit.authoring.subunits.title=Subunits
organizationalunit.authoring.members.title=Members
organizationalunit.authoring.membershipstatus.title=Status values for memberships

View File

@ -0,0 +1,54 @@
cms.contenttypes.ui.membershipstatus.warning_changes_here_significant_for_all=AChtung: Die hier vorgenommenen \u00C4nderungen gelten f\u00FCr ALLE Organisationseinheiten!
cms.contenttypes.ui.membershipstatus.statusname=Bezeichnung des Status
cms.contenttypes.ui.organizatialunit.unitdescription=Beschreibung
cms.contenttypes.ui.organizatialunit.unitname=Name der Organisationseinheit
cms.contenttypes.ui.organizationalunit.description=Beschreibung
cms.contenttypes.ui.organizationalunit.unitname=Name der Organisationseinheit
cms.contenttypes.ui.organizationalunit=Organisationseinheit
cms.contenttypes.ui.organizationalunit.assistentdirector.noPersonsAvailable=Keine Personen verf\u00FCgbar.
cms.contenttypes.ui.organizationalunit.assistentdirector.selectThisPerson=Diese Person ausw\u00E4hlen?
cms.contenttypes.ui.organizationalunit.assistentdirector_givenname=Vorname
cms.contenttypes.ui.organizationalunit.assistentdirector_surname=Nachname
cms.contenttypes.ui.organizationalunit.assistentdirector_title_post=Dem Namen vorangestellte(r) Titel
cms.contenttypes.ui.organizationalunit.assistentdirector_title_pre=Dem Name nachgestellte(r) Titel
cms.contenttypes.ui.organizationalunit.director.noPersonsAvailable=Keine Personen verf\u00FCgbar
cms.contenttypes.ui.organizationalunit.director.selectThisPerson=Diese Person ausw\u00E4hlen
cms.contenttypes.ui.organizationalunit.director_givenname=Vorname
cms.contenttypes.ui.organizationalunit.director_surname=Nachname
cms.contenttypes.ui.organizationalunit.director_title_post=Dem Namen vorangestellte(r) Titel
cms.contenttypes.ui.organizationalunit.director_title_pre=Dem Name nachgestellte(r) Titel
cms.contenttypes.ui.orgnizationalunit.membership.Person=Person
cms.contenttypes.ui.orgnizationalunit.membership.Status=Status
cms.contenttypes.ui.organizationalunit.membership.from=Mitglied seit
cms.contenttypes.ui.organizationalunit.membership.to=Mitglied bis
cms.contenttypes.ui.organizationalunit.membershipstatus.name=Name
cms.contenttypes.ui.organizationalunit.membershipstatus.edit=Bearbeiten
cms.contenttypes.ui.organizationalunit.membershipstatus.delete=L\u00F6schen
cms.contenttypes.ui.organizationalunit.nomembers=Keine Mitglieder vorhanden.
cms.contenttypes.ui.organizationalunit.person=Person
cms.contenttypes.ui.organizationalunit.status=Status
cms.contenttypes.ui.organizationalunit.edit=Bearbeiten
cms.contenttypes.ui.organizationalunit.noOrgaUnitsAssociatedWithThisOrgaUnit=Diese Organisationseinheit hat keine untergeordneten Organisationseinheiten.
cms.contenttypes.ui.organizationalunit.edit.delete=L\u00F6schen
cms.contenttypes.ui.organizationalunit.selectAssistentDirector=Stellvertretenden Leiter ausw\u00E4hlen
cms.contenttypes.ui.organizationalunit.selectDirector=Leiter ausw\u00E4hlen
organizationalunit.authoring.basic_properties.title=Basiseigenschaften
organizationalunit.authoring.chooseDirector.title=Leiter ausw\u00E4hlen
organizationalunit.authoring.chooseAssistentDirector.title=Stellvertretenden Leiter ausw\u00E4hlen
organizationalunit.authoring.subunits.title=Untergeordnete Organisationseinheiten
organizationalunit.authoring.members.title=Mitglieder
organizationalunit.authoring.membershipstatus.title=Statuswerte f\u00FCr Mitglieder

View File

@ -15,10 +15,8 @@ import com.arsdigita.bebop.event.FormValidationListener;
import com.arsdigita.bebop.event.PrintEvent; import com.arsdigita.bebop.event.PrintEvent;
import com.arsdigita.bebop.event.PrintListener; import com.arsdigita.bebop.event.PrintListener;
import com.arsdigita.bebop.form.Option; import com.arsdigita.bebop.form.Option;
import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.form.Submit; import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.parameters.DateParameter; import com.arsdigita.bebop.parameters.DateParameter;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel; import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.bebop.util.GlobalizationUtil; import com.arsdigita.bebop.util.GlobalizationUtil;
@ -26,8 +24,8 @@ import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Membership; import com.arsdigita.cms.contenttypes.Membership;
import com.arsdigita.cms.contenttypes.MembershipStatus; import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.cms.contenttypes.MembershipStatusCollection;
import com.arsdigita.cms.contenttypes.OrganizationalUnit; import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectFactory;
@ -37,7 +35,6 @@ import com.arsdigita.util.Assert;
import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.util.UncheckedWrapperException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.Iterator;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -79,24 +76,24 @@ public class MembershipPropertyForm extends FormSection implements FormInitListe
protected void addWidgets() { protected void addWidgets() {
logger.debug("adding widgets..."); logger.debug("adding widgets...");
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.orgnizationalunit.membership.Person"))); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.orgnizationalunit.membership.Person")));
this.m_personSearch = new ItemSearchWidget(PERSON_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.Person")); this.m_personSearch = new ItemSearchWidget(PERSON_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.Person"));
add(this.m_personSearch); add(this.m_personSearch);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.orgnizationalunit.membership.Status"))); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.orgnizationalunit.membership.Status")));
ParameterModel statusParam = new StringParameter((Membership.STATUS)); ParameterModel statusParam = new StringParameter((Membership.STATUS));
this.m_status = new ChangeableSingleSelect(statusParam); this.m_status = new ChangeableSingleSelect(statusParam);
add(this.m_status); add(this.m_status);
//MembershipStatusCollection statusValues = MembershipStatusCollection.getMembershipStatusCollection(); //MembershipStatusCollection statusValues = MembershipStatusCollection.getMembershipStatusCollection();
this.addStatusOptions(); this.addStatusOptions();
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membership.from"))); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membership.from")));
ParameterModel fromParam = new DateParameter(Membership.FROM); ParameterModel fromParam = new DateParameter(Membership.FROM);
//fromParam.addParameterListener(new NotNullValidationListener()); //fromParam.addParameterListener(new NotNullValidationListener());
this.m_from = new com.arsdigita.bebop.form.Date(fromParam); this.m_from = new com.arsdigita.bebop.form.Date(fromParam);
add(this.m_from); add(this.m_from);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membership.to"))); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membership.to")));
ParameterModel toParam = new DateParameter(Membership.TO); ParameterModel toParam = new DateParameter(Membership.TO);
this.m_to = new com.arsdigita.bebop.form.Date(toParam); this.m_to = new com.arsdigita.bebop.form.Date(toParam);
add(this.m_to); add(this.m_to);
@ -119,9 +116,9 @@ public class MembershipPropertyForm extends FormSection implements FormInitListe
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_membershipModel.isSelected(e.getPageState())) { if (m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("cancel"); target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} else { } else {
target.setButtonLabel("Reset"); target.setButtonLabel(GlobalizationUtil.globalize("reset"));
} }
} }
}); });
@ -131,9 +128,9 @@ public class MembershipPropertyForm extends FormSection implements FormInitListe
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_membershipModel.isSelected(e.getPageState())) { if (m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save"); target.setButtonLabel(GlobalizationUtil.globalize("save"));
} else { } else {
target.setButtonLabel("Create"); target.setButtonLabel(GlobalizationUtil.globalize("create"));
} }
} }
}); });

View File

@ -16,10 +16,10 @@ import com.arsdigita.bebop.event.PrintListener;
import com.arsdigita.bebop.form.Submit; import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.form.TextField; import com.arsdigita.bebop.form.TextField;
import com.arsdigita.bebop.parameters.NotNullValidationListener; import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.MembershipStatus; import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.persistence.SessionManager; import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.util.UncheckedWrapperException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -55,10 +55,10 @@ public class MembershipStatusPropertyForm extends FormSection implements FormIni
protected void addWidgets() { protected void addWidgets() {
logger.debug("Adding widgets..."); logger.debug("Adding widgets...");
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.membershipstatus.warning_changes_here_significant_for_all")), ColumnPanel.FULL_WIDTH); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.membershipstatus.warning_changes_here_significant_for_all")), ColumnPanel.FULL_WIDTH);
this.m_statusName = new TextField("statusName"); this.m_statusName = new TextField("statusName");
this.m_statusName.addValidationListener(new NotNullValidationListener()); this.m_statusName.addValidationListener(new NotNullValidationListener());
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.membershipstatus.statusname"))); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.membershipstatus.statusname")));
add(this.m_statusName); add(this.m_statusName);
logger.debug("widgets added"); logger.debug("widgets added");
} }
@ -72,9 +72,9 @@ public class MembershipStatusPropertyForm extends FormSection implements FormIni
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_statusModel.isSelected(e.getPageState())) { if (m_statusModel.isSelected(e.getPageState())) {
target.setButtonLabel("Cancel"); target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} else { } else {
target.setButtonLabel("Reset"); target.setButtonLabel(GlobalizationUtil.globalize("reset"));
} }
} }
}); });
@ -84,9 +84,9 @@ public class MembershipStatusPropertyForm extends FormSection implements FormIni
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_statusModel.isSelected(e.getPageState())) { if (m_statusModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save"); target.setButtonLabel(GlobalizationUtil.globalize("save"));
} else { } else {
target.setButtonLabel("Create"); target.setButtonLabel(GlobalizationUtil.globalize("create"));
} }
} }
}); });

View File

@ -15,6 +15,7 @@ import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.MembershipStatus; import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DataObjectNotFoundException;
import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectFactory;
@ -70,9 +71,9 @@ public class MembershipStatusTable extends Table {
protected void addColumns() { protected void addColumns() {
TableColumnModel model = getColumnModel(); TableColumnModel model = getColumnModel();
int i = 0; int i = 0;
this.m_statusNameCol = new TableColumn(i, "Status name"); this.m_statusNameCol = new TableColumn(i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membershipstatus.name"));
this.m_editCol = new TableColumn(++i, "Edit"); this.m_editCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membershipstatus.edit"));
this.m_delCol = new TableColumn(++i, "Delete"); this.m_delCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membershipstatus.delete"));
model.add(this.m_statusNameCol); model.add(this.m_statusNameCol);
model.add(this.m_editCol); model.add(this.m_editCol);

View File

@ -18,6 +18,7 @@ import org.apache.log4j.Logger;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Membership; import com.arsdigita.cms.contenttypes.Membership;
import com.arsdigita.cms.contenttypes.MembershipStatus; import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DataObjectNotFoundException;
@ -64,7 +65,7 @@ public class MembershipTable extends Table {
} }
}; };
Label empty = new Label("This organizational unit has no members."); Label empty = new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.nomembers"));
setEmptyView(empty); setEmptyView(empty);
addTableActionListener(new MembershipTableActionListener()); addTableActionListener(new MembershipTableActionListener());
setRowSelectionModel(m_membershipModel); setRowSelectionModel(m_membershipModel);
@ -75,9 +76,9 @@ public class MembershipTable extends Table {
public void addColumns() { public void addColumns() {
TableColumnModel model = getColumnModel(); TableColumnModel model = getColumnModel();
int i = 0; int i = 0;
this.m_personCol = new TableColumn(i, "Person"); this.m_personCol = new TableColumn(i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.person"));
this.m_statusCol = new TableColumn(++i, "Status"); this.m_statusCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.status"));
this.m_editCol = new TableColumn(++i, "Edit"); this.m_editCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.edit"));
model.add(this.m_personCol); model.add(this.m_personCol);
model.add(this.m_statusCol); model.add(this.m_statusCol);

View File

@ -19,7 +19,9 @@ import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrgaUnit2OrgaUnit; import com.arsdigita.cms.contenttypes.OrgaUnit2OrgaUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnit; import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.util.Assert; import com.arsdigita.util.Assert;
import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.util.UncheckedWrapperException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -54,7 +56,7 @@ public class OrgaUnit2OrgaUnitPropertyForm extends FormSection implements FormIn
} }
protected void addWidgets() { protected void addWidgets() {
add(new Label("OrganizationalUnit")); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit")));
this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.OrganizationalUnit")); this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.OrganizationalUnit"));
add(this.m_itemSearch); add(this.m_itemSearch);
} }
@ -67,9 +69,9 @@ public class OrgaUnit2OrgaUnitPropertyForm extends FormSection implements FormIn
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_ou2ouModel.isSelected(e.getPageState())) { if (m_ou2ouModel.isSelected(e.getPageState())) {
target.setButtonLabel("Cancel"); target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} else { } else {
target.setButtonLabel("Reset"); target.setButtonLabel(GlobalizationUtil.globalize("reset"));
} }
} }
}); });
@ -79,9 +81,9 @@ public class OrgaUnit2OrgaUnitPropertyForm extends FormSection implements FormIn
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_ou2ouModel.isSelected(e.getPageState())) { if (m_ou2ouModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save"); target.setButtonLabel(GlobalizationUtil.globalize("save"));
} else { } else {
target.setButtonLabel("Create"); target.setButtonLabel(GlobalizationUtil.globalize("create"));
} }
} }
}); });

View File

@ -16,6 +16,7 @@ import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.OrgaUnit2OrgaUnit; import com.arsdigita.cms.contenttypes.OrgaUnit2OrgaUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.persistence.OID; import com.arsdigita.persistence.OID;
@ -75,7 +76,7 @@ public class OrgaUnit2OrgaUnitTable extends Table {
} }
}; };
Label empty = new Label("There are no organizational units associated with this organizational unit."); Label empty = new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.noOrgaUnitsAssociatedWithThisOrgaUnit"));
setEmptyView(empty); setEmptyView(empty);
addTableActionListener(new OrgaUnit2OrgaUnitTableActionListener()); addTableActionListener(new OrgaUnit2OrgaUnitTableActionListener());
setRowSelectionModel(this.m_ou2ouModel); setRowSelectionModel(this.m_ou2ouModel);
@ -86,9 +87,9 @@ public class OrgaUnit2OrgaUnitTable extends Table {
public void addColumns() { public void addColumns() {
TableColumnModel model = getColumnModel(); TableColumnModel model = getColumnModel();
int i = 0; int i = 0;
this.m_orgaUnitCol = new TableColumn(i, "Organizational Unit"); this.m_orgaUnitCol = new TableColumn(i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit"));
this.m_editCol = new TableColumn(++i, "Edit"); this.m_editCol = new TableColumn(++i, "cms.contenttypes.ui.organizationalunit.edit");
this.m_delCol = new TableColumn(++i, "Delete"); this.m_delCol = new TableColumn(++i, "cms.contenttypes.ui.organizationalunit.edit.delete");
this.m_moveUpCol = new TableColumn(++i, ""); this.m_moveUpCol = new TableColumn(++i, "");
this.m_moveDownCol = new TableColumn(++i, ""); this.m_moveDownCol = new TableColumn(++i, "");

View File

@ -1,8 +1,8 @@
package com.arsdigita.cms.contenttypes.ui.organizationalunit; package com.arsdigita.cms.contenttypes.ui.organizationalunit;
import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.authoring.WorkflowLockedComponentAccess; import com.arsdigita.cms.ui.authoring.WorkflowLockedComponentAccess;
@ -21,7 +21,7 @@ public class OrganizationalUnitChooseAssistentDirectorStep extends SimpleEditSte
OrganizationalUnitChooseAssistentDirectorTable table = new OrganizationalUnitChooseAssistentDirectorTable(itemModel, this); OrganizationalUnitChooseAssistentDirectorTable table = new OrganizationalUnitChooseAssistentDirectorTable(itemModel, this);
addComponent(EDIT_SHEET_NAME, "Select assistent director", new WorkflowLockedComponentAccess(table, itemModel)); addComponent(EDIT_SHEET_NAME, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.selectAssistentDirector").localize().toString(), new WorkflowLockedComponentAccess(table, itemModel));
setDisplayComponent(getOrganizationalUnitPropertiesSheet(itemModel)); setDisplayComponent(getOrganizationalUnitPropertiesSheet(itemModel));
} }
@ -29,10 +29,10 @@ public class OrganizationalUnitChooseAssistentDirectorStep extends SimpleEditSte
private Component getOrganizationalUnitPropertiesSheet(ItemSelectionModel itemModel) { private Component getOrganizationalUnitPropertiesSheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_pre"), "assistentDirection.titlepre"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_title_pre"), "assistentDirection.titlepre");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_givenname"), "assistentDirection.givenname"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_givenname"), "assistentDirection.givenname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_surname"), "assistentDirection.surname"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_surname"), "assistentDirection.surname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_post"), "assistentDirection.titlepost"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_title_post"), "assistentDirection.titlepost");
return sheet; return sheet;
} }

View File

@ -33,6 +33,7 @@ import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnit; import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.DataCollection;
@ -65,7 +66,7 @@ public class OrganizationalUnitChooseAssistentDirectorTable extends Table implem
model.add(new TableColumn(0, COL_PERSON)); model.add(new TableColumn(0, COL_PERSON));
model.add(new TableColumn(1, COL_CHOOSE_PERSON)); model.add(new TableColumn(1, COL_CHOOSE_PERSON));
setEmptyView(new Label("New Persons available.")); setEmptyView(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector.noPersonsAvailable")));
setModelBuilder(new OrganizationalUnitChooseAssistentDirectorTableModelBuilder()); setModelBuilder(new OrganizationalUnitChooseAssistentDirectorTableModelBuilder());
model.get(1).setCellRenderer(new SelectCellRenderer()); model.get(1).setCellRenderer(new SelectCellRenderer());
@ -147,7 +148,7 @@ public class OrganizationalUnitChooseAssistentDirectorTable extends Table implem
public Component getComponent(Table table, PageState state, Object value, boolean isSelected, Object key, int row, int column) { public Component getComponent(Table table, PageState state, Object value, boolean isSelected, Object key, int row, int column) {
ControlLink link = new ControlLink(value.toString()); ControlLink link = new ControlLink(value.toString());
link.setConfirmation("Select this person?"); link.setConfirmation(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector.selectThisPerson").localize().toString());
return link; return link;
} }

View File

@ -1,8 +1,8 @@
package com.arsdigita.cms.contenttypes.ui.organizationalunit; package com.arsdigita.cms.contenttypes.ui.organizationalunit;
import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
@ -21,7 +21,7 @@ public class OrganizationalUnitChooseDirectorStep extends SimpleEditStep {
OrganizationalUnitChooseDirectorTable table = new OrganizationalUnitChooseDirectorTable(itemModel, this); OrganizationalUnitChooseDirectorTable table = new OrganizationalUnitChooseDirectorTable(itemModel, this);
addComponent(EDIT_SHEET_NAME, "Select Director", new WorkflowLockedComponentAccess(table, itemModel)); addComponent(EDIT_SHEET_NAME, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.selectDirector").localize().toString(), new WorkflowLockedComponentAccess(table, itemModel));
setDisplayComponent(getOrganizationalUnitPropertiesSheet(itemModel)); setDisplayComponent(getOrganizationalUnitPropertiesSheet(itemModel));
} }
@ -29,11 +29,11 @@ public class OrganizationalUnitChooseDirectorStep extends SimpleEditStep {
private Component getOrganizationalUnitPropertiesSheet(ItemSelectionModel itemModel) { private Component getOrganizationalUnitPropertiesSheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_pre"), "direction.titlepre"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_title_pre"), "assistentDirection.titlepre");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_givenname"), "direction.givenname"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_givenname"), "assistentDirection.givenname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_surname"), "direction.surname"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_surname"), "assistentDirection.surname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_post"), "direction.titlepost"); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_title_post"), "assistentDirection.titlepost");
return sheet; return sheet;
} }
} }

View File

@ -7,6 +7,7 @@ import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnit; import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
@ -40,8 +41,8 @@ public class OrganizationalUnitPropertiesStep extends SimpleEditStep {
public static Component getOrganizationalUnitPropertySheet(ItemSelectionModel itemModel) { public static Component getOrganizationalUnitPropertySheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.organizatialunit.unitname"), OrganizationalUnit.ORGANIZATIONALUNIT_NAME); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizatialunit.unitname"), OrganizationalUnit.ORGANIZATIONALUNIT_NAME);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.organizatialunit.unitdescription"), OrganizationalUnit.ORGANIZATIONALUNIT_DESCRIPTION); sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizatialunit.unitdescription"), OrganizationalUnit.ORGANIZATIONALUNIT_DESCRIPTION);
if (!ContentSection.getConfig().getHideLaunchDate()) { if (!ContentSection.getConfig().getHideLaunchDate()) {
sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() { sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() {

View File

@ -15,6 +15,7 @@ import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.bebop.util.GlobalizationUtil; import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnit; import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.authoring.BasicPageForm;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -44,13 +45,13 @@ public class OrganizationalUnitPropertyForm extends BasicPageForm implements For
public void addWidgets() { public void addWidgets() {
super.addWidgets(); super.addWidgets();
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.organizationalunit.ui.unitname"))); add(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.unitname")));
ParameterModel orgaUnitNameParam = new StringParameter(ORGANIZATIONALUNIT_NAME); ParameterModel orgaUnitNameParam = new StringParameter(ORGANIZATIONALUNIT_NAME);
TextField orgaUnitName = new TextField(orgaUnitNameParam); TextField orgaUnitName = new TextField(orgaUnitNameParam);
orgaUnitName.addValidationListener(new NotNullValidationListener()); orgaUnitName.addValidationListener(new NotNullValidationListener());
add(orgaUnitName); add(orgaUnitName);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.organizationalunit.ui.description"))); add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.description")));
TextArea description = new TextArea(ORGANIZATIONALUNIT_DESCRIPTION); TextArea description = new TextArea(ORGANIZATIONALUNIT_DESCRIPTION);
description.setRows(5); description.setRows(5);
description.setCols(30); description.setCols(30);

View File

@ -4,29 +4,79 @@
<xsl:stylesheet <xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cms="http://www.arsdigita/com/cms/1.0" xmlns:cms="http://www.arsdigita.com/cms/1.0"
version="1.0"> version="1.0">
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.OrganizationalUnit']" <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.OrganizationalUnit']"
mode="cms:CT_graphics" mode="cms:CT_graphics"
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_OrganizationalUnit"> name="cms:CT_graphics_com_arsdigita_cms_contenttypes_OrganizationalUnit">
<h2><xsl:value-of select="./organizationalunitName"/></h2>
<p> <p>
<xsl:value-of select="./name" /> <xsl:value-of select="./organizationalunitDescription"/>
<xsl:value-of select="./description" />
</p> </p>
<p>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./direction/@oid"/>
</xsl:attribute>
<xsl:value-of select="./direction/titlepre"/>&nbsp;<xsl:value-of select="./direction/givenname"/>&nbsp;<xsl:value-of select="./direction/surname"/>&nbsp;<xsl:value-of select="./direction/titlepost"/>&nbsp;
</a>
</p>
<p>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./assistentDirection/@oid"/>
</xsl:attribute>
<xsl:value-of select="./assistentDirection/titlepre"/>&nbsp;<xsl:value-of select="./assistentDirection/givenname"/>&nbsp;<xsl:value-of select="./assistentDirection/surname"/>&nbsp;<xsl:value-of select="./assistentDirection/titlepost"/>&nbsp;
</a>
</p>
<ul>
<xsl:for-each select="subunits">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/organizationalunitName"/>
</a>
</li>
</xsl:for-each>
</ul>
<ul>
<xsl:for-each select="memberships">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/titlePre"/>&nbsp;<xsl:value-of select="./targetItem/givenname"/>&nbsp;<xsl:value-of select="./targetItem/surname"/>&nbsp;<xsl:value-of select="./targetItem/titlePost"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template> </xsl:template>
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.OrganizationalUnit']" <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.OrganizationalUnit']"
mode="cms:CT_text" mode="cms:CT_text"
name="cms:CT_text_com_arsdigita_cms_contenttypes_OrganizationalUnit"> name="cms:CT_text_com_arsdigita_cms_contenttypes_OrganizationalUnit">
<h1>OrgaUnit contenttype</h1>
<p> <p>
<xsl:value-of select="./name" /> <xsl:value-of select="./name" />
<xsl:value-of select="./description" /> <xsl:value-of select="./description" />
</p> </p>
</xsl:template> </xsl:template>

View File

@ -45,10 +45,12 @@ public class PersonInitializer extends ContentTypeInitializer {
Person.BASE_DATA_OBJECT_TYPE); Person.BASE_DATA_OBJECT_TYPE);
} }
@Override
public void init(DomainInitEvent evt) { public void init(DomainInitEvent evt) {
super.init(evt); super.init(evt);
} }
@Override
public String[] getStylesheets() { public String[] getStylesheets() {
return new String[] { "/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl" }; return new String[] { "/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl" };
} }

View File

@ -21,7 +21,6 @@ package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentPage; import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
@ -34,6 +33,7 @@ import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.cms.contenttypes.util.PersonGlobalizationUtil; import com.arsdigita.cms.contenttypes.util.PersonGlobalizationUtil;
import com.arsdigita.cms.util.GlobalizationUtil;
import java.text.DateFormat; import java.text.DateFormat;
public class PersonPropertiesStep extends SimpleEditStep { public class PersonPropertiesStep extends SimpleEditStep {
@ -63,7 +63,7 @@ public class PersonPropertiesStep extends SimpleEditStep {
sheet.add((String)PersonGlobalizationUtil.globalize("cms.contenttypes.ui.person.titlepost").localize(), Person.TITLEPOST); sheet.add((String)PersonGlobalizationUtil.globalize("cms.contenttypes.ui.person.titlepost").localize(), Person.TITLEPOST);
if(!ContentSection.getConfig().getHideLaunchDate()) { if(!ContentSection.getConfig().getHideLaunchDate()) {
sheet.add((String)PersonGlobalizationUtil.globalize("cms.ui.authoring.page_launch_date").localize(), sheet.add((String)GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date").localize(),
ContentPage.LAUNCH_DATE, ContentPage.LAUNCH_DATE,
new DomainObjectPropertySheet.AttributeFormatter() { new DomainObjectPropertySheet.AttributeFormatter() {
public String format(DomainObject item, public String format(DomainObject item,
@ -74,7 +74,7 @@ public class PersonPropertiesStep extends SimpleEditStep {
return DateFormat.getDateInstance(DateFormat.LONG).format(page.getLaunchDate()); return DateFormat.getDateInstance(DateFormat.LONG).format(page.getLaunchDate());
} }
else { else {
return (String)PersonGlobalizationUtil.globalize("cms.ui.unknown").localize(); return (String)GlobalizationUtil.globalize("cms.ui.unknown").localize();
} }
} }
}); });

View File

@ -0,0 +1,29 @@
package com.arsdigita.cms.contenttypes;
import com.arsdigita.globalization.GlobalizedMessage;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
*/
public class ResearchNetworkGlobalizationUtil {
final public static String BUNDLE_NAME =
"com.arsdigita.cms.contenttypes.ResearchNetworkResourceBundle";
/**
* This returns a globalized message using the type specific bundle,
* BUNDLE_NAME
*/
public static GlobalizedMessage globalize(String key) {
return new GlobalizedMessage(key, BUNDLE_NAME);
}
/**
* This returns a globalized message using the type specific bundle,
* BUNDLE_NAME
*/
public static GlobalizedMessage globalize(String key, Object[] args) {
return new GlobalizedMessage(key, BUNDLE_NAME, args);
}
}

View File

@ -15,8 +15,14 @@ public class ResearchNetworkInitializer extends ContentTypeInitializer {
super("ccm-cms-types-researchnetwork.pdl.mf", ResearchNetwork.BASE_DATA_OBJECT_TYPE); super("ccm-cms-types-researchnetwork.pdl.mf", ResearchNetwork.BASE_DATA_OBJECT_TYPE);
} }
public String getStylesheet() { @Override
return "static/content-types/com/arsdigita/cms/contenttypes/ResearchNetwork.xsl"; public String[] getStylesheets() {
return new String[] { "/static/content-types/com/arsdigita/cms/contenttypes/ResearchNetwork.xsl" };
}
@Override
public String getTraversalXML() {
return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/ResearchNetwork.xml";
} }
@Override @Override

View File

@ -0,0 +1,22 @@
package com.arsdigita.cms.contenttypes;
import com.arsdigita.cms.CMSGlobalized;
import com.arsdigita.globalization.ChainedResourceBundle;
import java.util.PropertyResourceBundle;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
*/
public class ResearchNetworkResourceBundle extends ChainedResourceBundle implements CMSGlobalized {
public final static String RESEARCH_NETWORK_BUNDLE_NAME =
"com.arsdigita.cms.contenttypes.ResearchNetworkResources";
public ResearchNetworkResourceBundle() {
super();
addBundle((PropertyResourceBundle)getBundle(RESEARCH_NETWORK_BUNDLE_NAME));
addBundle((PropertyResourceBundle)getBundle(BUNDLE_NAME));
}
}

View File

@ -0,0 +1,14 @@
researchnetwork.authoring.basic_properties.title=Basic properties
researchnetwork.authoring.membership.title=Members
cms.contenttypes.ui.researchnetwork.membership.person=Person
cms.contenttypes.ui.researchnetwork.membership.noMembers=This research network has no associated persons.
cms.contenttypes.ui.researchnetwork.membership.person=Person
cms.contenttypes.ui.researchnetwork.membership.edit=Edit
cms.contenttypes.ui.researchnetwork.membership.delete=Delete
cms.contenttypes.researchnetwork.ui.title=Name of research network
cms.contenttypes.researchnetwork.ui.direction=Direction of research network
cms.contenttypes.researchnetwork.ui.coordination=Coordination of research network
cms.contenttypes.researchnetwork.ui.website=URL of the website of the research network
cms.contenttypes.researchnetwork.ui.description=Description

View File

@ -0,0 +1,14 @@
researchnetwork.authoring.basic_properties.title=Basiseigenschaften
researchnetwork.authoring.membership.title=Mitglieder
cms.contenttypes.ui.researchnetwork.membership.person=Person
cms.contenttypes.ui.researchnetwork.membership.noMembers=Diesen Forschungsnetzwerk hat keine Mitglieder.
cms.contenttypes.ui.researchnetwork.membership.person=Person
cms.contenttypes.ui.researchnetwork.membership.edit=Bearbeiten
cms.contenttypes.ui.researchnetwork.membership.delete=L\u00F6schen
cms.contenttypes.researchnetwork.ui.title=Name des Forschungsnetzwerks
cms.contenttypes.researchnetwork.ui.direction=Leitung des Forschungsnetzwerks
cms.contenttypes.researchnetwork.ui.coordination=Koordination des Forschungsnetzwerks
cms.contenttypes.researchnetwork.ui.website=URL der Webseite des Forschungsnetzwerks
cms.contenttypes.researchnetwork.ui.description=Beschreibung

View File

@ -20,6 +20,7 @@ import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.contenttypes.ResearchNetwork; import com.arsdigita.cms.contenttypes.ResearchNetwork;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.contenttypes.ResearchNetworkMembership; import com.arsdigita.cms.contenttypes.ResearchNetworkMembership;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.util.Assert; import com.arsdigita.util.Assert;
@ -60,7 +61,7 @@ public class ResearchNetworkMembershipPropertyForm extends FormSection implemen
} }
protected void addWidgets() { protected void addWidgets() {
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.person"))); add(new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.person")));
this.m_personSearch = new ItemSearchWidget(PERSON_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.Person")); this.m_personSearch = new ItemSearchWidget(PERSON_SEARCH, ContentType.findByAssociatedObjectType("com.arsdigita.cms.contenttypes.Person"));
add(this.m_personSearch); add(this.m_personSearch);
} }
@ -73,9 +74,9 @@ public class ResearchNetworkMembershipPropertyForm extends FormSection implemen
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (m_membershipModel.isSelected(e.getPageState())) { if (m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("cancel"); target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} else { } else {
target.setButtonLabel("Reset"); target.setButtonLabel(GlobalizationUtil.globalize("reset"));
} }
} }
}); });
@ -85,9 +86,9 @@ public class ResearchNetworkMembershipPropertyForm extends FormSection implemen
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if(m_membershipModel.isSelected(e.getPageState())) { if(m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save"); target.setButtonLabel(GlobalizationUtil.globalize("save"));
} else { } else {
target.setButtonLabel("Create"); target.setButtonLabel(GlobalizationUtil.globalize("create"));
} }
} }
}); });

View File

@ -17,6 +17,7 @@ import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.contenttypes.ResearchNetworkMembership; import com.arsdigita.cms.contenttypes.ResearchNetworkMembership;
import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DataObjectNotFoundException;
import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectFactory;
@ -61,7 +62,7 @@ public class ResearchNetworkMembershipTable extends Table {
} }
}; };
Label empty = new Label("This research network has no associated persons."); Label empty = new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.noMembers"));
setEmptyView(empty); setEmptyView(empty);
addTableActionListener(new ResearchNetworkMembershipTableActionListener()); addTableActionListener(new ResearchNetworkMembershipTableActionListener());
setRowSelectionModel(m_membershipModel); setRowSelectionModel(m_membershipModel);
@ -71,9 +72,9 @@ public class ResearchNetworkMembershipTable extends Table {
public void addColumns() { public void addColumns() {
TableColumnModel model = getColumnModel(); TableColumnModel model = getColumnModel();
this.m_personCol = new TableColumn(0, "Person"); this.m_personCol = new TableColumn(0, ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.person"));
this.m_editCol = new TableColumn(1, "Edit"); this.m_editCol = new TableColumn(1, ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.edit"));
this.m_delCol = new TableColumn(2, "Delete"); this.m_delCol = new TableColumn(2, ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.delete"));
model.add(this.m_personCol); model.add(this.m_personCol);
model.add(this.m_editCol); model.add(this.m_editCol);

View File

@ -7,6 +7,7 @@ import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ResearchNetwork; import com.arsdigita.cms.contenttypes.ResearchNetwork;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
@ -41,11 +42,11 @@ public class ResearchNetworkPropertiesStep extends SimpleEditStep {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
//Display the properties //Display the properties
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.title"), ResearchNetwork.RESEARCHNETWORK_TITLE); sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.title"), ResearchNetwork.RESEARCHNETWORK_TITLE);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.direction"), ResearchNetwork.RESEARCHNETWORK_DIRECTION); sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.direction"), ResearchNetwork.RESEARCHNETWORK_DIRECTION);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.coordination"), ResearchNetwork.RESEARCHNETWORK_COORDINATION); sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.coordination"), ResearchNetwork.RESEARCHNETWORK_COORDINATION);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.website"), ResearchNetwork.RESEARCHNETWORK_WEBSITE); sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.website"), ResearchNetwork.RESEARCHNETWORK_WEBSITE);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.direction"), ResearchNetwork.RESEARCHNETWORK_DESCRIPTION); sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.description"), ResearchNetwork.RESEARCHNETWORK_DESCRIPTION);
if (!ContentSection.getConfig().getHideLaunchDate()) { if (!ContentSection.getConfig().getHideLaunchDate()) {
sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() { sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() {

View File

@ -15,6 +15,7 @@ import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.bebop.util.GlobalizationUtil; import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ResearchNetwork; import com.arsdigita.cms.contenttypes.ResearchNetwork;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.authoring.BasicPageForm;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -47,30 +48,30 @@ public class ResearchNetworkPropertyForm extends BasicPageForm implements FormPr
public void addWidgets() { public void addWidgets() {
super.addWidgets(); super.addWidgets();
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.title"))); add(new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.title")));
ParameterModel researchNetworkTitleParam = new StringParameter(RESEARCHNETWORK_TITLE); ParameterModel researchNetworkTitleParam = new StringParameter(RESEARCHNETWORK_TITLE);
TextField researchNetworkTitle = new TextField(researchNetworkTitleParam); TextField researchNetworkTitle = new TextField(researchNetworkTitleParam);
researchNetworkTitle.addValidationListener(new NotNullValidationListener()); researchNetworkTitle.addValidationListener(new NotNullValidationListener());
add(researchNetworkTitle); add(researchNetworkTitle);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.direction"))); add(new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.direction")));
TextArea researchNetworkDirection = new TextArea(RESEARCHNETWORK_DIRECTION); TextArea researchNetworkDirection = new TextArea(RESEARCHNETWORK_DIRECTION);
researchNetworkDirection.setRows(5); researchNetworkDirection.setRows(5);
researchNetworkDirection.setCols(30); researchNetworkDirection.setCols(30);
add(researchNetworkDirection); add(researchNetworkDirection);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.coordination"))); add(new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.coordination")));
TextArea researchNetworkCoordination = new TextArea(RESEARCHNETWORK_COORDINATION); TextArea researchNetworkCoordination = new TextArea(RESEARCHNETWORK_COORDINATION);
researchNetworkCoordination.setRows(5); researchNetworkCoordination.setRows(5);
researchNetworkCoordination.setCols(30); researchNetworkCoordination.setCols(30);
add(researchNetworkCoordination); add(researchNetworkCoordination);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.website"))); add(new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.website")));
ParameterModel researchNetworkWebsiteParam = new StringParameter(RESEARCHNETWORK_WEBSITE); ParameterModel researchNetworkWebsiteParam = new StringParameter(RESEARCHNETWORK_WEBSITE);
TextField researchNetworkWebsite = new TextField(researchNetworkWebsiteParam); TextField researchNetworkWebsite = new TextField(researchNetworkWebsiteParam);
add(researchNetworkWebsite); add(researchNetworkWebsite);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.description"))); add(new Label(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.description")));
TextArea researchNetworkAreaDescription = new TextArea(RESEARCHNETWORK_DESCRIPTION); TextArea researchNetworkAreaDescription = new TextArea(RESEARCHNETWORK_DESCRIPTION);
researchNetworkAreaDescription.setRows(10); researchNetworkAreaDescription.setRows(10);
researchNetworkAreaDescription.setCols(30); researchNetworkAreaDescription.setCols(30);

View File

@ -4,20 +4,53 @@
<xsl:stylesheet <xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cms="http://www.arsdigita/com/cms/1.0" xmlns:cms="http://www.arsdigita.com/cms/1.0"
version="1.0"> version="1.0">
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.ResearchNetwork']" <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.ResearchNetwork']"
mode="cms:CT_graphics" mode="cms:CT_graphics"
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_ResearchNetwork"> name="cms:CT_graphics_com_arsdigita_cms_contenttypes_ResearchNetwork">
<h2><xsl:value-of select="./researchNetworkTitle"/></h2>
<p> <p>
<xsl:value-of select="./title" /> <xsl:value-of select="./researchNetworkDirection"/>
<xsl:value-of select="./description" />
</p> </p>
</xsl:template> <p>
<xsl:value-of select="./researchNetworkCoordination"/>
</p>
<p>
<xsl:value-of select="./researchNetworkDescription"/>
</p>
<p>
<a>
<xsl:attribute name="href">
<xsl:value-of select="researchNetworkWebsite"/>
</xsl:attribute>
<xsl:value-of select="researchNetworkWebsite"/>
</a>
</p>
<ul>
<xsl:for-each select="memberships">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>/redirect?oid=</xsl:text>
<xsl:value-of select="./targetItem/@oid"/>
</xsl:attribute>
<xsl:value-of select="./targetItem/titlePre"/>&nbsp;<xsl:value-of select="./targetItem/givenname"/>&nbsp;<xsl:value-of select="./targetItem/surname"/>&nbsp;<xsl:value-of select="./targetItem/titlePost"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.ResearchNetwork']" <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.ResearchNetwork']"
mode="cms:CT_text" mode="cms:CT_text"
name="cms:CT_text_com_arsdigita_cms_contenttypes_ResearchNetwork"> name="cms:CT_text_com_arsdigita_cms_contenttypes_ResearchNetwork">