Content-Typen ccm-sci-types-department und ccm-sci-types-institute. Die Content-Typen sind von Seiten der DB und des
Content-Centers komplett. Es fehlen noch die ExtraXMLGenerators für die Anzeige. git-svn-id: https://svn.libreccm.org/ccm/trunk@1193 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
79c52a2665
commit
722275e115
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package com.arsdigita.cms.ui.authoring;
|
||||
|
||||
|
||||
import com.arsdigita.bebop.ColumnPanel;
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||
name="ccm-sci-types-department"
|
||||
prettyName="Scientific CMS Department content type"
|
||||
version = "6.6.4"
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.6.3" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.6.4" relation="ge"/>
|
||||
</ccm:dependencies>
|
||||
<ccm:directories>
|
||||
<ccm:directory name="pdl"/>
|
||||
<ccm:directory name="sql"/>
|
||||
<ccm:directory name="src"/>
|
||||
</ccm:directories>s
|
||||
<ccm:contacts>
|
||||
<ccm:contact uri="http://www.scientificcms.org" type="website"/>
|
||||
<ccm:contact uri="mailto:info@scientificcms.org" type="support"/>
|
||||
</ccm:contacts>
|
||||
<ccm:description>
|
||||
Content type for a departments of scientific organizations.
|
||||
</ccm:description>
|
||||
</ccm:application>
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
model com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.kernel.ACSObject;
|
||||
import com.arsdigita.cms.*;
|
||||
|
||||
object type SciDepartment extends GenericOrganizationalUnit {
|
||||
String[0..1] departmentShortDescription = ct_sci_departments.shortdescription VARCHAR(5000);
|
||||
String[0..1] departmentDescription = ct_sci_departments.description CLOB;
|
||||
|
||||
reference key ( ct_sci_departments.department_id );
|
||||
}
|
||||
|
||||
query getIdsOfContactsOfSciDepartment {
|
||||
BigDecimal contactId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_contact_map.contact_id
|
||||
from cms_organizationalunits_contact_map
|
||||
where cms_organizationalunits_contact_map.organizationalunit_id = :department
|
||||
} map {
|
||||
contactId = cms_organizationalunits_contact_map.contact_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfSubDepartmentsOfSciDepartment {
|
||||
BigDecimal departmentId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunit_hierarchy_map.subordinate_orgaunit_id
|
||||
from cms_organizationalunit_hierarchy_map
|
||||
where cms_organizationalunit_hierarchy_map.superior_orgaunit_id = :department
|
||||
and cms_organizationalunit_hierarchy_map.assoc_type = 'subDepartment'
|
||||
} map {
|
||||
departmentId = ct_sciorga_Departments_subDepartments_map.Department_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfMembersOfSciDepartment {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :department
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.person_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfActiveMembersOfSciDepartment {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :department
|
||||
and cms_organizationalunits_person_map.status = 'active'
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.person_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfAssociatedMembersOfSciDepartment {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :department
|
||||
and cms_organizationalunits_person_map.status = 'associated'
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.personId;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfFormerMembersOfSciDepartment {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.cms_persons.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :department
|
||||
and (cms_organizationalunits_person_map.status = 'former' or cms_organizationalunits_person_map.status = 'associatedFormer')
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.personId;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
begin;
|
||||
\i ddl/postgres/create.sql
|
||||
\i ddl/postgres/deferred.sql
|
||||
end;
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<ctd:content-types xmlns:ctd="http://xmlns.redhat.com/cms/content-types"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||
|
||||
<ctd:content-type
|
||||
label="SciDepartment"
|
||||
description="Departments of scientific organizations."
|
||||
objectType="com.arsdigita.cms.contenttypes.SciDepartment"
|
||||
classname="com.arsdigita.cms.contenttypes.SciDepartment">
|
||||
|
||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="sciorganization.ui.department_properties.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.SciDepartmentResources"
|
||||
descriptionKey="sciorganization.ui.department_properties.title"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.SciDepartmentResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.SciDepartmentPropertiesStep"
|
||||
ordering="1"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="sciorganization.ui.department.members"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.SciDepartmentResources"
|
||||
descriptionKey="sciorganization.ui.department.members.description"
|
||||
component="com.arsdigita.cms.contenttypes.ui.SciDepartmentMembersStep"
|
||||
ordering="2"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="sciorganization.ui.department_description.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.SciDepartmentResources"
|
||||
descriptionKey="sciorganization.ui.department_description.title"
|
||||
component="com.arsdigita.cms.contenttypes.ui.SciDepartmentDescriptionStep"
|
||||
ordering="3"/>
|
||||
|
||||
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||
|
||||
</ctd:authoring-kit>
|
||||
|
||||
</ctd:content-type>
|
||||
|
||||
</ctd:content-types>
|
||||
|
|
@ -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.SciDepartment" extends="com.arsdigita.cms.ContentPage">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/departmentDescription"/>
|
||||
</xrd:attributes>
|
||||
<xrd:associations rule="include">
|
||||
<xrd:property name="/object/contacts"/>
|
||||
<xrd:property name="/object/persons"/>
|
||||
</xrd:associations>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
|
||||
</xrd:adapters>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<registry>
|
||||
<config class="com.arsdigita.cms.contenttypes.SciDepartmentConfig"
|
||||
storage="ccm-sci-types-department/scidepartment.properties"/>
|
||||
<!-- <config class="com.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTabConfig"
|
||||
storage="ccm-sci-types-department/summarytab.properties"/> -->
|
||||
</registry>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<load>
|
||||
<requires>
|
||||
<table name="inits"/>
|
||||
<table name="acs_objects"/>
|
||||
<table name="cms_items"/>
|
||||
<initializer class="com.arsdigita.cms.Initializer"/>
|
||||
</requires>
|
||||
<provides>
|
||||
<table name="ct_sci_departments"/>
|
||||
<initializer class="com.arsdigita.cms.contenttypes.SciDepartmentInitializer"/>
|
||||
</provides>
|
||||
<scripts>
|
||||
<schema directory="ccm-sci-types-department"/>
|
||||
<data class="com.arsdigita.cms.contenttypes.SciDepartmentLoader"/>
|
||||
</scripts>
|
||||
</load>
|
||||
|
|
@ -0,0 +1,233 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciDepartmentExtraXmlGenerator;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.persistence.DataQuery;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartment extends GenericOrganizationalUnit {
|
||||
|
||||
public static final String DEPARTMENT_SHORT_DESCRIPTION =
|
||||
"departmentShortDescription";
|
||||
public static final String DEPARTMENT_DESCRIPTION = "departmentDescription";
|
||||
public static final String ROLE_ENUM_NAME = "SciDepartmentRole";
|
||||
public static final String BASE_DATA_OBJECT_TYPE =
|
||||
"com.arsdigita.cms.contenttypes.SciDepartment";
|
||||
private static final SciDepartmentConfig config = new SciDepartmentConfig();
|
||||
|
||||
static {
|
||||
config.load();
|
||||
}
|
||||
|
||||
public SciDepartment() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
public SciDepartment(final BigDecimal id) throws DataObjectNotFoundException {
|
||||
this(new OID(BASE_DATA_OBJECT_TYPE, id));
|
||||
}
|
||||
|
||||
public SciDepartment(final OID oid) throws DataObjectNotFoundException {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
public SciDepartment(final DataObject dataObject) {
|
||||
super(dataObject);
|
||||
}
|
||||
|
||||
public SciDepartment(final String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public static SciDepartmentConfig getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
public String getDepartmentShortDescription() {
|
||||
return (String) get(DEPARTMENT_SHORT_DESCRIPTION);
|
||||
}
|
||||
|
||||
public void setDepartmentShortDescription(final String shortDesc) {
|
||||
set(DEPARTMENT_SHORT_DESCRIPTION, shortDesc);
|
||||
}
|
||||
|
||||
public String getDepartmentDescription() {
|
||||
return (String) get(DEPARTMENT_DESCRIPTION);
|
||||
}
|
||||
|
||||
public void setDepartmentDescription(final String description) {
|
||||
set(DEPARTMENT_DESCRIPTION, description);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasContacts() {
|
||||
boolean result = false;
|
||||
|
||||
final DataQuery query =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfContactsOfSciDepartment");
|
||||
query.setParameter("project", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
result = true;
|
||||
} else {
|
||||
result = false;
|
||||
}
|
||||
|
||||
query.close();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean hasMembers(final boolean merge,
|
||||
final SciDepartmentMemberStatus status) {
|
||||
String queryName;
|
||||
|
||||
switch (status) {
|
||||
case ALL:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciDepartment";
|
||||
break;
|
||||
case ACTIVE:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciDepartment";
|
||||
break;
|
||||
case ASSOCIATED:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfSciDepartment";
|
||||
break;
|
||||
case FORMER:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciDepartment";
|
||||
break;
|
||||
default:
|
||||
queryName = "";
|
||||
break;
|
||||
}
|
||||
|
||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||
queryName);
|
||||
query.setParameter("department", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
query.close();
|
||||
return true;
|
||||
} else {
|
||||
if (merge) {
|
||||
query.close();
|
||||
DataQuery departmentsQuery =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfSubDepartmentsOfSciDepartment");
|
||||
departmentsQuery.setParameter("department", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
BigDecimal departmentId;
|
||||
boolean result = false;
|
||||
while (departmentsQuery.next()) {
|
||||
departmentId = (BigDecimal) departmentsQuery.get(
|
||||
"departmentId");
|
||||
result = hasMembers(departmentId, merge, status);
|
||||
|
||||
if (result) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
departmentsQuery.close();
|
||||
return result;
|
||||
} else {
|
||||
departmentsQuery.close();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
query.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasMembers(final BigDecimal departmentId,
|
||||
final boolean merge,
|
||||
final SciDepartmentMemberStatus status) {
|
||||
String queryName;
|
||||
|
||||
switch (status) {
|
||||
case ALL:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciDepartment";
|
||||
break;
|
||||
case ACTIVE:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciDepartment";
|
||||
break;
|
||||
case ASSOCIATED:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfDepartment";
|
||||
break;
|
||||
case FORMER:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciDepartment";
|
||||
break;
|
||||
default:
|
||||
queryName = "";
|
||||
break;
|
||||
}
|
||||
|
||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||
queryName);
|
||||
query.setParameter("department", departmentId);
|
||||
|
||||
if (query.size() > 0) {
|
||||
query.close();
|
||||
return true;
|
||||
} else {
|
||||
if (merge) {
|
||||
query.close();
|
||||
DataQuery subDepartmentsQuery =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfSubDepartmentsOfSciDepartment");
|
||||
subDepartmentsQuery.setParameter("department", departmentId);
|
||||
|
||||
if (query.size() > 0) {
|
||||
BigDecimal subdepartmentId;
|
||||
boolean result = false;
|
||||
while (subDepartmentsQuery.next()) {
|
||||
subdepartmentId = (BigDecimal) subDepartmentsQuery.get(
|
||||
"departmentId");
|
||||
result = hasMembers(subdepartmentId, merge, status);
|
||||
|
||||
if (result) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
subDepartmentsQuery.close();
|
||||
return result;
|
||||
} else {
|
||||
subDepartmentsQuery.close();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
query.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
||||
final List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
||||
generators.add(new SciDepartmentExtraXmlGenerator());
|
||||
return generators;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.runtime.AbstractConfig;
|
||||
import com.arsdigita.util.parameter.BooleanParameter;
|
||||
import com.arsdigita.util.parameter.IntegerParameter;
|
||||
import com.arsdigita.util.parameter.Parameter;
|
||||
import com.arsdigita.util.parameter.StringParameter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentConfig extends AbstractConfig {
|
||||
|
||||
private final Parameter enableSubDepartmentsStep;
|
||||
private final Parameter enableSuperDepartmentsStep;
|
||||
private final Parameter enableProjectsStep;
|
||||
private final Parameter enableProjectDepartmentsStep;
|
||||
private final Parameter shortDescMaxLength;
|
||||
private final Parameter enableDescriptionDhtml;
|
||||
private final Parameter permittedPersonType;
|
||||
private final Parameter tabs;
|
||||
|
||||
public SciDepartmentConfig() {
|
||||
|
||||
enableSubDepartmentsStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
enableSuperDepartmentsStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
enableProjectsStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
enableProjectDepartmentsStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
shortDescMaxLength =
|
||||
new IntegerParameter(
|
||||
"com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length",
|
||||
Parameter.REQUIRED,
|
||||
500);
|
||||
|
||||
enableDescriptionDhtml =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
permittedPersonType =
|
||||
new StringParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciproject.permitted_person_type",
|
||||
Parameter.REQUIRED,
|
||||
"com.arsdigita.cms.contenttypes.GenericPerson");
|
||||
|
||||
tabs =
|
||||
new StringParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciproject.tabs",
|
||||
Parameter.REQUIRED,
|
||||
"summary:com.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTab");
|
||||
|
||||
register(enableSubDepartmentsStep);
|
||||
register(enableSuperDepartmentsStep);
|
||||
register(enableProjectsStep);
|
||||
register(enableProjectDepartmentsStep);
|
||||
register(shortDescMaxLength);
|
||||
register(enableDescriptionDhtml);
|
||||
register(permittedPersonType);
|
||||
register(tabs);
|
||||
|
||||
loadInfo();
|
||||
}
|
||||
|
||||
public final Boolean getEnableSubDepartmentsStep() {
|
||||
return (Boolean) get(enableSubDepartmentsStep);
|
||||
}
|
||||
|
||||
public final Boolean getEnableSuperDepartmentsStep() {
|
||||
return (Boolean) get(enableSuperDepartmentsStep);
|
||||
}
|
||||
|
||||
public final Boolean getEnableProjectsStep() {
|
||||
return (Boolean) get(enableProjectsStep);
|
||||
}
|
||||
|
||||
public final Boolean getEnableProjectDepartmentsStep() {
|
||||
return (Boolean) get(enableProjectDepartmentsStep);
|
||||
}
|
||||
|
||||
public Integer getShortDescMaxLength() {
|
||||
return (Integer) get(shortDescMaxLength);
|
||||
}
|
||||
|
||||
public Boolean getEnableDescriptionDhtml() {
|
||||
return (Boolean) get(enableDescriptionDhtml);
|
||||
}
|
||||
|
||||
public final String getPermittedPersonType() {
|
||||
return (String) get(permittedPersonType);
|
||||
}
|
||||
|
||||
public final String getTabs() {
|
||||
return (String) get(tabs);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step.title = Show authoring step for subordinate departments?
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step.purpose = Enables authoring step for adding subordinate departments to a department
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step.example = false
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.subdepartments_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step.title = Show authoring step for superior departments?
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step.purpose = Enables authoring step for adding superior departments to a department
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step.example = false
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.super_departments_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step.title = Show authoring step for adding projects (if ccm-sci-types-project is installed?)
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step.purpose = Enables authoring step for adding projects to a department. Only useful if ccm-sci-types-project is installed.
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step.example = false
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.projects_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step.title = Add a departments step to ccm-sci-types-project
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step.purpose = If ccm-sci-types-project is installed an authoring step for associating a department with a project can be attached to the authoring steps of SciProject
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step.example = false
|
||||
com.arsdigita.cms.contenttypes.scidepartment.enable.project_departments_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length.title = Short description maximum length
|
||||
com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length.purpose = Restricts the max length of the short description of a department. Maximum possible value: 5000
|
||||
com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length.example = 500
|
||||
com.arsdigita.cms.contenttypes.scidepartment.short_desc.max_length.format = [Integer]
|
||||
|
||||
com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable.title = Enables the DHTML editor for the description
|
||||
com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable.purpose = Enables the DHTML editor for the description
|
||||
com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable.example = true
|
||||
com.arsdigita.cms.contenttypes.scidepartment.description.dhtml_enable.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciproject.permitted_person_type.title = Permitted person type for members of the department
|
||||
com.arsdigita.cms.contenttypes.sciproject.permitted_person_type.purpose = Restrict the selectable persons for adding as member to a subtype of GenericPerson
|
||||
com.arsdigita.cms.contenttypes.sciproject.permitted_person_type.example = com.arsdigita.cms.contenttypes.GenericPerson
|
||||
com.arsdigita.cms.contenttypes.sciproject.permitted_person_type.format = [String]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciproject.tabs.title = Tabs for SciDepartment detail view
|
||||
com.arsdigita.cms.contenttypes.sciproject.tabs.purpose = Defines which tabs are shown in the detail view of a SciDepartment
|
||||
com.arsdigita.cms.contenttypes.sciproject.tabs.example = summary:coma.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTab;members:SciDepartmentMembersTab
|
||||
com.arsdigita.cms.contenttypes.sciproject.tabs.format = [String]
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.ContentTypeCollection;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciDepartmentGlobalizationUtil;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciDepartmentProjectsStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciDepartmentSubDepartmentsStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciDepartmentSuperDepartmentsStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciProjectDepartmentsStep;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.runtime.DomainInitEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentInitializer extends ContentTypeInitializer {
|
||||
|
||||
public SciDepartmentInitializer() {
|
||||
super("ccm-sci-types-department.pdl.mf",
|
||||
SciDepartment.BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final DomainInitEvent event) {
|
||||
super.init(event);
|
||||
|
||||
final SciDepartmentConfig config = SciDepartment.getConfig();
|
||||
|
||||
if (config.getEnableSubDepartmentsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciDepartment.BASE_DATA_OBJECT_TYPE,
|
||||
SciDepartmentSubDepartmentsStep.class,
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.title"),
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.description"),
|
||||
10);
|
||||
}
|
||||
|
||||
if (config.getEnableSuperDepartmentsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciDepartment.BASE_DATA_OBJECT_TYPE,
|
||||
SciDepartmentSuperDepartmentsStep.class,
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.title"),
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.description"),
|
||||
20);
|
||||
}
|
||||
|
||||
final ContentTypeCollection contentTypes = ContentType.
|
||||
getAllContentTypes();
|
||||
contentTypes.addFilter(
|
||||
"associatedObjectType = 'com.arsdigita.cms.contenttypes.SciProject'");
|
||||
|
||||
if (contentTypes.size() > 0) {
|
||||
if (config.getEnableProjectsStep()) {
|
||||
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciDepartment.BASE_DATA_OBJECT_TYPE,
|
||||
SciDepartmentProjectsStep.class,
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.title"),
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.description"),
|
||||
30);
|
||||
}
|
||||
|
||||
if (config.getEnableProjectDepartmentsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
"com.arsdigita.cms.contenttypes.SciProject",
|
||||
SciProjectDepartmentsStep.class,
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.title"),
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.description"),
|
||||
40);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getStylesheets() {
|
||||
return new String[]{
|
||||
"/static/content-types/com/arsdigita/cms/contenttypes/SciDepartment.xsl"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTraversalXML() {
|
||||
return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciDepartment.xml";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentLoader extends AbstractContentTypeLoader {
|
||||
|
||||
public SciDepartmentLoader() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getTypes() {
|
||||
return new String[]{
|
||||
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/SciDepartment.xml"};
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public enum SciDepartmentMemberStatus {
|
||||
|
||||
ALL,
|
||||
ACTIVE,
|
||||
ASSOCIATED,
|
||||
FORMER
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.event.FormInitListener;
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartmentConfig;
|
||||
import com.arsdigita.cms.ui.CMSDHTMLEditor;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentDescriptionEditForm
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener,
|
||||
FormInitListener {
|
||||
|
||||
private final static SciDepartmentConfig config = SciDepartment.getConfig();
|
||||
|
||||
public SciDepartmentDescriptionEditForm(final ItemSelectionModel itemModel) {
|
||||
super("SciDepartmentDescriptionEditForm", itemModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
add(new Label(SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.description")));
|
||||
final ParameterModel descParam = new StringParameter(
|
||||
SciDepartment.DEPARTMENT_DESCRIPTION);
|
||||
final TextArea desc;
|
||||
if (config.getEnableDescriptionDhtml()) {
|
||||
desc = new CMSDHTMLEditor(descParam);
|
||||
} else {
|
||||
desc = new TextArea(descParam);
|
||||
}
|
||||
desc.setCols(75);
|
||||
desc.setRows(25);
|
||||
add(desc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final SciDepartment department = (SciDepartment) getItemSelectionModel().
|
||||
getSelectedObject(state);
|
||||
|
||||
data.put(SciDepartment.DEPARTMENT_DESCRIPTION, department.
|
||||
getDepartmentDescription());
|
||||
|
||||
setVisible(state, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final SciDepartment department = (SciDepartment) getItemSelectionModel().
|
||||
getSelectedObject(state);
|
||||
|
||||
if ((department != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
department.setDepartmentDescription((String) data.get(
|
||||
SciDepartment.DEPARTMENT_DESCRIPTION));
|
||||
|
||||
department.save();
|
||||
}
|
||||
|
||||
init(fse);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentDescriptionStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_DEPARTMENT_DESC_SHEET_NAME = "editDepartmentDesc";
|
||||
private String UPDATE_DEPARTMENT_DESC_SHEET_NAME = "updateDepartmentDesc";
|
||||
|
||||
public SciDepartmentDescriptionStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciDepartmentDescriptionStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm editDescFrom = new SciDepartmentDescriptionEditForm(
|
||||
itemModel);
|
||||
add(EDIT_DEPARTMENT_DESC_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.desc.edit").localize(),
|
||||
new WorkflowLockedComponentAccess(editDescFrom, itemModel),
|
||||
editDescFrom.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final SciDepartmentDescriptionUploadForm updateDescForm =
|
||||
new SciDepartmentDescriptionUploadForm(
|
||||
itemModel);
|
||||
add(UPDATE_DEPARTMENT_DESC_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.desc.upload").localize(),
|
||||
new WorkflowLockedComponentAccess(updateDescForm, itemModel),
|
||||
updateDescForm.getSaveCancelSection().getCancelButton());
|
||||
|
||||
setDisplayComponent(getSciDepartmentEditDescSheet(itemModel));
|
||||
}
|
||||
|
||||
public static Component getSciDepartmentEditDescSheet(
|
||||
final ItemSelectionModel itemModel) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel);
|
||||
|
||||
sheet.add(SciDepartmentGlobalizationUtil.globalize("scidepartment.ui.desc"),
|
||||
SciDepartment.DEPARTMENT_DESCRIPTION);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentDescriptionUploadForm extends AbstractTextUploadForm {
|
||||
|
||||
public SciDepartmentDescriptionUploadForm(
|
||||
final ItemSelectionModel itemModel) {
|
||||
super(itemModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GlobalizedMessage getLabelText() {
|
||||
return SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.description.upload");
|
||||
}
|
||||
|
||||
@Override
|
||||
public GlobalizedMessage getMimeTypeLabel() {
|
||||
return SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.description.upload.mimetype");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setText(final ItemSelectionModel itemModel,
|
||||
final PageState state,
|
||||
final String text) {
|
||||
final SciDepartment department = (SciDepartment) itemModel.
|
||||
getSelectedObject(state);
|
||||
department.setDepartmentShortDescription(text);
|
||||
department.save();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentExtraXmlGenerator implements ExtraXMLGenerator {
|
||||
|
||||
public void generateXML(ContentItem item, Element element, PageState state) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void addGlobalStateParams(Page p) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentGlobalizationUtil {
|
||||
|
||||
public static final String BUNDLE_NAME =
|
||||
"com.arsdigita.cms.contenttypes.ui.SciDepartmentResources";
|
||||
|
||||
public static GlobalizedMessage globalize(final String key) {
|
||||
return new GlobalizedMessage(key, BUNDLE_NAME);
|
||||
}
|
||||
|
||||
public static GlobalizedMessage globalize(final String key,
|
||||
final Object[] args) {
|
||||
return new GlobalizedMessage(key, BUNDLE_NAME, args);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentMemberAddForm
|
||||
extends GenericOrganizationalUnitPersonAddForm {
|
||||
|
||||
private final Logger logger = Logger.getLogger(
|
||||
SciDepartmentMemberAddForm.class);
|
||||
|
||||
public SciDepartmentMemberAddForm(
|
||||
final ItemSelectionModel itemModel,
|
||||
final GenericOrganizationalUnitPersonSelector personSelector) {
|
||||
super(itemModel, personSelector);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getPersonType() {
|
||||
String personType = SciDepartment.getConfig().getPermittedPersonType();
|
||||
|
||||
try {
|
||||
ContentType.findByAssociatedObjectType(personType);
|
||||
} catch (DataObjectNotFoundException ex) {
|
||||
logger.error(String.format("No content type for object type '%s'. "
|
||||
+ "Falling back to '%s'.",
|
||||
personType,
|
||||
GenericPerson.class.getName()),
|
||||
ex);
|
||||
personType = GenericPerson.class.getName();
|
||||
}
|
||||
|
||||
return personType;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getRoleAttributeName() {
|
||||
return SciDepartment.ROLE_ENUM_NAME;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentMemberTable
|
||||
extends GenericOrganizationalUnitPersonsTable {
|
||||
|
||||
public SciDepartmentMemberTable(final ItemSelectionModel itemModel,
|
||||
final GenericOrganizationalUnitPersonSelector personSelector) {
|
||||
super(itemModel, personSelector);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRoleAttributeName() {
|
||||
return SciDepartment.ROLE_ENUM_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentMembersStep
|
||||
extends SimpleEditStep
|
||||
implements GenericOrganizationalUnitPersonSelector {
|
||||
|
||||
private static final String ADD_DEPARTMENT_MEMBER_SHEET_NAME =
|
||||
"SciDepartmentAddMember";
|
||||
private GenericPerson selectedPerson;
|
||||
private String selectedPersonRole;
|
||||
private String selectedPersonStatus;
|
||||
|
||||
public SciDepartmentMembersStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciDepartmentMembersStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addMemberSheet = new SciDepartmentMemberAddForm(
|
||||
itemModel, this);
|
||||
add(ADD_DEPARTMENT_MEMBER_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.members.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addMemberSheet, itemModel),
|
||||
addMemberSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final SciDepartmentMemberTable memberTable =
|
||||
new SciDepartmentMemberTable(
|
||||
itemModel, this);
|
||||
setDisplayComponent(memberTable);
|
||||
}
|
||||
|
||||
public GenericPerson getSelectedPerson() {
|
||||
return selectedPerson;
|
||||
}
|
||||
|
||||
public void setSelectedPerson(final GenericPerson selectedPerson) {
|
||||
this.selectedPerson = selectedPerson;
|
||||
}
|
||||
|
||||
public String getSelectedPersonRole() {
|
||||
return selectedPersonRole;
|
||||
}
|
||||
|
||||
public void setSelectedPersonRole(final String selectedPersonRole) {
|
||||
this.selectedPersonRole = selectedPersonRole;
|
||||
}
|
||||
|
||||
public String getSelectedPersonStatus() {
|
||||
return selectedPersonStatus;
|
||||
}
|
||||
|
||||
public void setSelectedPersonStatus(final String selectedPersonStatus) {
|
||||
this.selectedPersonStatus = selectedPersonStatus;
|
||||
}
|
||||
|
||||
public void showEditComponent(final PageState state) {
|
||||
showComponent(state, ADD_DEPARTMENT_MEMBER_SHEET_NAME);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentProjectsStep extends SimpleEditStep {
|
||||
|
||||
private String ADD_PROJECT_SHEET_NAME = "SciDepartmentAddProject";
|
||||
public final static String ASSOC_TYPE = "ProjectOf";
|
||||
|
||||
public SciDepartmentProjectsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciDepartmentProjectsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addProjectSheet =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSubordinateOrgaUnitLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.select").localize();
|
||||
}
|
||||
|
||||
public String getSubordinateOrgaUnitType() {
|
||||
return "com.arsdigita.cms.contenttypes.SciProject";
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.no_suitable_language_variant").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
add(ADD_PROJECT_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addProjectSheet, itemModel),
|
||||
addProjectSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSubordinateOrgaUnitsTable projectsTable =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.empty_view").localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.columns.name").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.columns.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.columns.up").localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.columns.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.projects.delete.confirm").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(projectsTable);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentPropertiesStep
|
||||
extends GenericOrganizationalUnitPropertiesStep {
|
||||
|
||||
public SciDepartmentPropertiesStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
super(itemModel, parent);
|
||||
}
|
||||
|
||||
public static Component getSciDepartmentPropertySheet(
|
||||
final ItemSelectionModel itemModel) {
|
||||
|
||||
final DomainObjectPropertySheet sheet =
|
||||
(DomainObjectPropertySheet) GenericOrganizationalUnitPropertiesStep.
|
||||
getGenericOrganizationalUnitPropertySheet(itemModel);
|
||||
|
||||
sheet.add(SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.shortdesc"),
|
||||
SciDepartment.DEPARTMENT_SHORT_DESCRIPTION);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBasicProperties(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
|
||||
final SimpleEditStep basicProperties =
|
||||
new SimpleEditStep(itemModel,
|
||||
parent,
|
||||
EDIT_SHEET_NAME);
|
||||
|
||||
final BasicPageForm editBasicSheet = new SciDepartmentPropertyForm(
|
||||
itemModel, this);
|
||||
|
||||
basicProperties.add(EDIT_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.edit_basic_sheet").localize(),
|
||||
new WorkflowLockedComponentAccess(editBasicSheet,
|
||||
itemModel),
|
||||
editBasicSheet.getSaveCancelSection().
|
||||
getCancelButton());
|
||||
|
||||
basicProperties.setDisplayComponent(getSciDepartmentPropertySheet(
|
||||
itemModel));
|
||||
|
||||
getSegmentedPanel().addSegment(
|
||||
new Label((String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.edit_basic_properties").localize()),
|
||||
basicProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addSteps(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel,
|
||||
parent),
|
||||
SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.contacts"));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.event.FormInitListener;
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartmentConfig;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentPropertyForm
|
||||
extends GenericOrganizationalUnitPropertyForm
|
||||
implements FormProcessListener,
|
||||
FormInitListener,
|
||||
FormSubmissionListener {
|
||||
|
||||
public final static String ID = "SciDepartmentEdit";
|
||||
private final static SciDepartmentConfig config = SciDepartment.getConfig();
|
||||
|
||||
public SciDepartmentPropertyForm(final ItemSelectionModel itemModel) {
|
||||
this(itemModel, null);
|
||||
}
|
||||
|
||||
public SciDepartmentPropertyForm(final ItemSelectionModel itemModel,
|
||||
final SciDepartmentPropertiesStep step) {
|
||||
super(itemModel, step);
|
||||
addSubmissionListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
super.addWidgets();
|
||||
|
||||
add(new Label(SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.shortdesc")));
|
||||
ParameterModel shortDescParam = new StringParameter(
|
||||
SciDepartment.DEPARTMENT_SHORT_DESCRIPTION);
|
||||
TextArea shortDesc = new TextArea(shortDescParam);
|
||||
shortDesc.addValidationListener(
|
||||
new StringInRangeValidationListener(0,
|
||||
config.getShortDescMaxLength()));
|
||||
shortDesc.setCols(75);
|
||||
shortDesc.setRows(5);
|
||||
add(shortDesc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
super.init(fse);
|
||||
|
||||
final FormData data = fse.getFormData();
|
||||
final SciDepartment department = (SciDepartment) super.initBasicWidgets(
|
||||
fse);
|
||||
|
||||
data.put(SciDepartment.DEPARTMENT_SHORT_DESCRIPTION,
|
||||
department.getDepartmentShortDescription());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent fse) throws FormProcessException {
|
||||
super.process(fse);
|
||||
|
||||
final FormData data = fse.getFormData();
|
||||
final PageState state = fse.getPageState();
|
||||
final SciDepartment department = (SciDepartment) super.
|
||||
processBasicWidgets(fse);
|
||||
|
||||
if ((department != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
department.setDepartmentShortDescription((String) data.get(
|
||||
SciDepartment.DEPARTMENT_SHORT_DESCRIPTION));
|
||||
|
||||
department.save();
|
||||
}
|
||||
|
||||
init(fse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTitleLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.title").localize();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
sciorganization.ui.department_properties.title=Basic Properties
|
||||
sciorganization.ui.department.members=Members
|
||||
sciorganization.ui.department.members.description=Manages the members of the department
|
||||
sciorganization.ui.department_description.title=Description
|
||||
scidepartment.ui.shortdesc=Short description
|
||||
scidepartment.ui.title=Title of department
|
||||
scidepartment.ui.edit_basic_sheet=Edit basic properties
|
||||
scidepartment.ui.edit_basic_properties=Edit basic properties
|
||||
scidepartment.ui.contacts=Kontakte
|
||||
scidepartment.ui.description.upload=Upload description
|
||||
scidepartment.ui.description.upload.mimetype=File type
|
||||
scidepartment.ui.description=Description
|
||||
scidepartment.ui.desc.edit=Edit description
|
||||
scidepartment.ui.desc.upload=Upload description
|
||||
scidepartment.ui.desc=Description
|
||||
scidepartment.ui.subdepartment.select=Select subordinate department
|
||||
scidepartment.ui.subdepartment.select.nothing=No department to add selected.
|
||||
scidepartment.ui.subdepartment.no_suitable_languge_variant=The department item selected has no suitable language variant.
|
||||
scidepartment.ui.subdepartment.adding_to_itself=It is not possible to add a department to itself as as subordinate department.
|
||||
scidepartment.ui.subdepartment.already_added=The selected department has already been added to this department as a subdepartment.
|
||||
scidepartment.ui.subdepartment.add=Add a subordinate department
|
||||
scidepartment.ui.subdepartments.empty_view=No subordinate departments
|
||||
scidepartment.ui.subdepartments.columns.name=Name of the subordinate department
|
||||
scidepartment.ui.subdepartments.columns.delete=Remove
|
||||
scidepartment.ui.subdepartments.columns.up=Up
|
||||
scidepartment.ui.subdepartments.columns.down=Down
|
||||
scidepartment.ui.subdepartments.delete=Remove
|
||||
scidepartment.ui.subdepartments.up=Up
|
||||
scidepartment.ui.subdepartments.down=Down
|
||||
scidepartment.ui.subdepartments.delete.confirm=Are you sure to remove the selected subordinate department?
|
||||
scidepartment.ui.superdepartment.select=Select superior department
|
||||
scidepartment.ui.superdepartment.select.nothing=No department selected.
|
||||
scidepartment.ui.superdepartment.no_suitable_language_variant=The selected department has no suitable language variant.
|
||||
scidepartment.ui.superdepartment.adding_to_itself=It is not possible to add a department to itself as superior department.
|
||||
scidepartment.ui.superdepartment.already_added=The selected department is already a superior department of this department.
|
||||
scidepartment.ui.superdepartments.empty_view=No superior departments
|
||||
scidepartment.ui.superdepartments.columns.name=Name of superior department
|
||||
scidepartment.ui.superdepartments.columns.delete=Remove
|
||||
scidepartment.ui.superdepartments.columns.up=Up
|
||||
scidepartment.ui.superdepartments.columns.down=Down
|
||||
scidepartment.ui.superdepartments.delete=Remove
|
||||
scidepartment.ui.superdepartments.up=Up
|
||||
scidepartment.ui.superdepartments.down=Down
|
||||
scidepartment.ui.superdepartments.delete.confirm=Are sure to remove the selected superior department?
|
||||
scidepartment.ui.superdepartments.title=Superior departments
|
||||
scidepartment.ui.subdepartments.title=Subordinate departments
|
||||
scidepartment.ui.subdepartments.description=Manage the subordinate departments of this department
|
||||
scidepartment.ui.superdepartments.description=Superior departments
|
||||
scidepartment.ui.projects.select=Select project to add
|
||||
scidepartment.ui.projects.select.nothing=No project selected.
|
||||
scidepartment.ui.projects.no_suitable_language_variant=The selected project has no suitable language variant.
|
||||
scidepartment.ui.projects.adding_to_itself=Strange error. Contact the system administrator.
|
||||
scidepartment.ui.projects.already_added=The selected project has already been added to the projects of this department.
|
||||
scidepartment.ui.projects.add=Add project
|
||||
scidepartment.ui.projects.empty_view=No projects
|
||||
scidepartment.ui.projects.columns.name=Title of the project
|
||||
scidepartment.ui.projects.columns.delete=Remove
|
||||
scidepartment.ui.projects.columns.up=Up
|
||||
scidepartment.ui.projects.columns.down=Down
|
||||
scidepartment.ui.projects.delete=Remove
|
||||
scidepartment.ui.projects.up=Up
|
||||
scidepartment.ui.projects.down=Runter
|
||||
scidepartment.ui.projects.delete.confirm=Are you sure to remove the selected project from the list of projects of this department?
|
||||
scidepartment.ui.projects.title=Projects
|
||||
scidepartment.ui.projects.description=Manage the projects of this department
|
||||
sciproject.ui.department.select=Select department
|
||||
sciproject.ui.department.select.nothing=No department selected
|
||||
sciproject.ui.department.no_suitable_language_variant=The selected department has no suitable language variant.
|
||||
sciproject.ui.department.adding_to_itself=Strange error. Please contact your system administrator.
|
||||
sciproject.ui.department.already_added=This project has already been added to the projects of the selected department.
|
||||
sciproject.ui.department.add=Add department
|
||||
sciproject.ui.departments.empty_view=No departments
|
||||
sciproject.ui.departments.columns.name=Name of the department
|
||||
sciproject.ui.departments.columns.delete=Remove
|
||||
sciproject.ui.departments.columns.up=Up
|
||||
sciproject.ui.departments.columns.down=Down
|
||||
sciproject.ui.departments.delete=Remove
|
||||
sciproject.ui.departments.up=Up
|
||||
sciproject.ui.departments.down=Down
|
||||
sciproject.ui.departments.delete.confirm=Are you that you want to remove this project from the list of projects of the selected department.
|
||||
sciproject.ui.departments.title=Involved departments
|
||||
sciproject.ui.departments.description=Add this project to the projects of a department
|
||||
scidepartment.ui.members.add=Add member
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
sciorganization.ui.department_properties.title=Basiseigenschaften
|
||||
sciorganization.ui.department.members=Mitglieder
|
||||
sciorganization.ui.department.members.description=Mitglieder verwalten
|
||||
sciorganization.ui.department_description.title=Beschreibung
|
||||
scidepartment.ui.shortdesc=Kurzbeschreibung
|
||||
scidepartment.ui.title=Name (Titel) der Abteilung
|
||||
scidepartment.ui.edit_basic_sheet=Basiseigenschaften bearbeiten
|
||||
scidepartment.ui.edit_basic_properties=Basiseigenschaften bearbeiten
|
||||
scidepartment.ui.contacts=Contacts
|
||||
scidepartment.ui.description.upload=Beschreibung hochladen
|
||||
scidepartment.ui.description.upload.mimetype=Dateityp
|
||||
scidepartment.ui.description=Beschreibung
|
||||
scidepartment.ui.desc.edit=Beschreibung bearbeiten
|
||||
scidepartment.ui.desc.upload=Beschreibung hochladen
|
||||
scidepartment.ui.desc=Beschreibung
|
||||
scidepartment.ui.subdepartment.select=Unterabteilung ausw\u00e4hlen
|
||||
scidepartment.ui.subdepartment.select.nothing=Keine Abteilung zu hinzuf\u00fcgen ausgew\u00e4hlt.
|
||||
scidepartment.ui.subdepartment.no_suitable_languge_variant=Die ausgew\u00e4hlte Abteilung hat keine passende Sprachvariante.
|
||||
scidepartment.ui.subdepartment.adding_to_itself=Eine Abteilung kann nicht sich selbst als Unterabteilung zugeordnet werden
|
||||
scidepartment.ui.subdepartment.already_added=Die ausgew\u00e4hlte Abteilung wurde der aktuellen Abteilung bereits als Unterabteilung hinzugef\u00fcgt.
|
||||
scidepartment.ui.subdepartment.add=Unterabteilung hinzuf\u00fcgen
|
||||
scidepartment.ui.subdepartments.empty_view=Keine Unterabteilungen
|
||||
scidepartment.ui.subdepartments.columns.name=Name der Unterabteilung
|
||||
scidepartment.ui.subdepartments.columns.delete=Entfernen
|
||||
scidepartment.ui.subdepartments.columns.up=Hoch
|
||||
scidepartment.ui.subdepartments.columns.down=Runter
|
||||
scidepartment.ui.subdepartments.delete=Entfernen
|
||||
scidepartment.ui.subdepartments.up=Hoch
|
||||
scidepartment.ui.subdepartments.down=Runter
|
||||
scidepartment.ui.subdepartments.delete.confirm=Sind Sie sicher, dass Sie die ausgew\u00e4hlte Unterabteilung entfernen wollen?
|
||||
scidepartment.ui.superdepartment.select=\u00dcbergeordnete Abteilung w\u00e4hlen
|
||||
scidepartment.ui.superdepartment.select.nothing=Keine Abteilung ausgew\u00e4hlt.
|
||||
scidepartment.ui.superdepartment.no_suitable_language_variant=Die ausgew\u00e4hlte Abteilung hat keine passende Sprachvariante.
|
||||
scidepartment.ui.superdepartment.adding_to_itself=Eine Abteilung kann nich sich selbst als \u00fcbergeordnete Abteilung zugewiesen werden.
|
||||
scidepartment.ui.superdepartment.already_added=Die ausgew\u00e4hlte Abteilung ist bereits eine \u00fcbergeordnete Abteilung dieser Abteilung.
|
||||
scidepartment.ui.superdepartments.empty_view=Keine \u00fcbergeordneten Abteilungen
|
||||
scidepartment.ui.superdepartments.columns.name=Name der \u00fcbergeordneten Abteilung
|
||||
scidepartment.ui.superdepartments.columns.delete=Entfernen
|
||||
scidepartment.ui.superdepartments.columns.up=Hoch
|
||||
scidepartment.ui.superdepartments.columns.down=Runter
|
||||
scidepartment.ui.superdepartments.delete=Entfernen
|
||||
scidepartment.ui.superdepartments.up=Hoch
|
||||
scidepartment.ui.superdepartments.down=Runter
|
||||
scidepartment.ui.superdepartments.delete.confirm=Sind Sie sicher, dass Sie die ausgew\u00e4hlte \u00fcbergeordnete Abteilung entfernen wollen?
|
||||
scidepartment.ui.superdepartments.title=\u00dcbergeordnete Abteilungen
|
||||
scidepartment.ui.subdepartments.title=Unterabteilungen
|
||||
scidepartment.ui.subdepartments.description=Verwalten der Unterabteilungen dieser Abteilung
|
||||
scidepartment.ui.superdepartments.description=\u00dcbergeordnete Abteilungen
|
||||
scidepartment.ui.projects.select=Projekt ausw\u00e4hlen
|
||||
scidepartment.ui.projects.select.nothing=Kein Projekt ausgew\u00e4hlt.
|
||||
scidepartment.ui.projects.no_suitable_language_variant=Das ausgew\u00e4hlte Projekt hat keine passende Sprachvariante.
|
||||
scidepartment.ui.projects.adding_to_itself=Fehler. Bitte den Systemadminstrator kontaktieren.
|
||||
scidepartment.ui.projects.already_added=Das ausgew\u00e4hlte Projekt wurde den Projekten dieser Abteilung bereits hinzugef\u00fcgt.
|
||||
scidepartment.ui.projects.add=Projekt hinzuf\u00fcgen
|
||||
scidepartment.ui.projects.empty_view=Keine Projekte
|
||||
scidepartment.ui.projects.columns.name=Titel des Projektes
|
||||
scidepartment.ui.projects.columns.delete=Entfernen
|
||||
scidepartment.ui.projects.columns.up=Hoch
|
||||
scidepartment.ui.projects.columns.down=Runter
|
||||
scidepartment.ui.projects.delete=Entfernen
|
||||
scidepartment.ui.projects.up=Hoch
|
||||
scidepartment.ui.projects.down=Down
|
||||
scidepartment.ui.projects.delete.confirm=Wollen Sie das ausgew\u00e4hlte Projekt wirklich aus der Liste der Projekte dieser Abteilung entfernen?
|
||||
scidepartment.ui.projects.title=Projekte
|
||||
scidepartment.ui.projects.description=Projekte der Abteilung verwalten
|
||||
sciproject.ui.department.select=Abteilung ausw\u00e4hlen
|
||||
sciproject.ui.department.select.nothing=Keine Abteilung ausgew\u00e4hlt
|
||||
sciproject.ui.department.no_suitable_language_variant=Die ausgew\u00e4hlte Abteilung hat keine passende Sprachvariante.
|
||||
sciproject.ui.department.adding_to_itself=Fehler. Bitte kontaktieren Sie Ihren System-Administrator
|
||||
sciproject.ui.department.already_added=Dieses Projekt wurde bereits den Projekten der ausgew\u00e4hlen Abteilung hinzugef\u00fcgt.
|
||||
sciproject.ui.department.add=Abteilung hinzuf\u00fcgen
|
||||
sciproject.ui.departments.empty_view=Keine Abteilungen
|
||||
sciproject.ui.departments.columns.name=Name der Abteilung
|
||||
sciproject.ui.departments.columns.delete=Entfernen
|
||||
sciproject.ui.departments.columns.up=Hoch
|
||||
sciproject.ui.departments.columns.down=Runter
|
||||
sciproject.ui.departments.delete=Entfernen
|
||||
sciproject.ui.departments.up=Hoch
|
||||
sciproject.ui.departments.down=Runter
|
||||
sciproject.ui.departments.delete.confirm=Sind Sie sicher, dass Sie dieses Projekt aus der Liste der Projekte der ausgew\u00e4hlten Abteilung entfernen wollen?
|
||||
sciproject.ui.departments.title=Beteiligte Abteilungen
|
||||
sciproject.ui.departments.description=Dieses Projekt den Projektes einer Abteilung hinzuf\u00fcgen
|
||||
scidepartment.ui.members.add=Mitglied hinzuf\u00fcgen
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentSubDepartmentsStep extends SimpleEditStep {
|
||||
|
||||
private final String ADD_SUBDEPARTMENT_SHEET_NAME =
|
||||
"SciDepartmentAddSubDepartment";
|
||||
public final static String ASSOC_TYPE = "DepartmentOf";
|
||||
|
||||
public SciDepartmentSubDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciDepartmentSubDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addSubDepartmentSheet =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSubordinateOrgaUnitLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartment.select").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getSubordinateOrgaUnitType() {
|
||||
return SciDepartment.class.getName();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartment.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartment.no_suitable_languge_variant").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartment.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartment.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
add(ADD_SUBDEPARTMENT_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartment.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addSubDepartmentSheet, itemModel),
|
||||
addSubDepartmentSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSubordinateOrgaUnitsTable subDepartmentTable =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.empty_view").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.columns.name").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.columns.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.columns.up").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.columns.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.subdepartments.delete.confirm").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(subDepartmentTable);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentSuperDepartmentsStep extends SimpleEditStep {
|
||||
|
||||
private final static String ADD_SUPER_DEPARTMENT_SHEET_NAME =
|
||||
"SciDepartmentAddSuperDepartment";
|
||||
public final static String ASSOC_TYPE = "DepartmentOf";
|
||||
|
||||
public SciDepartmentSuperDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciDepartmentSuperDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addSuperDepartmentSheet =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSuperiorOrgaUnitLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartment.select").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getSuperiorOrgaUnitType() {
|
||||
return SciDepartment.BASE_DATA_OBJECT_TYPE;
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartment.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartment.no_suitable_language_variant").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartment.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartment.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
add(ADD_SUPER_DEPARTMENT_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartment.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addSuperDepartmentSheet, itemModel),
|
||||
addSuperDepartmentSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSuperiorOrgaUnitsTable superDeparmentsTable =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.empty_view").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.columns.name").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.columns.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.columns.up").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.columns.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.up").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.superdepartments.delete.confirm").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(superDeparmentsTable);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciProjectDepartmentsStep extends SimpleEditStep {
|
||||
|
||||
private final static String ADD_DEPARTMENT_SHEET_NAME =
|
||||
"SciProjectAddDepartment";
|
||||
public final static String ASSOC_TYPE = "ProjectOf";
|
||||
|
||||
public SciProjectDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciProjectDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addDepartmentSheet =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSuperiorOrgaUnitLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.department.select").localize();
|
||||
}
|
||||
|
||||
public String getSuperiorOrgaUnitType() {
|
||||
return SciDepartment.BASE_DATA_OBJECT_TYPE;
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.department.select.nothing").localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.department.no_suitable_language_variant").localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.department.adding_to_itself").localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.department.already_added").localize();
|
||||
}
|
||||
});
|
||||
|
||||
add(ADD_DEPARTMENT_SHEET_NAME,
|
||||
(String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.department.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addDepartmentSheet, itemModel),
|
||||
addDepartmentSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSuperiorOrgaUnitsTable departmentsTable =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.empty_view").localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.columns.name").localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.columns.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.columns.up").localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.columns.down").localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciDepartmentGlobalizationUtil.globalize(
|
||||
"sciproject.ui.departments.delete.confirm").localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(departmentsTable);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY nbsp " " ><!-- no-break space = non-breaking space, U+00A0 ISOnum -->
|
||||
]>
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
version="1.0">
|
||||
|
||||
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciDepartment']" mode="cms:CT_graphics"
|
||||
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_SciDepartment">
|
||||
<p><xsl:value-of select="./name"/></p>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciDepartment']" mode="cms:CT_text"
|
||||
name="cms:CT_text_com_arsdigita_cms_contenttypes_SciDepartment">
|
||||
<p><xsl:value-of select="./name"/></p>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||
name="ccm-sci-types-institute"
|
||||
prettyName="Scientific CMS Institute content type"
|
||||
version = "6.6.4"
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.6.3" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.6.4" relation="ge"/>
|
||||
</ccm:dependencies>
|
||||
<ccm:directories>
|
||||
<ccm:directory name="pdl"/>
|
||||
<ccm:directory name="sql"/>
|
||||
<ccm:directory name="src"/>
|
||||
</ccm:directories>s
|
||||
<ccm:contacts>
|
||||
<ccm:contact uri="http://www.scientificcms.org" type="website"/>
|
||||
<ccm:contact uri="mailto:info@scientificcms.org" type="support"/>
|
||||
</ccm:contacts>
|
||||
<ccm:description>
|
||||
Content type for a scientific institute.
|
||||
</ccm:description>
|
||||
</ccm:application>
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
model com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.kernel.ACSObject;
|
||||
import com.arsdigita.cms.*;
|
||||
|
||||
object type SciInstitute extends GenericOrganizationalUnit {
|
||||
String[0..1] instituteShortDescription = ct_sci_instituts.shortdescription VARCHAR(5000);
|
||||
String[0..1] instituteDescription = ct_sci_instituts.description CLOB;
|
||||
|
||||
reference key ( ct_sci_instituts.institute_id );
|
||||
}
|
||||
|
||||
query getIdsOfContactsOfSciInstitute {
|
||||
BigDecimal contactId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_contact_map.contact_id
|
||||
from cms_organizationalunits_contact_map
|
||||
where cms_organizationalunits_contact_map.organizationalunit_id = :institute
|
||||
} map {
|
||||
contactId = cms_organizationalunits_contact_map.contact_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfSubInstitutesOfSciInstitute {
|
||||
BigDecimal instituteId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunit_hierarchy_map.subordinate_orgaunit_id
|
||||
from cms_organizationalunit_hierarchy_map
|
||||
where cms_organizationalunit_hierarchy_map.superior_orgaunit_id = :institute
|
||||
and cms_organizationalunit_hierarchy_map.assoc_type = 'subInstitute'
|
||||
} map {
|
||||
instituteId = ct_sciorga_Institutes_subInstitutes_map.Institute_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfMembersOfSciInstitute {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :institute
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.person_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfActiveMembersOfSciInstitute {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :institute
|
||||
and cms_organizationalunits_person_map.status = 'active'
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.person_id;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfAssociatedMembersOfSciInstitute {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :institute
|
||||
and cms_organizationalunits_person_map.status = 'associated'
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.personId;
|
||||
}
|
||||
}
|
||||
|
||||
query getIdsOfFormerMembersOfSciInstitute {
|
||||
BigDecimal memberId;
|
||||
|
||||
do {
|
||||
select cms_organizationalunits_person_map.cms_persons.person_id
|
||||
from cms_organizationalunits_person_map
|
||||
where cms_organizationalunits_person_map.organizationalunit_id = :institute
|
||||
and (cms_organizationalunits_person_map.status = 'former' or cms_organizationalunits_person_map.status = 'associatedFormer')
|
||||
} map {
|
||||
memberId = cms_organizationalunits_person_map.personId;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
begin;
|
||||
\i ddl/postgres/create.sql
|
||||
\i ddl/postgres/deferred.sql
|
||||
end;
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<ctd:content-types xmlns:ctd="http://xmlns.redhat.com/cms/content-types"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||
|
||||
<ctd:content-type
|
||||
label="SciInstitute"
|
||||
description="Institutes of scientific organizations."
|
||||
objectType="com.arsdigita.cms.contenttypes.SciInstitute"
|
||||
classname="com.arsdigita.cms.contenttypes.SciInstitute">
|
||||
|
||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="sciorganization.ui.institute_properties.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.SciInstituteResources"
|
||||
descriptionKey="sciorganization.ui.institute_properties.title"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.SciInstituteResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.SciInstitutePropertiesStep"
|
||||
ordering="1"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="sciorganization.ui.institute.members"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.SciInstituteResources"
|
||||
descriptionKey="sciorganization.ui.institute.members.description"
|
||||
component="com.arsdigita.cms.contenttypes.ui.SciInstituteMembersStep"
|
||||
ordering="2"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="sciorganization.ui.institute_description.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.SciInstituteResources"
|
||||
descriptionKey="sciorganization.ui.institute_description.title"
|
||||
component="com.arsdigita.cms.contenttypes.ui.SciInstituteDescriptionStep"
|
||||
ordering="3"/>
|
||||
|
||||
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||
|
||||
</ctd:authoring-kit>
|
||||
|
||||
</ctd:content-type>
|
||||
|
||||
</ctd:content-types>
|
||||
|
|
@ -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.SciInstitute" extends="com.arsdigita.cms.ContentPage">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/instituteDescription"/>
|
||||
</xrd:attributes>
|
||||
<xrd:associations rule="include">
|
||||
<xrd:property name="/object/contacts"/>
|
||||
<xrd:property name="/object/persons"/>
|
||||
</xrd:associations>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
|
||||
</xrd:adapters>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<registry>
|
||||
<config class="com.arsdigita.cms.contenttypes.SciInstituteConfig"
|
||||
storage="ccm-sci-types-institute/sciinstitute.properties"/>
|
||||
<!-- <config class="com.arsdigita.cms.contenttypes.ui.SciInstituteSummaryTabConfig"
|
||||
storage="ccm-sci-types-institute/summarytab.properties"/> -->
|
||||
</registry>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<load>
|
||||
<requires>
|
||||
<table name="inits"/>
|
||||
<table name="acs_objects"/>
|
||||
<table name="cms_items"/>
|
||||
<initializer class="com.arsdigita.cms.Initializer"/>
|
||||
</requires>
|
||||
<provides>
|
||||
<table name="ct_sci_institutes"/>
|
||||
<initializer class="com.arsdigita.cms.contenttypes.SciInstituteInitializer"/>
|
||||
</provides>
|
||||
<scripts>
|
||||
<schema directory="ccm-sci-types-institute"/>
|
||||
<data class="com.arsdigita.cms.contenttypes.SciInstituteLoader"/>
|
||||
</scripts>
|
||||
</load>
|
||||
|
|
@ -0,0 +1,234 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciInstituteExtraXmlGenerator;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.persistence.DataQuery;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import org.omg.PortableInterceptor.ACTIVE;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstitute extends GenericOrganizationalUnit {
|
||||
|
||||
public static final String INSTITUTE_SHORT_DESCRIPTION =
|
||||
"instituteShortDescription";
|
||||
public static final String INSTITUTE_DESCRIPTION = "instituteDescription";
|
||||
public static final String ROLE_ENUM_NAME = "SciInstituteRole";
|
||||
public static final String BASE_DATA_OBJECT_TYPE =
|
||||
"com.arsdigita.cms.contenttypes.SciInstitute";
|
||||
private static final SciInstituteConfig config = new SciInstituteConfig();
|
||||
|
||||
static {
|
||||
config.load();
|
||||
}
|
||||
|
||||
public SciInstitute() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
public SciInstitute(final BigDecimal id) throws DataObjectNotFoundException {
|
||||
this(new OID(BASE_DATA_OBJECT_TYPE, id));
|
||||
}
|
||||
|
||||
public SciInstitute(final OID oid) throws DataObjectNotFoundException {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
public SciInstitute(final DataObject dataObject) {
|
||||
super(dataObject);
|
||||
}
|
||||
|
||||
public SciInstitute(final String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public static SciInstituteConfig getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
public String getInstituteShortDescription() {
|
||||
return (String) get(INSTITUTE_SHORT_DESCRIPTION);
|
||||
}
|
||||
|
||||
public void setInstituteShortDescription(final String shortDesc) {
|
||||
set(INSTITUTE_SHORT_DESCRIPTION, shortDesc);
|
||||
}
|
||||
|
||||
public String getInstituteDescription() {
|
||||
return (String) get(INSTITUTE_DESCRIPTION);
|
||||
}
|
||||
|
||||
public void setInstituteDescription(final String description) {
|
||||
set(INSTITUTE_DESCRIPTION, description);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasContacts() {
|
||||
boolean result = false;
|
||||
|
||||
final DataQuery query =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfContactsOfSciInstitute");
|
||||
query.setParameter("project", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
result = true;
|
||||
} else {
|
||||
result = false;
|
||||
}
|
||||
|
||||
query.close();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean hasMembers(final boolean merge,
|
||||
final SciInstituteMemberStatus status) {
|
||||
String queryName;
|
||||
|
||||
switch (status) {
|
||||
case ALL:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciInstitute";
|
||||
break;
|
||||
case ACTIVE:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciInstitute";
|
||||
break;
|
||||
case ASSOCIATED:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfSciInstitute";
|
||||
break;
|
||||
case FORMER:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciInstitute";
|
||||
break;
|
||||
default:
|
||||
queryName = "";
|
||||
break;
|
||||
}
|
||||
|
||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||
queryName);
|
||||
query.setParameter("institute", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
query.close();
|
||||
return true;
|
||||
} else {
|
||||
if (merge) {
|
||||
query.close();
|
||||
DataQuery institutesQuery =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfSubInstitutesOfSciInstitute");
|
||||
institutesQuery.setParameter("institute", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
BigDecimal instituteId;
|
||||
boolean result = false;
|
||||
while (institutesQuery.next()) {
|
||||
instituteId = (BigDecimal) institutesQuery.get(
|
||||
"instituteId");
|
||||
result = hasMembers(instituteId, merge, status);
|
||||
|
||||
if (result) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
institutesQuery.close();
|
||||
return result;
|
||||
} else {
|
||||
institutesQuery.close();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
query.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasMembers(final BigDecimal instituteId,
|
||||
final boolean merge,
|
||||
final SciInstituteMemberStatus status) {
|
||||
String queryName;
|
||||
|
||||
switch (status) {
|
||||
case ALL:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciDepartment";
|
||||
break;
|
||||
case ACTIVE:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciDepartment";
|
||||
break;
|
||||
case ASSOCIATED:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfDepartment";
|
||||
break;
|
||||
case FORMER:
|
||||
queryName =
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciDepartment";
|
||||
break;
|
||||
default:
|
||||
queryName = "";
|
||||
break;
|
||||
}
|
||||
|
||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||
queryName);
|
||||
query.setParameter("institute", instituteId);
|
||||
|
||||
if (query.size() > 0) {
|
||||
query.close();
|
||||
return true;
|
||||
} else {
|
||||
if (merge) {
|
||||
query.close();
|
||||
DataQuery subDepartmentsQuery =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfSubDepartmentsOfSciDepartment");
|
||||
subDepartmentsQuery.setParameter("institute", instituteId);
|
||||
|
||||
if (query.size() > 0) {
|
||||
BigDecimal subinstituteId;
|
||||
boolean result = false;
|
||||
while (subDepartmentsQuery.next()) {
|
||||
subinstituteId = (BigDecimal) subDepartmentsQuery.get(
|
||||
"instituteId");
|
||||
result = hasMembers(subinstituteId, merge, status);
|
||||
|
||||
if (result) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
subDepartmentsQuery.close();
|
||||
return result;
|
||||
} else {
|
||||
subDepartmentsQuery.close();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
query.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
||||
final List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
||||
generators.add(new SciInstituteExtraXmlGenerator());
|
||||
return generators;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.runtime.AbstractConfig;
|
||||
import com.arsdigita.util.parameter.BooleanParameter;
|
||||
import com.arsdigita.util.parameter.IntegerParameter;
|
||||
import com.arsdigita.util.parameter.Parameter;
|
||||
import com.arsdigita.util.parameter.StringParameter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteConfig extends AbstractConfig {
|
||||
|
||||
private final Parameter enableDepartmentsStep;
|
||||
private final Parameter enableDepartmentInstitutesStep;
|
||||
private final Parameter enableProjectsStep;
|
||||
private final Parameter enableProjectInstitutesStep;
|
||||
private final Parameter shortDescMaxLength;
|
||||
private final Parameter enableDescriptionDhtml;
|
||||
private final Parameter permittedPersonType;
|
||||
private final Parameter tabs;
|
||||
|
||||
public SciInstituteConfig() {
|
||||
enableDepartmentsStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.enable.departments_step",
|
||||
Parameter.REQUIRED, Boolean.TRUE);
|
||||
|
||||
enableDepartmentInstitutesStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.enable.department_institutes_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
enableProjectsStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.enable.projects_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
enableProjectInstitutesStep =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.enable.project_institutes_step",
|
||||
Parameter.REQUIRED,
|
||||
Boolean.TRUE);
|
||||
|
||||
shortDescMaxLength =
|
||||
new IntegerParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.short_desc.max_length",
|
||||
Parameter.REQUIRED, 500);
|
||||
|
||||
enableDescriptionDhtml =
|
||||
new BooleanParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.description.dhtml_enable",
|
||||
Parameter.REQUIRED, Boolean.TRUE);
|
||||
|
||||
permittedPersonType =
|
||||
new StringParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.permitted_person_type",
|
||||
Parameter.REQUIRED,
|
||||
"com.arsdigita.cms.contenttypes.GenericPerson");
|
||||
|
||||
tabs =
|
||||
new StringParameter(
|
||||
"com.arsdigita.cms.contenttypes.sciinstitute.tabs",
|
||||
Parameter.REQUIRED,
|
||||
"summary:com.arsdigita.cms.contenttypes.ui.SciInstituteSummaryTab");
|
||||
|
||||
register(enableDepartmentsStep);
|
||||
register(enableDepartmentInstitutesStep);
|
||||
register(enableProjectsStep);
|
||||
register(enableProjectInstitutesStep);
|
||||
register(shortDescMaxLength);
|
||||
register(enableDescriptionDhtml);
|
||||
register(permittedPersonType);
|
||||
register(tabs);
|
||||
|
||||
loadInfo();
|
||||
}
|
||||
|
||||
public final Boolean getEnableDepartmentsStep() {
|
||||
return (Boolean) get(enableDepartmentsStep);
|
||||
}
|
||||
|
||||
public final Boolean getEnableDepartmentInstitutesStep() {
|
||||
return (Boolean) get(enableDepartmentInstitutesStep);
|
||||
}
|
||||
|
||||
public final Boolean getEnableProjectsStep() {
|
||||
return (Boolean) get(enableProjectsStep);
|
||||
}
|
||||
|
||||
public final Boolean getEnableProjectInstitutesStep() {
|
||||
return (Boolean) get(enableProjectInstitutesStep);
|
||||
}
|
||||
|
||||
public Integer getShortDescMaxLength() {
|
||||
return (Integer) get(shortDescMaxLength);
|
||||
}
|
||||
|
||||
public Boolean getEnableDescriptionDhtml() {
|
||||
return (Boolean) get(enableDescriptionDhtml);
|
||||
}
|
||||
|
||||
public final String getPermittedPersonType() {
|
||||
return (String) get(permittedPersonType);
|
||||
}
|
||||
|
||||
public final String getTabs() {
|
||||
return (String) get(tabs);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
com.arsdigita.cms.contenttypes.sciinstitute.enable.departments_step.title = Enable departments step?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.departments_step.purpose = Enable departments step?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.departments_step.example = true
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.departments_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.department_institutes_step.title = Enable institutes step for departments?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.department_institutes_step.purpose = Enable institutes step for departments?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.department_institutes_step.example = true
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.department_institutes_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.projects_step.title = Enable projects step?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.projects_step.purpose = Enable projects step?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.projects_step.example = false
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.projects_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.project_institutes_step.title = Enable institutes step for projects?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.project_institutes_step.purpose = Enable institutes step for projects?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.project_institutes_step.example = false
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.enable.project_institutes_step.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.short_desc.max_length.title = Maximum length for the short description of an institute
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.short_desc.max_length.purpose = Maximum length for the short description of an institute
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.short_desc.max_length.example = 500
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.short_desc.max_length.format = [Integer]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.description.dhtml_enable.title = Enable the DHTML editor for the description of an institute?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.description.dhtml_enable.purpose = Enable the DHTML editor for the description of an institute?
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.description.dhtml_enable.example = true
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.description.dhtml_enable.format = [Boolean]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.permitted_person_type.title = Permitted person type for members of the institute
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.permitted_person_type.purpose = Permitted person type for members of the institute
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.permitted_person_type.example = com.arsdigita.cms.contenttypes.GenericPerson
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.permitted_person_type.format = [String]
|
||||
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.tabs.title = Tabs for SciInstitute detail view
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.tabs.purpose = Defines which tabs are shown in the detail view of a SciInstitute
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.tabs.example = summary:coma.arsdigita.cms.contenttypes.ui.SciInstituteSummaryTab;members:SciInstituteMembersTab
|
||||
com.arsdigita.cms.contenttypes.sciinstitute.tabs.format = [String]
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.ContentTypeCollection;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciDepartmentInstitutesStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciInstituteDepartmentsStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciInstituteGlobalizationUtil;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciInstituteProjectsStep;
|
||||
import com.arsdigita.cms.contenttypes.ui.SciProjectInstitutesStep;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.runtime.DomainInitEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteInitializer extends ContentTypeInitializer {
|
||||
|
||||
public SciInstituteInitializer() {
|
||||
super("ccm-sci-types-institute.pdl.mf",
|
||||
SciInstitute.BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final DomainInitEvent event) {
|
||||
super.init(event);
|
||||
|
||||
final SciInstituteConfig config = SciInstitute.getConfig();
|
||||
|
||||
final ContentTypeCollection contentTypes = ContentType.
|
||||
getAllContentTypes();
|
||||
contentTypes.addFilter(
|
||||
"associatedObjectType = 'com.arsdigita.cms.contenttypes.SciDepartment'");
|
||||
|
||||
if (contentTypes.size() > 0) {
|
||||
if (config.getEnableDepartmentsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciInstitute.BASE_DATA_OBJECT_TYPE,
|
||||
SciInstituteDepartmentsStep.class,
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.title"),
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.description"),
|
||||
10);
|
||||
}
|
||||
|
||||
if (config.getEnableDepartmentInstitutesStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
"com.arsdigita.cms.contenttypes.SciDepartment",
|
||||
SciDepartmentInstitutesStep.class,
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.title"),
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.description"),
|
||||
20);
|
||||
}
|
||||
}
|
||||
|
||||
contentTypes.reset();
|
||||
contentTypes.addFilter(
|
||||
"associatedObjectType = 'com.arsdigita.cms.contenttypes.SciProject'");
|
||||
|
||||
if (contentTypes.size() > 0) {
|
||||
if (config.getEnableProjectsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciInstitute.BASE_DATA_OBJECT_TYPE,
|
||||
SciInstituteProjectsStep.class,
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.title"),
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.description"),
|
||||
30);
|
||||
}
|
||||
|
||||
if (config.getEnableProjectInstitutesStep()) {
|
||||
if (config.getEnableDepartmentInstitutesStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
"com.arsdigita.cms.contenttypes.SciProject",
|
||||
SciProjectInstitutesStep.class,
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institutes.title"),
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institutes.description"),
|
||||
40);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getStylesheets() {
|
||||
return new String[]{
|
||||
"/static/content-types/com/arsdigita/cms/contenttypes/SciInstitute.xsl"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTraversalXML() {
|
||||
return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciInstitute.xml";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteLoader extends AbstractContentTypeLoader {
|
||||
|
||||
public SciInstituteLoader() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getTypes() {
|
||||
return new String[]{
|
||||
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/SciInstitute.xml"};
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public enum SciInstituteMemberStatus {
|
||||
ALL,
|
||||
ACTIVE,
|
||||
ASSOCIATED,
|
||||
FORMER
|
||||
}
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciDepartmentInstitutesStep extends SimpleEditStep {
|
||||
|
||||
private final static String ADD_INSTITUTE_SHEET_NAME =
|
||||
"SciDepartmentAddInstitute";
|
||||
public static final String ASSOC_TYPE = "DepartmentOf";
|
||||
|
||||
public SciDepartmentInstitutesStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciDepartmentInstitutesStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addInstituteSheet =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSuperiorOrgaUnitLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institute.select").localize();
|
||||
}
|
||||
|
||||
public String getSuperiorOrgaUnitType() {
|
||||
return SciInstitute.BASE_DATA_OBJECT_TYPE;
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institute.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institute.no_suitable_language_variant").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institute.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institute.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
|
||||
add(ADD_INSTITUTE_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institute.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addInstituteSheet, itemModel),
|
||||
addInstituteSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSuperiorOrgaUnitsTable institutesTable =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.empty_view").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.columns.name").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.columns.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.columns.up").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.columns.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"scidepartment.ui.institutes.delete.confirm").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(institutesTable);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteDepartmentsStep extends SimpleEditStep {
|
||||
|
||||
private String ADD_DEPARTMENT_SHEET_NAME = "SciInstituteAddDepartment";
|
||||
public final static String ASSOC_TYPE = "DepartmentOf";
|
||||
|
||||
public SciInstituteDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciInstituteDepartmentsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addDepartmentSheet =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSubordinateOrgaUnitLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.select").localize();
|
||||
}
|
||||
|
||||
public String getSubordinateOrgaUnitType() {
|
||||
return "com.arsdigita.cms.contenttypes.SciDepartment";
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.no_suitable_language_variant").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
|
||||
add(ADD_DEPARTMENT_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addDepartmentSheet, itemModel),
|
||||
addDepartmentSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSubordinateOrgaUnitsTable departmentsTable =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.empty_view").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.columns.name").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.columns.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.columns.up").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.columns.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.departments.delete.confirm").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(departmentsTable);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.event.FormInitListener;
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.cms.contenttypes.SciInstituteConfig;
|
||||
import com.arsdigita.cms.ui.CMSDHTMLEditor;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteDescriptionEditForm
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener,
|
||||
FormInitListener {
|
||||
|
||||
private final static SciInstituteConfig config = SciInstitute.getConfig();
|
||||
|
||||
public SciInstituteDescriptionEditForm(final ItemSelectionModel itemModel) {
|
||||
super("SciInstituteDescriptionEditForm", itemModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
add(new Label(SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.description")));
|
||||
final ParameterModel descParam = new StringParameter(
|
||||
SciInstitute.INSTITUTE_DESCRIPTION);
|
||||
final TextArea desc;
|
||||
if (config.getEnableDescriptionDhtml()) {
|
||||
desc = new CMSDHTMLEditor(descParam);
|
||||
} else {
|
||||
desc = new TextArea(descParam);
|
||||
}
|
||||
desc.setCols(75);
|
||||
desc.setRows(25);
|
||||
add(desc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final SciInstitute institute = (SciInstitute) getItemSelectionModel().
|
||||
getSelectedObject(state);
|
||||
|
||||
data.put(SciInstitute.INSTITUTE_DESCRIPTION, institute.
|
||||
getInstituteDescription());
|
||||
|
||||
setVisible(state, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final SciInstitute institute = (SciInstitute) getItemSelectionModel().
|
||||
getSelectedObject(state);
|
||||
|
||||
if ((institute != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
institute.setInstituteDescription((String) data.get(
|
||||
SciInstitute.INSTITUTE_DESCRIPTION));
|
||||
|
||||
institute.save();
|
||||
}
|
||||
|
||||
init(fse);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteDescriptionStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_INSTITUTE_DESC_SHEET_NAME = "editDepartmentDesc";
|
||||
private String UPDATE_INSTITUTE_DESC_SHEET_NAME = "updateDepartmentDesc";
|
||||
|
||||
public SciInstituteDescriptionStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciInstituteDescriptionStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm editDescFrom = new SciInstituteDescriptionEditForm(
|
||||
itemModel);
|
||||
add(EDIT_INSTITUTE_DESC_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.desc.edit").localize(),
|
||||
new WorkflowLockedComponentAccess(editDescFrom, itemModel),
|
||||
editDescFrom.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final SciInstituteDescriptionUploadForm updateDescForm =
|
||||
new SciInstituteDescriptionUploadForm(
|
||||
itemModel);
|
||||
add(UPDATE_INSTITUTE_DESC_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.desc.upload").localize(),
|
||||
new WorkflowLockedComponentAccess(updateDescForm, itemModel),
|
||||
updateDescForm.getSaveCancelSection().getCancelButton());
|
||||
|
||||
setDisplayComponent(getSciInstituteEditDescSheet(itemModel));
|
||||
}
|
||||
|
||||
public static Component getSciInstituteEditDescSheet(
|
||||
final ItemSelectionModel itemModel) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel);
|
||||
|
||||
sheet.add(
|
||||
SciInstituteGlobalizationUtil.globalize("sciinstitute.ui.desc"),
|
||||
SciInstitute.INSTITUTE_DESCRIPTION);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteDescriptionUploadForm extends AbstractTextUploadForm {
|
||||
|
||||
public SciInstituteDescriptionUploadForm(
|
||||
final ItemSelectionModel itemModel) {
|
||||
super(itemModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GlobalizedMessage getLabelText() {
|
||||
return SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.description.upload");
|
||||
}
|
||||
|
||||
@Override
|
||||
public GlobalizedMessage getMimeTypeLabel() {
|
||||
return SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.description.upload.mimetype");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setText(final ItemSelectionModel itemModel,
|
||||
final PageState state,
|
||||
final String text) {
|
||||
final SciInstitute institute = (SciInstitute) itemModel.
|
||||
getSelectedObject(state);
|
||||
institute.setInstituteShortDescription(text);
|
||||
institute.save();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteExtraXmlGenerator implements ExtraXMLGenerator {
|
||||
|
||||
public void generateXML(ContentItem item, Element element, PageState state) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void addGlobalStateParams(Page p) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteGlobalizationUtil {
|
||||
|
||||
public static final String BUNDLE_NAME =
|
||||
"com.arsdigita.cms.contenttypes.ui.SciInstituteResources";
|
||||
|
||||
public static GlobalizedMessage globalize(final String key) {
|
||||
return new GlobalizedMessage(key, BUNDLE_NAME);
|
||||
}
|
||||
|
||||
public static GlobalizedMessage globalize(final String key,
|
||||
final Object[] args) {
|
||||
return new GlobalizedMessage(key, BUNDLE_NAME, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteMemberAddForm
|
||||
extends GenericOrganizationalUnitPersonAddForm {
|
||||
|
||||
private final Logger logger = Logger.getLogger(
|
||||
SciInstituteMemberAddForm.class);
|
||||
|
||||
public SciInstituteMemberAddForm(
|
||||
final ItemSelectionModel itemModel,
|
||||
final GenericOrganizationalUnitPersonSelector personSelector) {
|
||||
super(itemModel, personSelector);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getPersonType() {
|
||||
String personType = SciInstitute.getConfig().getPermittedPersonType();
|
||||
|
||||
try {
|
||||
ContentType.findByAssociatedObjectType(personType);
|
||||
} catch (DataObjectNotFoundException ex) {
|
||||
logger.error(String.format("No content type for object type '%s'. "
|
||||
+ "Falling back to '%s'.",
|
||||
personType,
|
||||
GenericPerson.class.getName()),
|
||||
ex);
|
||||
personType = GenericPerson.class.getName();
|
||||
}
|
||||
|
||||
return personType;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getRoleAttributeName() {
|
||||
return SciInstitute.ROLE_ENUM_NAME;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteMembersStep
|
||||
extends SimpleEditStep
|
||||
implements GenericOrganizationalUnitPersonSelector {
|
||||
|
||||
private String ADD_INSTITUTE_MEMBER_STEP = "SciInstituteAddMember";
|
||||
private GenericPerson selectedPerson;
|
||||
private String selectedPersonRole;
|
||||
private String selectedPersonStatus;
|
||||
|
||||
public SciInstituteMembersStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciInstituteMembersStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addMemberSheet = new SciInstituteMemberAddForm(
|
||||
itemModel, this);
|
||||
add(ADD_INSTITUTE_MEMBER_STEP,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.members.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addMemberSheet, itemModel),
|
||||
addMemberSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final SciInstituteMembersTable memberTable =
|
||||
new SciInstituteMembersTable(itemModel,
|
||||
this);
|
||||
setDisplayComponent(memberTable);
|
||||
}
|
||||
|
||||
public GenericPerson getSelectedPerson() {
|
||||
return selectedPerson;
|
||||
}
|
||||
|
||||
public void setSelectedPerson(final GenericPerson selectedPerson) {
|
||||
this.selectedPerson = selectedPerson;
|
||||
}
|
||||
|
||||
public String getSelectedPersonRole() {
|
||||
return selectedPersonRole;
|
||||
}
|
||||
|
||||
public void setSelectedPersonRole(final String selectedPersonRole) {
|
||||
this.selectedPersonRole = selectedPersonRole;
|
||||
}
|
||||
|
||||
public String getSelectedPersonStatus() {
|
||||
return selectedPersonStatus;
|
||||
}
|
||||
|
||||
public void setSelectedPersonStatus(final String selectedPersonStatus) {
|
||||
this.selectedPersonStatus = selectedPersonStatus;
|
||||
}
|
||||
|
||||
public void showEditComponent(final PageState state) {
|
||||
showComponent(state, ADD_INSTITUTE_MEMBER_STEP);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteMembersTable
|
||||
extends GenericOrganizationalUnitPersonsTable {
|
||||
|
||||
public SciInstituteMembersTable(final ItemSelectionModel itemModel,
|
||||
final GenericOrganizationalUnitPersonSelector personSelector) {
|
||||
super(itemModel, personSelector);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRoleAttributeName() {
|
||||
return SciInstitute.ROLE_ENUM_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstituteProjectsStep extends SimpleEditStep {
|
||||
|
||||
private String ADD_INSTITUTE_SHEET_NAME = "SciInstituteAddProject";
|
||||
public final static String ASSOC_TYPE = "ProjectOf";
|
||||
|
||||
public SciInstituteProjectsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciInstituteProjectsStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addProjectSheet =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSubordinateOrgaUnitLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.select").localize();
|
||||
}
|
||||
|
||||
public String getSubordinateOrgaUnitType() {
|
||||
return "com.arsdigita.cms.contenttypes.SciProject";
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.no_suitable_language_variant").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
add(ADD_INSTITUTE_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addProjectSheet, itemModel),
|
||||
addProjectSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSubordinateOrgaUnitsTable projectsTable =
|
||||
new GenericOrganizationalUnitSubordinateOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSubordinateOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.empty_view").localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.columns.name").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.columns.delete").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.columns.up").localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.columns.down").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.projects.delete.confirm").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
|
||||
setDisplayComponent(projectsTable);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstitutePropertiesStep
|
||||
extends GenericOrganizationalUnitPropertiesStep {
|
||||
|
||||
public SciInstitutePropertiesStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
super(itemModel, parent);
|
||||
}
|
||||
|
||||
public static Component getSciInstitutePropertySheet(
|
||||
final ItemSelectionModel itemModel) {
|
||||
|
||||
final DomainObjectPropertySheet sheet =
|
||||
(DomainObjectPropertySheet) GenericOrganizationalUnitPropertiesStep.
|
||||
getGenericOrganizationalUnitPropertySheet(itemModel);
|
||||
|
||||
sheet.add(SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.shortdesc"),
|
||||
SciInstitute.INSTITUTE_SHORT_DESCRIPTION);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBasicProperties(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
|
||||
final SimpleEditStep basicProperties =
|
||||
new SimpleEditStep(itemModel,
|
||||
parent,
|
||||
EDIT_SHEET_NAME);
|
||||
|
||||
final BasicPageForm editBasicSheet = new SciInstitutePropertyForm(
|
||||
itemModel, this);
|
||||
|
||||
basicProperties.add(EDIT_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.edit_basic_sheet").localize(),
|
||||
new WorkflowLockedComponentAccess(editBasicSheet,
|
||||
itemModel),
|
||||
editBasicSheet.getSaveCancelSection().
|
||||
getCancelButton());
|
||||
|
||||
basicProperties.setDisplayComponent(getSciInstitutePropertySheet(
|
||||
itemModel));
|
||||
|
||||
getSegmentedPanel().addSegment(
|
||||
new Label((String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.edit_basic_properties").localize()),
|
||||
basicProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addSteps(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel,
|
||||
parent),
|
||||
SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.contacts"));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.event.FormInitListener;
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.bebop.form.TextArea;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.cms.contenttypes.SciInstituteConfig;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciInstitutePropertyForm
|
||||
extends GenericOrganizationalUnitPropertyForm
|
||||
implements FormProcessListener,
|
||||
FormInitListener,
|
||||
FormSubmissionListener {
|
||||
|
||||
public final static String ID = "SciInstituteEdit";
|
||||
private final static SciInstituteConfig config = SciInstitute.getConfig();
|
||||
|
||||
public SciInstitutePropertyForm(final ItemSelectionModel itemModel) {
|
||||
this(itemModel, null);
|
||||
}
|
||||
|
||||
public SciInstitutePropertyForm(final ItemSelectionModel itemModel,
|
||||
final SciInstitutePropertiesStep step) {
|
||||
super(itemModel, step);
|
||||
addSubmissionListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWidgets() {
|
||||
super.addWidgets();
|
||||
|
||||
add(new Label(SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.shortdesc")));
|
||||
ParameterModel shortDescParam = new StringParameter(
|
||||
SciInstitute.INSTITUTE_SHORT_DESCRIPTION);
|
||||
TextArea shortDesc = new TextArea(shortDescParam);
|
||||
shortDesc.addValidationListener(
|
||||
new StringInRangeValidationListener(0,
|
||||
config.getShortDescMaxLength()));
|
||||
shortDesc.setCols(75);
|
||||
shortDesc.setRows(5);
|
||||
add(shortDesc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
super.init(fse);
|
||||
|
||||
final FormData data = fse.getFormData();
|
||||
final SciInstitute institute = (SciInstitute) super.initBasicWidgets(
|
||||
fse);
|
||||
|
||||
data.put(SciInstitute.INSTITUTE_SHORT_DESCRIPTION,
|
||||
institute.getInstituteShortDescription());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent fse) throws FormProcessException {
|
||||
super.process(fse);
|
||||
|
||||
final FormData data = fse.getFormData();
|
||||
final PageState state = fse.getPageState();
|
||||
final SciInstitute institute = (SciInstitute) super.
|
||||
processBasicWidgets(fse);
|
||||
|
||||
if ((institute != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
institute.setInstituteShortDescription((String) data.get(
|
||||
SciInstitute.INSTITUTE_SHORT_DESCRIPTION));
|
||||
|
||||
institute.save();
|
||||
}
|
||||
|
||||
init(fse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTitleLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciinstitute.ui.title").localize();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
sciorganization.ui.institute_properties.title=Basic propertites
|
||||
sciorganization.ui.institute.members=Members
|
||||
sciorganization.ui.institute_description.title=Description
|
||||
sciinstitute.ui.shortdesc=Short description
|
||||
sciinstitute.ui.edit_basic_sheet=Basic properties
|
||||
sciinstitute.ui.edit_basic_properties=Edit basic properties
|
||||
sciinstitute.ui.contacts=Contacts
|
||||
sciinstitute.ui.description=Description
|
||||
sciinstitute.ui.title=Name of the institute
|
||||
sciinstitute.ui.desc.edit=Edit description
|
||||
sciinstitute.ui.desc.upload=Upload description
|
||||
sciinstitute.ui.desc=Beschreibung
|
||||
sciinstitute.ui.description.upload=Upload description
|
||||
sciinstitute.ui.description.upload.mimetype=File type
|
||||
sciinstitute.ui.members.add=Add member
|
||||
sciinstitute.ui.departments.select=Select department
|
||||
sciinstitute.ui.departments.select.nothing=No department selected.
|
||||
sciinstitute.ui.departments.no_suitable_language_variant=The selected department has no suitable language variant.
|
||||
sciinstitute.ui.departments.adding_to_itself=Strange error. Please contact your system administrator.
|
||||
sciinstitute.ui.departments.already_added=The selected department has already been added to this institute.
|
||||
sciinstitute.ui.departments.add=Add department
|
||||
sciinstitute.ui.departments.empty_view=No departments
|
||||
sciinstitute.ui.departments.columns.name=Name of the department
|
||||
sciinstitute.ui.departments.columns.delete=Remove
|
||||
sciinstitute.ui.departments.columns.up=Up
|
||||
sciinstitute.ui.departments.columns.down=Runter
|
||||
sciinstitute.ui.departments.delete=Remove
|
||||
sciinstitute.ui.departments.up=Up
|
||||
sciinstitute.ui.departments.down=Down
|
||||
sciinstitute.ui.departments.delete.confirm=Are you sure to remove the selected department from this institute?
|
||||
sciinstitute.ui.projects.select=Select project
|
||||
sciinstitute.ui.projects.select.nothing=No project selected.
|
||||
sciinstitute.ui.projects.no_suitable_language_variant=The selected project has no suitable language variant.
|
||||
sciinstitute.ui.projects.adding_to_itself=Strange error. Please contact your system administrator.
|
||||
sciinstitute.ui.projects.already_added=The selected project has already been added to the projects of this institute.
|
||||
sciinstitute.ui.projects.add=Add project
|
||||
sciinstitute.ui.projects.empty_view=No projects
|
||||
sciinstitute.ui.projects.columns.name=Title of the project
|
||||
sciinstitute.ui.projects.columns.delete=Remove
|
||||
sciinstitute.ui.projects.columns.up=Up
|
||||
sciinstitute.ui.projects.columns.down=Down
|
||||
sciinstitute.ui.projects.delete=Remove
|
||||
sciinstitute.ui.projects.up=Up
|
||||
sciinstitute.ui.projects.down=Down
|
||||
sciinstitute.ui.projects.delete.confirm=Are you sure to remove the selected projects from the projects of this institute?
|
||||
scidepartment.ui.institute.select=Select institute
|
||||
scidepartment.ui.institute.select.nothing=No institute selected.
|
||||
scidepartment.ui.institute.no_suitable_language_variant=The selected institute has no suitable language variant.
|
||||
scidepartment.ui.institute.adding_to_itself=Strange error. Please contact your system administrator.
|
||||
scidepartment.ui.institute.already_added=This department has already been added to the departments of the selected institute.
|
||||
scidepartment.ui.institute.add=Add institute
|
||||
scidepartment.ui.institutes.empty_view=No institutes
|
||||
scidepartment.ui.institutes.columns.name=Name of the institute
|
||||
scidepartment.ui.institutes.columns.delete=Remove
|
||||
scidepartment.ui.institutes.columns.up=Up
|
||||
scidepartment.ui.institutes.columns.down=Down
|
||||
scidepartment.ui.institutes.delete=Remove
|
||||
scidepartment.ui.institutes.up=Up
|
||||
scidepartment.ui.institutes.down=Down
|
||||
scidepartment.ui.institutes.delete.confirm=Are you sure to remove this department from the departments of the selected institute?
|
||||
sciproject.ui.institute.select=Select institute
|
||||
sciproject.ui.institute.select.nothing=No institute selected.
|
||||
sciproject.ui.institute.no_suitable_languge_variant=The selected institute has no suitable language variant.
|
||||
sciproject.ui.institute.adding_to_itself=Error. Please contact the system administrator.
|
||||
sciproject.ui.institute.already_added=This project has already been added to the projects of the selected institute.
|
||||
sciproject.ui.institut.add=Add institute
|
||||
sciproject.ui.instituts.empty_view=No institutes
|
||||
sciproject.ui.instituts.columns.name=Name of the institute
|
||||
sciproject.ui.instituts.columns.delete=Remove
|
||||
sciproject.ui.instituts.columns.up=Up
|
||||
sciproject.ui.instituts.columns.down=Down
|
||||
sciproject.ui.instituts.delete=Remove
|
||||
sciproject.ui.instituts.up=Up
|
||||
sciproject.ui.instituts.down=Down
|
||||
sciproject.ui.instituts.delete.confirm=Are you sure to remove this project from the list of projects of the selected institute?
|
||||
sciinstitute.ui.departments.title=Departments
|
||||
sciinstitute.ui.departments.description=Manage the departments of this institute
|
||||
scidepartment.ui.institutes.title=Institut(s)
|
||||
scidepartment.ui.institutes.description=Add this department to a institute
|
||||
sciinstitute.ui.projects.title=Projects
|
||||
sciinstitute.ui.projects.description=Manage the projects of this institute
|
||||
sciproject.ui.institutes.title=Participating institutes
|
||||
sciproject.ui.institutes.description=Participating institutes
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
sciorganization.ui.institute_properties.title=Basiseigenschaften
|
||||
sciorganization.ui.institute.members=Mitglieder
|
||||
sciorganization.ui.institute_description.title=Beschreibung
|
||||
sciinstitute.ui.shortdesc=Kurzbeschreibung
|
||||
sciinstitute.ui.edit_basic_sheet=Basiseigenschaften
|
||||
sciinstitute.ui.edit_basic_properties=Basiseigenschaften bearbeiten
|
||||
sciinstitute.ui.contacts=Kontakte
|
||||
sciinstitute.ui.description=Beschreibung
|
||||
sciinstitute.ui.title=Name des Instituts
|
||||
sciinstitute.ui.desc.edit=Beschreibung bearbeiten
|
||||
sciinstitute.ui.desc.upload=Beschreibung hochladen
|
||||
sciinstitute.ui.desc=Description
|
||||
sciinstitute.ui.description.upload=Beschriebung hochladen
|
||||
sciinstitute.ui.description.upload.mimetype=Dateityp
|
||||
sciinstitute.ui.members.add=Mitglieder hinzuf\u00fcgen
|
||||
sciinstitute.ui.departments.select=Abteilung ausw\u00e4hlen
|
||||
sciinstitute.ui.departments.select.nothing=Keine Abteilung ausgew\u00e4hlt.
|
||||
sciinstitute.ui.departments.no_suitable_language_variant=Die ausgew\u00e4hlte Abteilung hat keine passende Sprachvariante.
|
||||
sciinstitute.ui.departments.adding_to_itself=Fehler. Bitte kontaktieren Sie Ihren System-Administrator.
|
||||
sciinstitute.ui.departments.already_added=Die ausgew\u00e4hlte Abteilung wurde dem Institut bereits hinzugef\u00fcgt.
|
||||
sciinstitute.ui.departments.add=Abteilung hinzuf\u00fcgen
|
||||
sciinstitute.ui.departments.empty_view=Keine Abteilungen
|
||||
sciinstitute.ui.departments.columns.name=Name der Abteilung
|
||||
sciinstitute.ui.departments.columns.delete=Entfernen
|
||||
sciinstitute.ui.departments.columns.up=Hoch
|
||||
sciinstitute.ui.departments.columns.down=Down
|
||||
sciinstitute.ui.departments.delete=Entfernen
|
||||
sciinstitute.ui.departments.up=Hoch
|
||||
sciinstitute.ui.departments.down=Runter
|
||||
sciinstitute.ui.departments.delete.confirm=Wollen Sie die ausgew\u00e4hlte Abteilung wirklich aus diesem Institut entfernen?
|
||||
sciinstitute.ui.projects.select=Projekt ausw\u00e4hlen
|
||||
sciinstitute.ui.projects.select.nothing=Kein Projekt ausgew\u00e4hlt.
|
||||
sciinstitute.ui.projects.no_suitable_language_variant=Das ausgew\u00e4hlte Projekt hat keine passende Sprachvariante.
|
||||
sciinstitute.ui.projects.adding_to_itself=Fehler. Bitte kontaktieren Sie Ihren System-Administrator.
|
||||
sciinstitute.ui.projects.already_added=Das ausgew\u00e4hlte Projekt wurde bereits den Projekten dieses Instituts hinzugef\u00fcgt.
|
||||
sciinstitute.ui.projects.add=Projekt hinzuf\u00fcgen
|
||||
sciinstitute.ui.projects.empty_view=Keine Projekte
|
||||
sciinstitute.ui.projects.columns.name=Titel des Projektes
|
||||
sciinstitute.ui.projects.columns.delete=Entfernen
|
||||
sciinstitute.ui.projects.columns.up=Hoch
|
||||
sciinstitute.ui.projects.columns.down=Runter
|
||||
sciinstitute.ui.projects.delete=Entfernen
|
||||
sciinstitute.ui.projects.up=Hoch
|
||||
sciinstitute.ui.projects.down=Runter
|
||||
sciinstitute.ui.projects.delete.confirm=Wollen Sie das ausgew\u00e4hlte Projekt wirklich aus der Liste der Projekte dieses Instituts entfernen?
|
||||
scidepartment.ui.institute.select=Institut ausw\u00e4hlen
|
||||
scidepartment.ui.institute.select.nothing=Kein Institut ausgew\u00e4hlt.
|
||||
scidepartment.ui.institute.no_suitable_language_variant=Das ausgew\u00e4hlte Institut hat keine passende Sprachvariante.
|
||||
scidepartment.ui.institute.adding_to_itself=Fehler. Bitte kontaktieren Sie Ihren System-Administrator.
|
||||
scidepartment.ui.institute.already_added=Diese Abteilung wurde bereits den Abteilungen des ausgew\u00e4hlten Instituts hinzugef\u00fcgt.
|
||||
scidepartment.ui.institute.add=Institut hinzuf\u00fcgen
|
||||
scidepartment.ui.institutes.empty_view=Keine Institute
|
||||
scidepartment.ui.institutes.columns.name=Name des Institutes
|
||||
scidepartment.ui.institutes.columns.delete=Entfernen
|
||||
scidepartment.ui.institutes.columns.up=Hoch
|
||||
scidepartment.ui.institutes.columns.down=Runter
|
||||
scidepartment.ui.institutes.delete=Entfernen
|
||||
scidepartment.ui.institutes.up=Hoch
|
||||
scidepartment.ui.institutes.down=Runter
|
||||
scidepartment.ui.institutes.delete.confirm=Wollen Sie diese Abteilung wirklich aus der Liste der Abteilung des ausgew\u00e4hlten Instituts entfernen?
|
||||
sciproject.ui.institute.select=Institut ausw\u00e4hlen
|
||||
sciproject.ui.institute.select.nothing=Kein Institut ausgew\u00e4hlt.
|
||||
sciproject.ui.institute.no_suitable_languge_variant=Das ausgew\u00e4hlte Institut hat keine passende Sprachvariante.
|
||||
sciproject.ui.institute.adding_to_itself=Fehler. Bitte kontaktieren Sie Ihren System-Administrator.
|
||||
sciproject.ui.institute.already_added=Dieses Projekt wurde bereits den Projekten des ausgew\u00e4hlten Instituts hinzuzgef\u00fcgt.
|
||||
sciproject.ui.institut.add=Inititut hinzuf\u00fcgen
|
||||
sciproject.ui.instituts.empty_view=Keine Institute
|
||||
sciproject.ui.instituts.columns.name=Name des Institutes
|
||||
sciproject.ui.instituts.columns.delete=Entfernen
|
||||
sciproject.ui.instituts.columns.up=Hoch
|
||||
sciproject.ui.instituts.columns.down=Runter
|
||||
sciproject.ui.instituts.delete=Entfernen
|
||||
sciproject.ui.instituts.up=Hoch
|
||||
sciproject.ui.instituts.down=Runter
|
||||
sciproject.ui.instituts.delete.confirm=Wollen Sie das ausgew\u00e4hlte Projekt wirklich aus der Liste der Projekte des ausgew\u00e4hlten Instituts entfernen?
|
||||
sciinstitute.ui.departments.title=Abteilungen
|
||||
sciinstitute.ui.departments.description=Abteilungen des Instituts verwalten
|
||||
scidepartment.ui.institutes.title=Institut(e)
|
||||
scidepartment.ui.institutes.description=Diese Abteilung einem Institut hinzuf\u00fcgen
|
||||
sciinstitute.ui.projects.title=Projekte
|
||||
sciinstitute.ui.projects.description=Projekte dieses Instituts verwalten
|
||||
sciproject.ui.institutes.title=Beteiligte Institute
|
||||
sciproject.ui.institutes.description=An dem Projekt beteiligte Institute verwalten
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.SciInstitute;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SciProjectInstitutesStep extends SimpleEditStep {
|
||||
|
||||
private final static String ADD_INSTITUTE_SHEET_NAME =
|
||||
"SciProjectAddInstitute";
|
||||
public final static String ASSOC_TYPE = "ProjectOf";
|
||||
|
||||
public SciProjectInstitutesStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public SciProjectInstitutesStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm addInstitutesSheet =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitAddForm(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitAddFormCustomizer() {
|
||||
|
||||
public String getSelectSuperiorOrgaUnitLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institute.select").localize();
|
||||
}
|
||||
|
||||
public String getSuperiorOrgaUnitType() {
|
||||
return SciInstitute.BASE_DATA_OBJECT_TYPE;
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
|
||||
public String getNothingSelectedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institute.select.nothing").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getNoSuitableLanguageVariantMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institute.no_suitable_languge_variant").localize();
|
||||
}
|
||||
|
||||
public String getAddingToItselfMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institute.adding_to_itself").
|
||||
localize();
|
||||
}
|
||||
|
||||
public String getAlreadyAddedMessage() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institute.already_added").
|
||||
localize();
|
||||
}
|
||||
});
|
||||
|
||||
add(ADD_INSTITUTE_SHEET_NAME,
|
||||
(String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.institut.add").localize(),
|
||||
new WorkflowLockedComponentAccess(addInstitutesSheet, itemModel),
|
||||
addInstitutesSheet.getSaveCancelSection().getCancelButton());
|
||||
|
||||
final GenericOrganizationalUnitSuperiorOrgaUnitsTable institutesTable =
|
||||
new GenericOrganizationalUnitSuperiorOrgaUnitsTable(
|
||||
itemModel,
|
||||
new GenericOrgaUnitSuperiorOrgaUnitsTableCustomizer() {
|
||||
|
||||
public String getEmptyViewLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.empty_view").localize();
|
||||
}
|
||||
|
||||
public String getNameColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.columns.name").localize();
|
||||
}
|
||||
|
||||
public String getDeleteColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.columns.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.columns.up").localize();
|
||||
}
|
||||
|
||||
public String getDownColumnLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.columns.down").localize();
|
||||
}
|
||||
|
||||
public String getDeleteLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.delete").localize();
|
||||
}
|
||||
|
||||
public String getUpLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.up").localize();
|
||||
}
|
||||
|
||||
public String getDownLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.down").localize();
|
||||
}
|
||||
|
||||
public String getConfirmRemoveLabel() {
|
||||
return (String) SciInstituteGlobalizationUtil.globalize(
|
||||
"sciproject.ui.instituts.delete.confirm").localize();
|
||||
}
|
||||
|
||||
public String getAssocType() {
|
||||
return ASSOC_TYPE;
|
||||
}
|
||||
});
|
||||
setDisplayComponent(institutesTable);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY nbsp " " ><!-- no-break space = non-breaking space, U+00A0 ISOnum -->
|
||||
]>
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
version="1.0">
|
||||
|
||||
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciInstitute']" mode="cms:CT_graphics"
|
||||
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_SciInstitute">
|
||||
<p><xsl:value-of select="./name"/></p>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciInstitute']" mode="cms:CT_text"
|
||||
name="cms:CT_text_com_arsdigita_cms_contenttypes_SciInstitute">
|
||||
<p><xsl:value-of select="./name"/></p>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -132,8 +132,8 @@ public class SciProject extends GenericOrganizationalUnit {
|
|||
public boolean hasContacts() {
|
||||
boolean result = false;
|
||||
|
||||
DataQuery query =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
final DataQuery query =
|
||||
SessionManager.getSession().retrieveQuery(
|
||||
"com.arsdigita.cms.contenttypes.getIdsOfContactsOfSciProject");
|
||||
query.setParameter("project", getID());
|
||||
|
||||
|
|
@ -181,7 +181,8 @@ public class SciProject extends GenericOrganizationalUnit {
|
|||
break;
|
||||
}
|
||||
|
||||
DataQuery query = SessionManager.getSession().retrieveQuery(queryName);
|
||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||
queryName);
|
||||
query.setParameter("project", getID());
|
||||
|
||||
if (query.size() > 0) {
|
||||
|
|
@ -248,7 +249,8 @@ public class SciProject extends GenericOrganizationalUnit {
|
|||
break;
|
||||
}
|
||||
|
||||
DataQuery query = SessionManager.getSession().retrieveQuery(queryName);
|
||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||
queryName);
|
||||
query.setParameter("project", projectId);
|
||||
|
||||
if (query.size() > 0) {
|
||||
|
|
@ -287,7 +289,7 @@ public class SciProject extends GenericOrganizationalUnit {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
||||
final List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
||||
|
|
|
|||
|
|
@ -28,34 +28,34 @@ public class SciProjectInitializer extends ContentTypeInitializer {
|
|||
if (config.getEnableSubProjectsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciProject.BASE_DATA_OBJECT_TYPE,
|
||||
SciProjectSubProjectsStep.class,
|
||||
SciProjectGlobalizationUtil.
|
||||
globalize("sciproject.ui.subprojects.title"),
|
||||
SciProjectGlobalizationUtil.
|
||||
globalize("sciproject.ui.subprojects.description"),
|
||||
10);
|
||||
SciProjectSubProjectsStep.class,
|
||||
SciProjectGlobalizationUtil.globalize(
|
||||
"sciproject.ui.subprojects.title"),
|
||||
SciProjectGlobalizationUtil.globalize(
|
||||
"sciproject.ui.subprojects.description"),
|
||||
10);
|
||||
}
|
||||
|
||||
if (config.getEnableSuperProjectsStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciProject.BASE_DATA_OBJECT_TYPE,
|
||||
SciProjectSuperProjectsStep.class,
|
||||
SciProjectGlobalizationUtil.
|
||||
globalize("sciproject.ui.superprojects.title"),
|
||||
SciProjectGlobalizationUtil.
|
||||
globalize("sciproject.ui.superprojects.description"),
|
||||
20);
|
||||
SciProjectSuperProjectsStep.class,
|
||||
SciProjectGlobalizationUtil.globalize(
|
||||
"sciproject.ui.superprojects.title"),
|
||||
SciProjectGlobalizationUtil.globalize(
|
||||
"sciproject.ui.superprojects.description"),
|
||||
20);
|
||||
}
|
||||
|
||||
if (config.getEnableInvolvedOrgasStep()) {
|
||||
AuthoringKitWizard.registerAssetStep(
|
||||
SciProject.BASE_DATA_OBJECT_TYPE,
|
||||
SciProjectInvolvedOrganizationsStep.class,
|
||||
SciProjectGlobalizationUtil.
|
||||
globalize("sciproject.ui.involved_orgas.title"),
|
||||
SciProjectGlobalizationUtil.
|
||||
globalize("sciproject.ui.involved_orgas.description"),
|
||||
30);
|
||||
SciProjectInvolvedOrganizationsStep.class,
|
||||
SciProjectGlobalizationUtil.globalize(
|
||||
"sciproject.ui.involved_orgas.title"),
|
||||
SciProjectGlobalizationUtil.globalize(
|
||||
"sciproject.ui.involved_orgas.description"),
|
||||
30);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class SciProjectPropertiesStep
|
|||
parent,
|
||||
EDIT_SHEET_NAME);
|
||||
|
||||
BasicPageForm editBasicSheet = new SciProjectPropertyForm(itemModel,
|
||||
final BasicPageForm editBasicSheet = new SciProjectPropertyForm(itemModel,
|
||||
this);
|
||||
|
||||
basicProperties.add(EDIT_SHEET_NAME,
|
||||
|
|
|
|||
|
|
@ -83,3 +83,4 @@ sciproject.ui.involved_orgas.down=Down
|
|||
sciproject.ui.involved_orgas.delete.confirm=Are you sure to remove the selected organization from the organisations involved with this project?
|
||||
sciproject.ui.involved_orgas.title=Involved Organizations
|
||||
sciproject.ui.involved_orgas.description=Managed involved organizations
|
||||
scidepartment.ui.superdepartment.add=Add superior department
|
||||
|
|
|
|||
|
|
@ -84,3 +84,4 @@ sciproject.ui.involved_orgas.down=Runter
|
|||
sciproject.ui.involved_orgas.delete.confirm=Sind Sie sicher, dass die die ausgew\u00e4hlte Organisation aus den an diesem Projekt beteiligten Organisationen l\u00f6schen wollen?
|
||||
sciproject.ui.involved_orgas.title=Beteiligte Organisationen
|
||||
sciproject.ui.involved_orgas.description=Verwalten von am Projekt beteiligten Organisationen
|
||||
scidepartment.ui.superdepartment.add=\u00dcbergeordnete Abteilung hinzuf\u00fcgen
|
||||
|
|
|
|||
Loading…
Reference in New Issue