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 {
String[0..1] organizationname = ct_genericorganizations.organizationname 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;
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.
*/
public static final String ORGANIZATIONDESCRIPTION = "description";
public static final String ORGANIZATIONDESCRIPTION = "organizationdescription";
/**
* Roles associated with the organization.
*/
@ -173,7 +173,7 @@ public class GenericOrganization extends ContentPage {
* @return Description of the organization, if any.
*/
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.
*/
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;
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;
/**
@ -40,7 +31,7 @@ public class GenericOrganizationLoader extends AbstractContentTypeLoader {
private static final String[] TYPES = {
"/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.
@ -50,18 +41,16 @@ public class GenericOrganizationLoader extends AbstractContentTypeLoader {
public String[] getTypes() {
return TYPES;
}
/**
* Constructor.
*/
public GenericOrganizationLoader() {
super();
//public GenericOrganizationLoader() {
// super();
/*m_template = new ResourceParameter("com.arsdigita.cms.contenttypes.genericorganization.template",
Parameter.REQUIRED,
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/genericorganization-item.jsp");
register(m_template);*/
}
Parameter.REQUIRED,
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/genericorganization-item.jsp");
register(m_template);*/
//}
/**
*
* @param section
@ -71,17 +60,17 @@ public class GenericOrganizationLoader extends AbstractContentTypeLoader {
*/
/*@Override
protected void prepareSection(final ContentSection section,
final ContentType type,
final LifecycleDefinition ld,
final WorkflowTemplate wf) {
super.prepareSection(section, type, ld, wf);
final ContentType type,
final LifecycleDefinition ld,
final WorkflowTemplate wf) {
super.prepareSection(section, type, ld, wf);
setDefaultTemplate("GenericOrganization-genericorganization-item",
"genericorganization-item",
(InputStream) get(m_template),
section,
type,
ld,
wf);
setDefaultTemplate("GenericOrganization-genericorganization-item",
"genericorganization-item",
(InputStream) get(m_template),
section,
type,
ld,
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.domain.DomainObject;
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.cms.util.GlobalizationUtil;
import java.text.DateFormat;
import org.apache.log4j.Logger;
@ -61,9 +62,9 @@ public class GenericOrganizationPropertiesStep extends SimpleEditStep {
public static Component getGenericOrganizationPropertySheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationname"), GenericOrganization.ORGANIZATIONNAME);
sheet.add(GlobalizationUtil.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.organizationname"), GenericOrganization.ORGANIZATIONNAME);
sheet.add(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationnameaddendum"), GenericOrganization.ORGANIZATIONNAMEADDENDUM);
sheet.add(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.description"), GenericOrganization.DESCRIPTION);
if(!ContentSection.getConfig().getHideLaunchDate()) {
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.contenttypes.GenericOrganization;
import com.arsdigita.bebop.Label;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.form.TextArea;
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.StringParameter;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import org.apache.log4j.Logger;
/**
@ -41,7 +41,7 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
/**
* Description
*/
public static final String DESCRIPTION = GenericOrganization.DESCRIPTION;
public static final String ORGANIZATIONDESCRIPTION = GenericOrganization.ORGANIZATIONDESCRIPTION;
/**
* ID of the form
@ -73,18 +73,18 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
public void 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);
TextField organizationName = new TextField(organizationNameParam);
organizationName.addValidationListener(new NotNullValidationListener());
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);
add(organizationNameAddendum);
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganzation.ui.description")));
TextArea description = new TextArea(DESCRIPTION);
add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganzation.description")));
TextArea description = new TextArea(ORGANIZATIONDESCRIPTION);
description.setRows(5);
description.setCols(30);
add(description);
@ -97,7 +97,7 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
data.put(ORGANIZATIONAME, orga.getOrganizationName());
data.put(ORGANIZATIONNAMEADDENDUM, orga.getOrganizationNameAddendum());
data.put(DESCRIPTION, orga.getDescription());
data.put(ORGANIZATIONDESCRIPTION, orga.getDescription());
}
@Override
@ -111,7 +111,7 @@ public class GenericOrganizationPropertyForm extends BasicPageForm implements Fo
&& (getSaveCancelSection().getSaveButton().isSelected(e.getPageState()))) {
orga.setOrganizationName((String)data.get(ORGANIZATIONAME));
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");
orga.save();

View File

@ -18,6 +18,7 @@ import com.arsdigita.bebop.form.Submit;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganization;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Orga2OrgaUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.ui.ItemSearchWidget;
@ -68,7 +69,7 @@ public class Orga2OrgaUnitPropertyForm extends FormSection implements FormInitLi
* Creates the widgets for the form.
*/
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"));
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.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Orga2OrgaUnit;
import com.arsdigita.cms.dispatcher.Utilities;
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);
addTableActionListener(new Orga2OrgaUnitTableActionListener());
setRowSelectionModel(m_o2ouModel);
@ -98,9 +99,9 @@ public class Orga2OrgaUnitTable extends Table {
public void addColumns() {
TableColumnModel model = getColumnModel();
int i = 0;
this.m_orgaUnitCol = new TableColumn(i, "Organizational Unit");
this.m_editCol = new TableColumn(++i, "Edit");
this.m_delCol = new TableColumn(++i, "Delete");
this.m_orgaUnitCol = new TableColumn(i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationalunit").localize());
this.m_editCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.edit").localize());
this.m_delCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.delete").localize());
this.m_moveUpCol = 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.TextField;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.GenericOrganization;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.OrganizationRole;
import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.ui.ItemSearchWidget;
@ -79,10 +79,10 @@ public class OrganizationRolePropertyForm extends FormSection implements FormIni
protected void addWidgets() {
this.m_rolename = new TextField("rolename");
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(new Label("Person"));
add(new Label(GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.person")));
/* Create the ItemSearchWidget. The ContentType.findByAssociatedObjecType
* gets the ContentType of com.arsdigita.cms.contenttypes.Person and passes
* 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.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.GenericOrganizationGlobalizationUtil;
import com.arsdigita.cms.contenttypes.OrganizationRole;
import com.arsdigita.cms.dispatcher.Utilities;
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);
addTableActionListener(new OrganizationRoleTableActionListener());
setRowSelectionModel(m_roleModel);
@ -98,10 +99,10 @@ public class OrganizationRoleTable extends Table {
protected void addColumns() {
TableColumnModel model = getColumnModel();
int i = 0;
this.m_roleNameCol = new TableColumn(i, "Role");
this.m_personCol = new TableColumn(++i, "Person");
this.m_editCol = new TableColumn(++i, "Edit");
this.m_delCol = new TableColumn(++i, "Delete");
this.m_roleNameCol = new TableColumn(i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.role").localize());
this.m_personCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.person").localize());
this.m_editCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.edit").localize());
this.m_delCol = new TableColumn(++i, GenericOrganizationGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.delete").localize());
this.m_moveUpCol = new TableColumn(++i, "");
this.m_moveDownCol = new TableColumn(++i, "");

View File

@ -4,23 +4,98 @@
<xsl:stylesheet
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">
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.GenericOrganization']"
mode="cms:CT_graphics"
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>
<xsl:value-of select="./name"></xsl:value-of>
<xsl:value-of select="./pageDescription"/>
</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 match="cms:item[objectType='com.arsdigita.cms.contenttypes.GenericOrganization']"
mode="cms:CT_text"
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>
<xsl:value-of select="./name"></xsl:value-of>
<xsl:value-of select="./pageDescription"/>
</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: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.PrintListener;
import com.arsdigita.bebop.form.Option;
import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.parameters.DateParameter;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.bebop.util.GlobalizationUtil;
@ -26,8 +24,8 @@ import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.Membership;
import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.cms.contenttypes.MembershipStatusCollection;
import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.domain.DomainObjectFactory;
@ -37,7 +35,6 @@ import com.arsdigita.util.Assert;
import com.arsdigita.util.UncheckedWrapperException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Iterator;
import org.apache.log4j.Logger;
/**
@ -79,24 +76,24 @@ public class MembershipPropertyForm extends FormSection implements FormInitListe
protected void addWidgets() {
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"));
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));
this.m_status = new ChangeableSingleSelect(statusParam);
add(this.m_status);
//MembershipStatusCollection statusValues = MembershipStatusCollection.getMembershipStatusCollection();
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);
//fromParam.addParameterListener(new NotNullValidationListener());
this.m_from = new com.arsdigita.bebop.form.Date(fromParam);
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);
this.m_to = new com.arsdigita.bebop.form.Date(toParam);
add(this.m_to);
@ -119,9 +116,9 @@ public class MembershipPropertyForm extends FormSection implements FormInitListe
public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget();
if (m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("cancel");
target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} 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) {
Submit target = (Submit) e.getTarget();
if (m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save");
target.setButtonLabel(GlobalizationUtil.globalize("save"));
} 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.TextField;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel;
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 org.apache.log4j.Logger;
@ -55,10 +55,10 @@ public class MembershipStatusPropertyForm extends FormSection implements FormIni
protected void addWidgets() {
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.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);
logger.debug("widgets added");
}
@ -72,9 +72,9 @@ public class MembershipStatusPropertyForm extends FormSection implements FormIni
public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget();
if (m_statusModel.isSelected(e.getPageState())) {
target.setButtonLabel("Cancel");
target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} 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) {
Submit target = (Submit) e.getTarget();
if (m_statusModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save");
target.setButtonLabel(GlobalizationUtil.globalize("save"));
} 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.SecurityManager;
import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DataObjectNotFoundException;
import com.arsdigita.domain.DomainObjectFactory;
@ -70,9 +71,9 @@ public class MembershipStatusTable extends Table {
protected void addColumns() {
TableColumnModel model = getColumnModel();
int i = 0;
this.m_statusNameCol = new TableColumn(i, "Status name");
this.m_editCol = new TableColumn(++i, "Edit");
this.m_delCol = new TableColumn(++i, "Delete");
this.m_statusNameCol = new TableColumn(i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membershipstatus.name"));
this.m_editCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membershipstatus.edit"));
this.m_delCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.membershipstatus.delete"));
model.add(this.m_statusNameCol);
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.contenttypes.Membership;
import com.arsdigita.cms.contenttypes.MembershipStatus;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.dispatcher.Utilities;
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);
addTableActionListener(new MembershipTableActionListener());
setRowSelectionModel(m_membershipModel);
@ -75,9 +76,9 @@ public class MembershipTable extends Table {
public void addColumns() {
TableColumnModel model = getColumnModel();
int i = 0;
this.m_personCol = new TableColumn(i, "Person");
this.m_statusCol = new TableColumn(++i, "Status");
this.m_editCol = new TableColumn(++i, "Edit");
this.m_personCol = new TableColumn(i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.person"));
this.m_statusCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.status"));
this.m_editCol = new TableColumn(++i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.edit"));
model.add(this.m_personCol);
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.contenttypes.OrgaUnit2OrgaUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.util.Assert;
import com.arsdigita.util.UncheckedWrapperException;
import org.apache.log4j.Logger;
@ -54,7 +56,7 @@ public class OrgaUnit2OrgaUnitPropertyForm extends FormSection implements FormIn
}
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"));
add(this.m_itemSearch);
}
@ -67,9 +69,9 @@ public class OrgaUnit2OrgaUnitPropertyForm extends FormSection implements FormIn
public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget();
if (m_ou2ouModel.isSelected(e.getPageState())) {
target.setButtonLabel("Cancel");
target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} 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) {
Submit target = (Submit) e.getTarget();
if (m_ou2ouModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save");
target.setButtonLabel(GlobalizationUtil.globalize("save"));
} 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.SecurityManager;
import com.arsdigita.cms.contenttypes.OrgaUnit2OrgaUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.domain.DomainObjectFactory;
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);
addTableActionListener(new OrgaUnit2OrgaUnitTableActionListener());
setRowSelectionModel(this.m_ou2ouModel);
@ -86,9 +87,9 @@ public class OrgaUnit2OrgaUnitTable extends Table {
public void addColumns() {
TableColumnModel model = getColumnModel();
int i = 0;
this.m_orgaUnitCol = new TableColumn(i, "Organizational Unit");
this.m_editCol = new TableColumn(++i, "Edit");
this.m_delCol = new TableColumn(++i, "Delete");
this.m_orgaUnitCol = new TableColumn(i, OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit"));
this.m_editCol = new TableColumn(++i, "cms.contenttypes.ui.organizationalunit.edit");
this.m_delCol = new TableColumn(++i, "cms.contenttypes.ui.organizationalunit.edit.delete");
this.m_moveUpCol = new TableColumn(++i, "");
this.m_moveDownCol = new TableColumn(++i, "");

View File

@ -1,8 +1,8 @@
package com.arsdigita.cms.contenttypes.ui.organizationalunit;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.authoring.WorkflowLockedComponentAccess;
@ -21,7 +21,7 @@ public class OrganizationalUnitChooseAssistentDirectorStep extends SimpleEditSte
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));
}
@ -29,10 +29,10 @@ public class OrganizationalUnitChooseAssistentDirectorStep extends SimpleEditSte
private Component getOrganizationalUnitPropertiesSheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_pre"), "assistentDirection.titlepre");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_givenname"), "assistentDirection.givenname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_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_pre"), "assistentDirection.titlepre");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_givenname"), "assistentDirection.givenname");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_surname"), "assistentDirection.surname");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector_title_post"), "assistentDirection.titlepost");
return sheet;
}

View File

@ -33,6 +33,7 @@ import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.domain.DomainObjectFactory;
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(1, COL_CHOOSE_PERSON));
setEmptyView(new Label("New Persons available."));
setEmptyView(new Label(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.assistentdirector.noPersonsAvailable")));
setModelBuilder(new OrganizationalUnitChooseAssistentDirectorTableModelBuilder());
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) {
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;
}

View File

@ -1,8 +1,8 @@
package com.arsdigita.cms.contenttypes.ui.organizationalunit;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.util.GlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
@ -21,7 +21,7 @@ public class OrganizationalUnitChooseDirectorStep extends SimpleEditStep {
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));
}
@ -29,10 +29,10 @@ public class OrganizationalUnitChooseDirectorStep extends SimpleEditStep {
private Component getOrganizationalUnitPropertiesSheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_pre"), "direction.titlepre");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_givenname"), "direction.givenname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_surname"), "direction.surname");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.director_title_post"), "direction.titlepost");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_title_pre"), "assistentDirection.titlepre");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_givenname"), "assistentDirection.givenname");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_surname"), "assistentDirection.surname");
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizationalunit.director_title_post"), "assistentDirection.titlepost");
return sheet;
}

View File

@ -7,6 +7,7 @@ import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel;
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.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
@ -40,8 +41,8 @@ public class OrganizationalUnitPropertiesStep extends SimpleEditStep {
public static Component getOrganizationalUnitPropertySheet(ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.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.unitname"), OrganizationalUnit.ORGANIZATIONALUNIT_NAME);
sheet.add(OrganizationalUnitGlobalizationUtil.globalize("cms.contenttypes.ui.organizatialunit.unitdescription"), OrganizationalUnit.ORGANIZATIONALUNIT_DESCRIPTION);
if (!ContentSection.getConfig().getHideLaunchDate()) {
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.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.OrganizationalUnit;
import com.arsdigita.cms.contenttypes.OrganizationalUnitGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import org.apache.log4j.Logger;
@ -44,13 +45,13 @@ public class OrganizationalUnitPropertyForm extends BasicPageForm implements For
public void 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);
TextField orgaUnitName = new TextField(orgaUnitNameParam);
orgaUnitName.addValidationListener(new NotNullValidationListener());
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);
description.setRows(5);
description.setCols(30);

View File

@ -4,29 +4,79 @@
<xsl:stylesheet
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">
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.OrganizationalUnit']"
mode="cms:CT_graphics"
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_OrganizationalUnit">
<h2><xsl:value-of select="./organizationalunitName"/></h2>
<p>
<xsl:value-of select="./name" />
<xsl:value-of select="./description" />
<xsl:value-of select="./organizationalunitDescription"/>
</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 match="cms:item[objectType='com.arsdigita.cms.contenttypes.OrganizationalUnit']"
mode="cms:CT_text"
name="cms:CT_text_com_arsdigita_cms_contenttypes_OrganizationalUnit">
<h1>OrgaUnit contenttype</h1>
<p>
<xsl:value-of select="./name" />
<xsl:value-of select="./description" />
</p>
</xsl:template>

View File

@ -45,10 +45,12 @@ public class PersonInitializer extends ContentTypeInitializer {
Person.BASE_DATA_OBJECT_TYPE);
}
@Override
public void init(DomainInitEvent evt) {
super.init(evt);
}
@Override
public String[] getStylesheets() {
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.PageState;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
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.contenttypes.util.PersonGlobalizationUtil;
import com.arsdigita.cms.util.GlobalizationUtil;
import java.text.DateFormat;
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);
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,
new DomainObjectPropertySheet.AttributeFormatter() {
public String format(DomainObject item,
@ -74,7 +74,7 @@ public class PersonPropertiesStep extends SimpleEditStep {
return DateFormat.getDateInstance(DateFormat.LONG).format(page.getLaunchDate());
}
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);
}
public String getStylesheet() {
return "static/content-types/com/arsdigita/cms/contenttypes/ResearchNetwork.xsl";
@Override
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

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.contenttypes.Person;
import com.arsdigita.cms.contenttypes.ResearchNetwork;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.contenttypes.ResearchNetworkMembership;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.util.Assert;
@ -60,7 +61,7 @@ public class ResearchNetworkMembershipPropertyForm extends FormSection implemen
}
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"));
add(this.m_personSearch);
}
@ -73,9 +74,9 @@ public class ResearchNetworkMembershipPropertyForm extends FormSection implemen
public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget();
if (m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("cancel");
target.setButtonLabel(GlobalizationUtil.globalize("cancel"));
} else {
target.setButtonLabel("Reset");
target.setButtonLabel(GlobalizationUtil.globalize("reset"));
}
}
});
@ -85,9 +86,9 @@ public class ResearchNetworkMembershipPropertyForm extends FormSection implemen
public void prepare(PrintEvent e) {
Submit target = (Submit) e.getTarget();
if(m_membershipModel.isSelected(e.getPageState())) {
target.setButtonLabel("Save");
target.setButtonLabel(GlobalizationUtil.globalize("save"));
} 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.SecurityManager;
import com.arsdigita.cms.contenttypes.Person;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.contenttypes.ResearchNetworkMembership;
import com.arsdigita.domain.DataObjectNotFoundException;
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);
addTableActionListener(new ResearchNetworkMembershipTableActionListener());
setRowSelectionModel(m_membershipModel);
@ -71,9 +72,9 @@ public class ResearchNetworkMembershipTable extends Table {
public void addColumns() {
TableColumnModel model = getColumnModel();
this.m_personCol = new TableColumn(0, "Person");
this.m_editCol = new TableColumn(1, "Edit");
this.m_delCol = new TableColumn(2, "Delete");
this.m_personCol = new TableColumn(0, ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.person"));
this.m_editCol = new TableColumn(1, ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.edit"));
this.m_delCol = new TableColumn(2, ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.membership.delete"));
model.add(this.m_personCol);
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.ItemSelectionModel;
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.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
@ -41,11 +42,11 @@ public class ResearchNetworkPropertiesStep extends SimpleEditStep {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
//Display the properties
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.title"), ResearchNetwork.RESEARCHNETWORK_TITLE);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.direction"), ResearchNetwork.RESEARCHNETWORK_DIRECTION);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.coordination"), ResearchNetwork.RESEARCHNETWORK_COORDINATION);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.website"), ResearchNetwork.RESEARCHNETWORK_WEBSITE);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.researchnetwork.direction"), ResearchNetwork.RESEARCHNETWORK_DESCRIPTION);
sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.title"), ResearchNetwork.RESEARCHNETWORK_TITLE);
sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.direction"), ResearchNetwork.RESEARCHNETWORK_DIRECTION);
sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.coordination"), ResearchNetwork.RESEARCHNETWORK_COORDINATION);
sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.website"), ResearchNetwork.RESEARCHNETWORK_WEBSITE);
sheet.add(ResearchNetworkGlobalizationUtil.globalize("cms.contenttypes.researchnetwork.ui.description"), ResearchNetwork.RESEARCHNETWORK_DESCRIPTION);
if (!ContentSection.getConfig().getHideLaunchDate()) {
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.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ResearchNetwork;
import com.arsdigita.cms.contenttypes.ResearchNetworkGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import org.apache.log4j.Logger;
@ -47,30 +48,30 @@ public class ResearchNetworkPropertyForm extends BasicPageForm implements FormPr
public void 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);
TextField researchNetworkTitle = new TextField(researchNetworkTitleParam);
researchNetworkTitle.addValidationListener(new NotNullValidationListener());
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);
researchNetworkDirection.setRows(5);
researchNetworkDirection.setCols(30);
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);
researchNetworkCoordination.setRows(5);
researchNetworkCoordination.setCols(30);
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);
TextField researchNetworkWebsite = new TextField(researchNetworkWebsiteParam);
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);
researchNetworkAreaDescription.setRows(10);
researchNetworkAreaDescription.setCols(30);

View File

@ -4,18 +4,51 @@
<xsl:stylesheet
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">
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.ResearchNetwork']"
mode="cms:CT_graphics"
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_ResearchNetwork">
<h2><xsl:value-of select="./researchNetworkTitle"/></h2>
<p>
<xsl:value-of select="./title" />
<xsl:value-of select="./description" />
<xsl:value-of select="./researchNetworkDirection"/>
</p>
<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']"