Modul ccm-sci-types-organization:

- Steps und Forms Description für SciOrganization und SciDepartment
- Steps und Forms für SuperProject in SciProject
- Steps und Forms für SuperDepartment und Organization in SciDepartment 
- Alle Steps für Verknüpfungen zwischen SciOrganization, SciDepartment und SciProject sind über die Configuration ausblendbar
- Für alle Beschriebungsfelder kann der DHTML-Editor abgeschaltet werden
- Verschiedene Korrekturen an den PDL-Dateien


git-svn-id: https://svn.libreccm.org/ccm/trunk@570 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2010-10-11 14:57:04 +00:00
parent bbccc86661
commit cbc5154f03
31 changed files with 1539 additions and 91 deletions

View File

@ -4,13 +4,14 @@ import com.arsdigita.kernel.ACSObject;
import com.arsdigita.cms.*;
object type SciDepartment extends GenericOrganizationalUnit {
String[0..1] departmentDescription = ct_sciorga_departments.description VARCHAR(4096);
String[0..1] departmentShortDescription = ct_sciorga_departments.shortdescription VARCHAR(500);
String[0..1] departmentDescription = ct_sciorga_departments.description CLOB;
reference key ( ct_sciorga_departments.department_id );
}
association {
SciDepartment[0..n] department = join ct_sciorga_departments.department_id
SciDepartment[0..n] superDepartment = join ct_sciorga_departments.department_id
to ct_sciorga_departments_subdepartments_map.subdepartment_id,
join ct_sciorga_departments_subdepartments_map.department_id
to ct_sciorga_departments.department_id;

View File

@ -4,7 +4,9 @@ import com.arsdigita.kernel.ACSObject;
import com.arsdigita.cms.*;
object type SciOrganization extends GenericOrganizationalUnit {
String[0..1] organizationDescription = ct_sciorga_organizations.description VARCHAR(4096);
String[0..1] organizationShortDescription = ct_sciorga_organizations.shortdescription VARCHAR(500);
String[0..1] organizationDescription = ct_sciorga_organizations.description CLOB;
reference key ( ct_sciorga_organizations.organization_id );
}

View File

@ -20,6 +20,14 @@
component="com.arsdigita.cms.contenttypes.ui.SciDepartmentPropertiesStep"
ordering="1"/>
<ctd:authoring-step
labelKey="sciorganization.ui.department_description.title"
labelBundle="com.arsdigita.cms.contenttypes.ui.SciOrganizationResources"
descriptionKey="sciorganization.ui.department_description.title.description"
component="com.arsdigita.cms.contenttypes.ui.SciDepartmentDescriptionStep"
ordering="2"/>
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
</ctd:authoring-kit>

View File

@ -20,6 +20,13 @@
component="com.arsdigita.cms.contenttypes.ui.SciOrganizationPropertiesStep"
ordering="1"/>
<ctd:authoring-step
labelKey="sciorganization.ui.organizsation_description.title"
labelBundle="com.arsdigita.cms.contenttypes.ui.SciOrganizationResources"
descriptionKey="sciorganization.ui.organization_description.title.description"
component="com.arsdigita.cms.contenttypes.ui.SciOrganizationDescriptionStep"
ordering="2"/>
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
</ctd:authoring-kit>

View File

@ -13,13 +13,23 @@ import java.math.BigDecimal;
*/
public class SciDepartment extends GenericOrganizationalUnit {
public static final String DEPARTMENT_SHORT_DESCRIPTION =
"departmentShortDescription";
public static final String DEPARTMENT_DESCRIPTION = "departmentDescription";
public static final String ORGANIZATION = "organization";
public static final String SUPER_DEPARTMENT = "superDepartment";
public static final String SUBDEPARTMENTS = "subDepartments";
public static final String SUBDEPARTMENT_ORDER = "subDepartmentOrder";
public static final String PROJECTS = "projects";
public static final String PROJECT_ORDER = "projectOrder";
public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.cms.contenttypes.SciDepartment";
private static final SciOrganizationConfig s_config =
new SciOrganizationConfig();
static {
s_config.load();
}
public SciDepartment() {
this(BASE_DATA_OBJECT_TYPE);
@ -41,6 +51,18 @@ public class SciDepartment extends GenericOrganizationalUnit {
super(type);
}
public static final SciOrganizationConfig getConfig() {
return s_config;
}
public String getDepartmentShortDescription() {
return (String) get(DEPARTMENT_SHORT_DESCRIPTION);
}
public void setDepartmentShortDescription(String description) {
set(DEPARTMENT_SHORT_DESCRIPTION, description);
}
public String getDepartmentDescription() {
return (String) get(DEPARTMENT_DESCRIPTION);
}
@ -49,6 +71,64 @@ public class SciDepartment extends GenericOrganizationalUnit {
set(DEPARTMENT_DESCRIPTION, description);
}
public SciDepartment getSuperDepartment() {
DataCollection collection;
collection = (DataCollection) get(SUPER_DEPARTMENT);
if (0 == collection.size()) {
return null;
} else {
DataObject dobj;
collection.next();
dobj = collection.getDataObject();
return new SciDepartment(dobj);
}
}
public void setSuperDepartment(SciDepartment department) {
SciDepartment oldSuperDepartment;
oldSuperDepartment = getSuperDepartment();
remove(SUPER_DEPARTMENT, oldSuperDepartment);
if (null != department) {
Assert.exists(department, SciDepartment.class);
add(SUPER_DEPARTMENT, department);
}
}
public SciOrganization getOrganization() {
DataCollection collection;
collection = (DataCollection) get(ORGANIZATION);
if (0 == collection.size()) {
return null;
} else {
DataObject dobj;
collection.next();
dobj = collection.getDataObject();
return new SciOrganization(dobj);
}
}
public void setOrganization(SciOrganization orga) {
SciOrganization oldOrganization;
oldOrganization = getOrganization();
remove(ORGANIZATION, oldOrganization);
if (null != orga) {
Assert.exists(orga, SciOrganization.class);
add(ORGANIZATION, orga);
}
}
public SciDepartmentSubDepartmentsCollection getSubDepartments() {
return new SciDepartmentSubDepartmentsCollection(
(DataCollection) get(SUBDEPARTMENTS));

View File

@ -13,14 +13,22 @@ import java.math.BigDecimal;
*/
public class SciOrganization extends GenericOrganizationalUnit {
public static final String ORGANIZATION_SHORT_DESCRIPTION =
"organizationShortDescription";
public static final String ORGANIZATION_DESCRIPTION =
"organizationDescription";
public static final String DEPARTMENTS = "departments";
public static final String DEPARTMENT_ORDER = "departmentOrder";
public static final String PROJECTS ="projects";
public static final String PROJECTS = "projects";
public static final String PROJECT_ORDER = "projectOrder";
public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.cms.contenttypes.SciOrganization";
private static final SciOrganizationConfig s_config =
new SciOrganizationConfig();
static {
s_config.load();
}
public SciOrganization() {
this(BASE_DATA_OBJECT_TYPE);
@ -42,6 +50,18 @@ public class SciOrganization extends GenericOrganizationalUnit {
super(type);
}
public static final SciOrganizationConfig getConfig() {
return s_config;
}
public String getOrganizationShortDescription() {
return (String) get(ORGANIZATION_SHORT_DESCRIPTION);
}
public void setOrganizationShortDescription(String description) {
set(ORGANIZATION_SHORT_DESCRIPTION, description);
}
public String getOrganizationDescription() {
return (String) get(ORGANIZATION_DESCRIPTION);
}

View File

@ -10,12 +10,108 @@ import com.arsdigita.util.parameter.Parameter;
*/
public class SciOrganizationConfig extends AbstractConfig {
private final Parameter m_organizationAddPersonHide;
private final Parameter m_organizationAddDepartmentHide;
private final Parameter m_organizationAddProjectHide;
private final Parameter m_organizationAddContactHide;
private final Parameter m_departmentAddPersonHide;
private final Parameter m_departmentAddSubDepartmentHide;
private final Parameter m_departmentAddProjectHide;
private final Parameter m_departmentSetOrganizationHide;
private final Parameter m_departmentSetSuperDepartmentHide;
private final Parameter m_departmentAddContactHide;
private final Parameter m_projectAddPersonHide;
private final Parameter m_projectAddOrganizationHide;
private final Parameter m_projectAddDepartmentHide;
private final Parameter m_projectAddSubProjectHide;
private final Parameter m_projectSetSuperProjectHide;
private final Parameter m_projectAddContactHide;
private final Parameter m_organizationDescriptionDhtml;
private final Parameter m_departmentDescriptionDhtml;
private final Parameter m_projectDescriptionDhtml;
private final Parameter m_projectFundingHide;
private final Parameter m_projectFundingDhtml;
private final Parameter m_projectMaterialsHide;
private final Parameter m_organizationPersonsHide;
public SciOrganizationConfig() {
m_organizationAddPersonHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.add_person_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_organizationAddDepartmentHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.add_department_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_organizationAddProjectHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.add_project_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_organizationAddContactHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.add_contact_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_departmentAddPersonHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.add_person_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_departmentAddSubDepartmentHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.add_subdepartment_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_departmentAddProjectHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.add_project_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_departmentSetOrganizationHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.organization_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_departmentSetSuperDepartmentHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.set_superdepartment_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_departmentAddContactHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.add_contact_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_projectAddPersonHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.add_person_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_projectAddOrganizationHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.add_organization_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_projectAddDepartmentHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.add_department_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_projectAddSubProjectHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.add_subproject_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_projectSetSuperProjectHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.set_superproject_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_projectAddContactHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.add_project_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_organizationDescriptionDhtml = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.description_dhtml",
Parameter.REQUIRED,
Boolean.TRUE);
m_departmentDescriptionDhtml = new BooleanParameter(
"com.arsdigita.cms.contenttypes.scidepartment.description_dhtml",
Parameter.REQUIRED,
Boolean.TRUE);
m_projectDescriptionDhtml = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.description_dhtml",
Parameter.REQUIRED,
Boolean.TRUE);
m_projectFundingHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciproject.funding_hide",
Parameter.REQUIRED,
@ -28,32 +124,119 @@ public class SciOrganizationConfig extends AbstractConfig {
"com.arsdigita.cms.contenttypes.sciproject.materials_hide",
Parameter.REQUIRED,
Boolean.FALSE);
m_organizationPersonsHide = new BooleanParameter(
"com.arsdigita.cms.contenttypes.sciorganization.persons_hide",
Parameter.REQUIRED,
Boolean.TRUE);
register(m_organizationAddPersonHide);
register(m_organizationAddDepartmentHide);
register(m_organizationAddProjectHide);
register(m_departmentAddPersonHide);
register(m_departmentAddSubDepartmentHide);
register(m_departmentAddProjectHide);
register(m_departmentSetOrganizationHide);
register(m_departmentSetSuperDepartmentHide);
register(m_projectAddPersonHide);
register(m_projectAddOrganizationHide);
register(m_projectAddDepartmentHide);
register(m_projectAddSubProjectHide);
register(m_projectSetSuperProjectHide);
register(m_organizationDescriptionDhtml);
register(m_departmentDescriptionDhtml);
register(m_projectDescriptionDhtml);
register(m_organizationAddContactHide);
register(m_departmentAddContactHide);
register(m_projectAddContactHide);
register(m_projectFundingHide);
register(m_projectFundingDhtml);
register(m_projectMaterialsHide);
register(m_organizationPersonsHide);
loadInfo();
}
public final boolean getOrganizationAddPersonHide() {
return (Boolean) get(m_organizationAddPersonHide);
}
public final boolean getOrganizationAddDepartmentHide() {
return (Boolean) get(m_organizationAddDepartmentHide);
}
public final boolean getOrganizationAddProjectHide() {
return (Boolean) get(m_organizationAddProjectHide);
}
public final boolean getOrganizationAddContactHide() {
return (Boolean) get(m_organizationAddContactHide);
}
public final boolean getDepartmentAddPersonHide() {
return (Boolean) get(m_departmentAddPersonHide);
}
public final boolean getDepartmentAddSubDepartmentHide() {
return (Boolean) get(m_departmentAddSubDepartmentHide);
}
public final boolean getDepartmentAddProjectHide() {
return (Boolean) get(m_departmentAddProjectHide);
}
public final boolean getDepartmentSetOrganizationHide() {
return (Boolean) get(m_departmentSetOrganizationHide);
}
public final boolean getDepartmentSetSuperDepartmentHide() {
return (Boolean) get(m_departmentSetSuperDepartmentHide);
}
public final boolean getDepartmentAddContactHide() {
return (Boolean) get(m_departmentAddContactHide);
}
public final boolean getProjectAddPersonHide() {
return (Boolean) get(m_projectAddPersonHide);
}
public final boolean getProjectAddOrganizationHide() {
return (Boolean) get(m_projectAddOrganizationHide);
}
public final boolean getProjectAddDepartmentHide() {
return (Boolean) get(m_projectAddDepartmentHide);
}
public final boolean getProjectAddSubProjectHide() {
return (Boolean) get(m_projectAddSubProjectHide);
}
public final boolean getProjectSetSuperProjectHide() {
return (Boolean) get(m_projectSetSuperProjectHide);
}
public final boolean getProjectAddContactHide() {
return (Boolean) get(m_projectAddContactHide);
}
public final boolean getOrganizationDescriptionDhtml() {
return (Boolean) get(m_organizationDescriptionDhtml);
}
public final boolean getDepartmentDescriptionDhtml() {
return (Boolean) get(m_departmentDescriptionDhtml);
}
public final boolean getProjectDescriptionDhtml() {
return (Boolean) get(m_projectDescriptionDhtml);
}
public final boolean getProjectFundingHide() {
return (Boolean) get(m_projectFundingHide);
}
public final boolean getProjectFundingDhtml() {
public final boolean getProjectFundingDhtml() {
return (Boolean) get(m_projectFundingDhtml);
}
public final boolean getProjectMaterialsHide() {
return (Boolean) get(m_projectMaterialsHide);
}
public final boolean getOrganizationPersonsHide() {
return (Boolean) get(m_organizationPersonsHide);
}
}

View File

@ -1,10 +1,100 @@
com.arsdigita.cms.contenttypes.sciorganization.add_person_hide.title = Hide the persons add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_person_hide.purpose = Hide the persons add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_person_hide.example = false
com.arsdigita.cms.contenttypes.sciorganization.add_person_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciorganization.add_department_hide.title = Hide the department add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_department_hide.purpose = Hide the department add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_department_hide.example = false
com.arsdigita.cms.contenttypes.sciorganization.add_department_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciorganization.add_project_hide.title = Hide the project add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_project_hide.purpose = Hide the project add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_project_hide.example = false
com.arsdigita.cms.contenttypes.sciorganization.add_project_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciorganization.add_contact_hide.title = Hide the contact add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_contact_hide.purpose = Hide the contact add step of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.add_contact_hide.example = false
com.arsdigita.cms.contenttypes.sciorganization.add_contact_hide.format = [boolean]
com.arsdigita.cms.contenttypes.scidepartment.add_person_hide.title = Hide the person add step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.add_person_hide.purpose = Hide the person add step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.add_person_hide.example = false
com.arsdigita.cms.contenttypes.scidepartment.add_person_hide.format = [boolean]
com.arsdigita.cms.contenttypes.scidepartment.add_subdepartment_hide.title = Hide the subdepartment add step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.add_subdepartment_hide.purpose = Hide the subdepartment add step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.add_subdepartment_hide.example = false
com.arsdigita.cms.contenttypes.scidepartment.add_subdepartment_hide.format = [boolean]
com.arsdigita.cms.contenttypes.scidepartment.set_organization_hide.title = Hide the organization set step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.set_organization_hide.purpose = Hide the organization set step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.set_organization_hide.example = false
com.arsdigita.cms.contenttypes.scidepartment.set_organization_hide.format = [boolean]
com.arsdigita.cms.contenttypes.scidepartment.set_superdepartment_hide.title = Hide the superdepartment set step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.set_superdepartment_hide.purpose = Hide the superdepartment set step of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.set_superdepartment_hide.example = false
com.arsdigita.cms.contenttypes.scidepartment.set_superdepartment_hide.format = [boolean]
com.arsdigita.cms.contenttypes.scidepartment.add_contact_hide.title = Hide the contact add step of Scidepartment
com.arsdigita.cms.contenttypes.scidepartment.add_contact_hide.purpose = Hide the contact add step of Scidepartment
com.arsdigita.cms.contenttypes.scidepartment.add_contact_hide.example = false
com.arsdigita.cms.contenttypes.scidepartment.add_contact_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.add_person_hide.title = Hide the person add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_person_hide.purpose = Hide the person add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_person_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.add_person_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.add_organization_hide.title = Hide the organization add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_organization_hide.purpose = Hide the organization add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_organization_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.add_organization_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.add_department_hide.title = Hide the department add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_department_hide.purpose Hide the department add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_department_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.add_department_hide = [boolean]
com.arsdigita.cms.contenttypes.sciproject.add_subproject_hide.title = Hide the subproject add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_subproject_hide.purpose = Hide the subproject add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.add_subproject_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.add_subproject_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.set_superproject_hide.title = Hide the superproject add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.set_superproject_hide.purpose = Hide the superprojecft add step of SciProject
com.arsdigita.cms.contenttypes.sciproject.set_superproject_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.set_superproject_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciorganization.description_dhtml.title = Toggles the DHTML for the description of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.description_dhtml.purpose = Toggles the DHTML for the description of SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.description_dhtml.example = true
com.arsdigita.cms.contenttypes.sciorganization.description_dhtml.format = [boolean]
com.arsdigita.cms.contenttypes.scidepartment.description_dhtml.title = Toggles the DHTML for the description of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.description_dhtml.purpose = Toggles the DHTML for the description of SciDepartment
com.arsdigita.cms.contenttypes.scidepartment.description_dhtml.example = true
com.arsdigita.cms.contenttypes.scidepartment.description_dhtml = [boolean]
com.arsdigita.cms.contenttypes.sciproject.description_dhtml.title = Toggles the DHTML for the description of SciProject
com.arsdigita.cms.contenttypes.sciproject.description_dhtml.purpose = Toggles the DHTML for the description of SciProject
com.arsdigita.cms.contenttypes.sciproject.description_dhtml.example = true
com.arsdigita.cms.contenttypes.sciproject.description_dhtml.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.add_contact_hide.title = Hide the contact add step of Sciproject
com.arsdigita.cms.contenttypes.sciproject.add_contact_hide.purpose = Hide the contact add step of Sciproject
com.arsdigita.cms.contenttypes.sciproject.add_contact_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.add_contact_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.funding_hide.title = Hide funding text input
com.arsdigita.cms.contenttypes.sciproject.funding_hide.purpose = Hide the funding text inpu
com.arsdigita.cms.contenttypes.sciproject.funding_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.funding_hide.example = true
com.arsdigita.cms.contenttypes.sciproject.funding_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciproject.funding_dhtml.title = Toggles the DHTML for funding
com.arsdigita.cms.contenttypes.sciproject.funding_dhtml.purpose = Toggles the DHTML editor
com.arsdigita.cms.contenttypes.sciproject.funding_dhtml.title = Toggles the DHTML editor for funding
com.arsdigita.cms.contenttypes.sciproject.funding_dhtml.purpose = Toggles the DHTML editor for funding
com.arsdigita.cms.contenttypes.sciproject.funding_dhtml.example = false
com.arsdigita.cms.contenttypes.sciproject.funding_dhtml.format = [boolean]
@ -13,7 +103,3 @@ com.arsdigita.cms.contenttypes.sciproject.materials_hide.purpose = Hides the ste
com.arsdigita.cms.contenttypes.sciproject.materials_hide.example = false
com.arsdigita.cms.contenttypes.sciproject.materials_hide.format = [boolean]
com.arsdigita.cms.contenttypes.sciorganization.persons_hide.title = Hides the persons step for SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.persons_hide.purpose = Hides the persons step for SciOrganization
com.arsdigita.cms.contenttypes.sciorganization.persons_hide.example = true
com.arsdigita.cms.contenttypes.sciorganization.persons_hide.format = [boolean]

View File

@ -0,0 +1,80 @@
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.ui.CMSDHTMLEditor;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
/**
*
* @author Jens Pelzetter
*/
public class SciDepartmentDescriptionEditForm
extends BasicItemForm
implements FormProcessListener,
FormInitListener {
public SciDepartmentDescriptionEditForm(ItemSelectionModel itemModel) {
super("scidepartmentEditDescForm", itemModel);
}
@Override
protected void addWidgets() {
add(new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.description")));
ParameterModel descParam = new StringParameter(
SciDepartment.DEPARTMENT_DESCRIPTION);
TextArea desc;
if (SciDepartment.getConfig().getDepartmentDescriptionDhtml()) {
desc = new CMSDHTMLEditor(descParam);
} else {
desc = new TextArea(descParam);
}
desc.setCols(75);
desc.setRows(25);
add(desc);
}
@Override
public void init(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
FormData data = fse.getFormData();
SciDepartment department = (SciDepartment) getItemSelectionModel().
getSelectedObject(state);
data.put(SciDepartment.DEPARTMENT_DESCRIPTION,
department.getDepartmentDescription());
setVisible(state, true);
}
@Override
public void process(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
FormData data = fse.getFormData();
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);
}
}
}

View File

@ -0,0 +1,63 @@
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
*/
public class SciDepartmentDescriptionStep extends SimpleEditStep {
private String EDIT_DEPARTMENT_DESC_SHEET_NAME = "editDepartmentDesc";
private String UPLOAD_DEPARTMENT_DESC_SHEET_NAME = "uploadDepartmentDesc";
public SciDepartmentDescriptionStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
this(itemModel, parent, null);
}
public SciDepartmentDescriptionStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent,
String prefix) {
super(itemModel, parent, prefix);
BasicItemForm editDescForm =
new SciDepartmentDescriptionEditForm(itemModel);
add(EDIT_DEPARTMENT_DESC_SHEET_NAME,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.edit_desc").localize(),
new WorkflowLockedComponentAccess(editDescForm, itemModel),
editDescForm.getSaveCancelSection().getCancelButton());
SciDepartmentDescriptionUploadForm uploadDescForm =
new SciDepartmentDescriptionUploadForm(
itemModel);
add(UPLOAD_DEPARTMENT_DESC_SHEET_NAME,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.upload_desc").localize(),
new WorkflowLockedComponentAccess(uploadDescForm, itemModel),
uploadDescForm.getSaveCancelSection().getCancelButton());
setDisplayComponent(
getSciDepartmentDescSheet(itemModel));
}
public static Component getSciDepartmentDescSheet(
ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
itemModel);
sheet.add(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.desc"),
SciDepartment.DEPARTMENT_DESCRIPTION);
return sheet;
}
}

View File

@ -0,0 +1,39 @@
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
*/
public class SciDepartmentDescriptionUploadForm extends AbstractTextUploadForm {
public SciDepartmentDescriptionUploadForm(ItemSelectionModel itemModel) {
super(itemModel);
}
@Override
public GlobalizedMessage getLabelText() {
return SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.description.upload");
}
@Override
public GlobalizedMessage getMimeTypeLabel() {
return SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.description.upload.mimetype");
}
@Override
public void setText(ItemSelectionModel itemModel,
PageState state,
String text) {
SciDepartment department = (SciDepartment) itemModel.getSelectedObject(
state);
department.setDepartmentDescription(text);
department.save();
}
}

View File

@ -0,0 +1,63 @@
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.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.SciDepartment;
import com.arsdigita.cms.contenttypes.SciOrganization;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
/**
*
* @author Jens Pelzetter
*/
public class SciDepartmentOrganizationForm
extends BasicItemForm
implements FormProcessListener,
FormInitListener {
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "departmentOrga";
public SciDepartmentOrganizationForm(ItemSelectionModel itemModel) {
super("DepartmentOrganizationForm", itemModel);
}
@Override
protected void addWidgets() {
add(new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.select_organization")));
m_itemSearch = new ItemSearchWidget(ITEM_SEARCH,
ContentType.
findByAssociatedObjectType(SciOrganization.class.getName()));
add(m_itemSearch);
}
@Override
public void init(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
setVisible(state, true);
}
@Override
public void process(FormSectionEvent fse) throws FormProcessException {
FormData data = fse.getFormData();
PageState state = fse.getPageState();
SciDepartment department = (SciDepartment) getItemSelectionModel().
getSelectedObject(state);
if (this.getSaveCancelSection().getSaveButton().isSelected(state)) {
department.setOrganization((SciOrganization) data.get(ITEM_SEARCH));
init(fse);
}
}
}

View File

@ -0,0 +1,205 @@
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.event.TableActionEvent;
import com.arsdigita.bebop.event.TableActionListener;
import com.arsdigita.bebop.table.TableCellRenderer;
import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.SciDepartment;
import com.arsdigita.cms.contenttypes.SciOrganization;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.util.LockableImpl;
/**
*
* @author Jens Pelzetter
*/
public class SciDepartmentOrganizationSheet
extends Table
implements TableActionListener {
private final String TABLE_COL_EDIT = "table_col_edit";
private final String TABLE_COL_DEL = "table_col_del";
private ItemSelectionModel m_itemModel;
public SciDepartmentOrganizationSheet(ItemSelectionModel itemModel) {
super();
m_itemModel = itemModel;
setEmptyView(
new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.organization_none")));
TableColumnModel colModel = getColumnModel();
colModel.add(new TableColumn(
0,
SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.organization").localize(),
TABLE_COL_EDIT));
colModel.add(new TableColumn(
1,
SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.organization.remove").localize(),
TABLE_COL_DEL));
setModelBuilder(
new SciDepartmentOrganizationSheetModelBuilder(itemModel));
colModel.get(0).setCellRenderer(new EditCellRenderer());
colModel.get(1).setCellRenderer(new DeleteCellRenderer());
addTableActionListener(this);
}
private class SciDepartmentOrganizationSheetModelBuilder
extends LockableImpl
implements TableModelBuilder {
private ItemSelectionModel m_itemModel;
public SciDepartmentOrganizationSheetModelBuilder(
ItemSelectionModel itemModel) {
m_itemModel = itemModel;
}
@Override
public TableModel makeModel(Table table, PageState state) {
table.getRowSelectionModel().clearSelection(state);
SciDepartment department = (SciDepartment) m_itemModel.
getSelectedObject(state);
return new SciDepartmentOrganizationSheetModel(table,
state,
department);
}
}
private class SciDepartmentOrganizationSheetModel
implements TableModel {
private Table m_table;
private SciOrganization m_orga;
public SciDepartmentOrganizationSheetModel(Table table,
PageState state,
SciDepartment department) {
m_table = table;
m_orga = department.getOrganization();
}
public int getColumnCount() {
return m_table.getColumnModel().size();
}
public boolean nextRow() {
boolean ret;
if (null == m_orga) {
ret = false;
} else {
ret = true;
m_orga = null;
}
return ret;
}
public Object getElementAt(int columnIndex) {
switch (columnIndex) {
case 0:
return m_orga.getTitle();
case 1:
return SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.departemnt.organzation.remove");
default:
return null;
}
}
public Object getKeyAt(int columnIndex) {
return m_orga.getID();
}
}
private class EditCellRenderer
extends LockableImpl
implements TableCellRenderer {
@Override
public Component getComponent(Table table,
PageState state,
Object value,
boolean isSelected,
Object key,
int row,
int column) {
Label label = new Label(value.toString());
return label;
}
}
private class DeleteCellRenderer
extends LockableImpl
implements TableCellRenderer {
@Override
public Component getComponent(Table table,
PageState state,
Object value,
boolean isSelected,
Object key,
int row,
int col) {
SecurityManager securityManager =
Utilities.getSecurityManager(state);
SciDepartment project = (SciDepartment) m_itemModel.
getSelectedObject(
state);
boolean canEdit = securityManager.canAccess(
state.getRequest(),
SecurityManager.DELETE_ITEM,
project);
if (canEdit) {
ControlLink link = new ControlLink(value.toString());
link.setConfirmation((String) SciOrganizationGlobalizationUtil.
globalize(
"sciorganization.ui.department.organization."
+ ".confirm_remove").
localize());
return link;
} else {
Label label = new Label(value.toString());
return label;
}
}
}
@Override
public void cellSelected(TableActionEvent event) {
PageState state = event.getPageState();
SciDepartment department = (SciDepartment) m_itemModel.getSelectedObject(
state);
TableColumn column = getColumnModel().get(event.getColumn().intValue());
if (column.getHeaderKey().toString().equals(TABLE_COL_EDIT)) {
} else if (column.getHeaderKey().toString().equals(TABLE_COL_DEL)) {
department.setOrganization(null);
}
}
@Override
public void headSelected(TableActionEvent event) {
//Nothing to do
}
}

View File

@ -0,0 +1,41 @@
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
*/
public class SciDepartmentOrganizationStep extends SimpleEditStep {
private String SET_DEPARTMENT_ORGANIZATION_STEP =
"setDepartmentOrganization";
public SciDepartmentOrganizationStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
this(itemModel, parent, null);
}
public SciDepartmentOrganizationStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent,
String prefix) {
super(itemModel, parent, prefix);
BasicItemForm setOrgaForm =
new SciDepartmentOrganizationForm(itemModel);
add(SET_DEPARTMENT_ORGANIZATION_STEP,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.setOrganization").localize(),
new WorkflowLockedComponentAccess(setOrgaForm, itemModel),
setOrgaForm.getSaveCancelSection().getCancelButton());
SciDepartmentOrganizationSheet sheet =
new SciDepartmentOrganizationSheet(
itemModel);
setDisplayComponent(sheet);
}
}

View File

@ -3,6 +3,8 @@ 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.contenttypes.SciOrganizationConfig;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
@ -61,12 +63,41 @@ public class SciDepartmentPropertiesStep
@Override
protected void addSteps(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
super.addSteps(itemModel, parent);
//super.addSteps(itemModel, parent);
addStep(new SciDepartmentSubDepartmentsStep(itemModel, parent),
"sciorganization.ui.department.subdepartments");
SciOrganizationConfig config;
config = SciDepartment.getConfig();
addStep(new SciDepartmentProjectsStep(itemModel, parent),
"sciorganization.ui.department.projects");
if (!config.getDepartmentAddContactHide()) {
addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.contact");
}
if (!config.getDepartmentAddPersonHide()) {
addStep(new GenericOrganizationalUnitPersonPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.persons");
}
if (!config.getDepartmentAddSubDepartmentHide()) {
addStep(new SciDepartmentSubDepartmentsStep(itemModel, parent),
"sciorganization.ui.department.subdepartments");
}
if (!config.getDepartmentSetSuperDepartmentHide()) {
addStep(new SciDepartmentSuperDepartmentStep(itemModel, parent),
"sciorganization.ui.department.superdepartment");
}
if (!config.getDepartmentAddProjectHide()) {
addStep(new SciDepartmentProjectsStep(itemModel, parent),
"sciorganization.ui.department.projects");
}
if (!config.getDepartmentSetOrganizationHide()) {
addStep(new SciDepartmentOrganizationStep(itemModel, parent),
"sciorganization.ui.department.organization");
}
}
}

View File

@ -38,13 +38,13 @@ public class SciDepartmentPropertyForm
super.addWidgets();
Label descLabel = new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganizations.ui.department.description"));
"sciorganizations.ui.department.shortdescription"));
add(descLabel);
ParameterModel descParam = new StringParameter(
SciDepartment.DEPARTMENT_DESCRIPTION);
SciDepartment.DEPARTMENT_SHORT_DESCRIPTION);
TextArea desc = new TextArea(descParam);
desc.setCols(60);
desc.setRows(18);
desc.setCols(75);
desc.setRows(5);
add(desc);
}
@ -55,8 +55,8 @@ public class SciDepartmentPropertyForm
FormData data = fse.getFormData();
SciDepartment department = (SciDepartment) super.initBasicWidgets(fse);
data.put(SciDepartment.DEPARTMENT_DESCRIPTION,
department.getDepartmentDescription());
data.put(SciDepartment.DEPARTMENT_SHORT_DESCRIPTION,
department.getDepartmentShortDescription());
}
@Override
@ -69,8 +69,8 @@ public class SciDepartmentPropertyForm
if ((department != null) && getSaveCancelSection().getSaveButton().
isSelected(fse.getPageState())) {
department.setDepartmentDescription(
(String) data.get(SciDepartment.DEPARTMENT_DESCRIPTION));
department.setDepartmentShortDescription(
(String) data.get(SciDepartment.DEPARTMENT_SHORT_DESCRIPTION));
department.save();

View File

@ -0,0 +1,65 @@
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.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.SciDepartment;
import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
/**
*
* @author Jens Pelzetter
*/
public class SciDepartmentSuperDepartmentForm
extends BasicItemForm
implements FormProcessListener,
FormInitListener {
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "superdepartment";
public SciDepartmentSuperDepartmentForm(ItemSelectionModel itemModel) {
super("SuperDepartmentSetForm", itemModel);
}
@Override
public void addWidgets() {
add(new Label((String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.select_superdepartment").
localize()));
m_itemSearch = new ItemSearchWidget(
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
SciDepartment.class.getName()));
add(m_itemSearch);
}
@Override
public void init(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
setVisible(state, true);
}
@Override
public void process(FormSectionEvent fse) throws FormProcessException {
FormData data = fse.getFormData();
PageState state = fse.getPageState();
SciDepartment department = (SciDepartment) getItemSelectionModel().
getSelectedObject(state);
if ((this.getSaveCancelSection().getSaveButton().isSelected(state))) {
department.setSuperDepartment(
(SciDepartment) data.get(ITEM_SEARCH));
init(fse);
}
}
}

View File

@ -0,0 +1,205 @@
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.event.TableActionEvent;
import com.arsdigita.bebop.event.TableActionListener;
import com.arsdigita.bebop.table.TableCellRenderer;
import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.SecurityManager;
import com.arsdigita.cms.contenttypes.SciDepartment;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.util.LockableImpl;
/**
*
* @author Jens Pelzetter
*/
public class SciDepartmentSuperDepartmentSheet
extends Table
implements TableActionListener {
private final String TABLE_COL_EDIT = "table_col_edit";
private final String TABLE_COL_DEL = "table_col_del";
private ItemSelectionModel m_itemModel;
public SciDepartmentSuperDepartmentSheet(ItemSelectionModel itemModel) {
super();
m_itemModel = itemModel;
setEmptyView(
new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.superdepartment_none")));
TableColumnModel colModel = getColumnModel();
colModel.add(new TableColumn(
0,
SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.superdepartment").localize(),
TABLE_COL_EDIT));
colModel.add(new TableColumn(
1,
SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.superdepartment.remove").localize(),
TABLE_COL_DEL));
setModelBuilder(
new SciDepartmentSuperDepartmentSheetModelBuilder(itemModel));
colModel.get(0).setCellRenderer(new EditCellRenderer());
colModel.get(1).setCellRenderer(new DeleteCellRenderer());
addTableActionListener(this);
}
private class SciDepartmentSuperDepartmentSheetModelBuilder
extends LockableImpl
implements TableModelBuilder {
private ItemSelectionModel m_itemModel;
public SciDepartmentSuperDepartmentSheetModelBuilder(
ItemSelectionModel itemModel) {
m_itemModel = itemModel;
}
@Override
public TableModel makeModel(Table table, PageState state) {
table.getRowSelectionModel().clearSelection(state);
SciDepartment department = (SciDepartment) m_itemModel.
getSelectedObject(state);
return new SciDepartmentSuperDepartmentSheetModel(table,
state,
department);
}
}
private class SciDepartmentSuperDepartmentSheetModel
implements TableModel {
private Table m_table;
private SciDepartment m_superDepartment;
public SciDepartmentSuperDepartmentSheetModel(Table table,
PageState state,
SciDepartment department) {
m_table = table;
m_superDepartment = department.getSuperDepartment();
}
@Override
public int getColumnCount() {
return m_table.getColumnModel().size();
}
@Override
public boolean nextRow() {
boolean ret;
if (null == m_superDepartment) {
ret = false;
} else {
ret = true;
m_superDepartment = null;
}
return ret;
}
@Override
public Object getElementAt(int columnIndex) {
switch (columnIndex) {
case 0:
return m_superDepartment.getTitle();
case 1:
return SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.superdepartment.remove");
default:
return null;
}
}
@Override
public Object getKeyAt(int columnIndex) {
return m_superDepartment.getID();
}
}
private class EditCellRenderer
extends LockableImpl
implements TableCellRenderer {
@Override
public Component getComponent(Table table,
PageState state, Object value,
boolean isSelected,
Object key,
int row,
int column) {
Label label = new Label(value.toString());
return label;
}
}
private class DeleteCellRenderer
extends LockableImpl
implements TableCellRenderer {
@Override
public Component getComponent(Table table,
PageState state, Object value,
boolean isSelected,
Object key,
int row,
int column) {
SecurityManager securityManager =
Utilities.getSecurityManager(state);
SciDepartment project = (SciDepartment) m_itemModel.
getSelectedObject(
state);
boolean canEdit = securityManager.canAccess(
state.getRequest(),
SecurityManager.DELETE_ITEM,
project);
if (canEdit) {
ControlLink link = new ControlLink(value.toString());
link.setConfirmation((String) SciOrganizationGlobalizationUtil.
globalize(
"sciorganization.ui.department.superdepartment."
+ ".confirm_remove").
localize());
return link;
} else {
Label label = new Label(value.toString());
return label;
}
}
}
public void cellSelected(TableActionEvent event) {
PageState state = event.getPageState();
SciDepartment department = (SciDepartment) m_itemModel.getSelectedObject(
state);
TableColumn column = getColumnModel().get(event.getColumn().intValue());
if (column.getHeaderKey().toString().equals(TABLE_COL_EDIT)) {
} else if (column.getHeaderKey().toString().equals(TABLE_COL_DEL)) {
department.setSuperDepartment(null);
}
}
public void headSelected(TableActionEvent event) {
//Noting to do
}
}

View File

@ -0,0 +1,43 @@
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
*/
public class SciDepartmentSuperDepartmentStep extends SimpleEditStep {
private String SET_SUPER_DEPARTMENT_STEP = "setSuperDepartment";
public SciDepartmentSuperDepartmentStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
this(itemModel, parent, null);
}
public SciDepartmentSuperDepartmentStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent,
String prefix) {
super(itemModel, parent, prefix);
BasicItemForm setSuperDepartmentForm =
new SciDepartmentSuperDepartmentForm(itemModel);
add(SET_SUPER_DEPARTMENT_STEP,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.department.setSuperDepartment").localize(),
new WorkflowLockedComponentAccess(setSuperDepartmentForm,
itemModel),
setSuperDepartmentForm.getSaveCancelSection().
getCancelButton());
SciDepartmentSuperDepartmentSheet sheet =
new SciDepartmentSuperDepartmentSheet(
itemModel);
setDisplayComponent(sheet);
}
}

View File

@ -0,0 +1,81 @@
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.SciOrganization;
import com.arsdigita.cms.ui.CMSDHTMLEditor;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
/**
*
* @author Jens Pelzetter
*/
public class SciOrganizationDescriptionEditForm
extends BasicItemForm
implements FormProcessListener,
FormInitListener {
public SciOrganizationDescriptionEditForm(ItemSelectionModel itemModel) {
super("sciorganizationEditDescForm", itemModel);
}
@Override
public void addWidgets() {
add(new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.organization.description")));
ParameterModel descParam = new StringParameter(
SciOrganization.ORGANIZATION_DESCRIPTION);
TextArea desc;
if (SciOrganization.getConfig().getOrganizationDescriptionDhtml()) {
desc = new CMSDHTMLEditor(descParam);
} else {
desc = new TextArea(descParam);
}
desc.setCols(75);
desc.setRows(25);
add(desc);
}
@Override
public void init(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
FormData data = fse.getFormData();
SciOrganization orga = (SciOrganization) getItemSelectionModel().
getSelectedObject(state);
data.put(SciOrganization.ORGANIZATION_DESCRIPTION,
orga.getOrganizationDescription());
setVisible(state, true);
}
@Override
public void process(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
FormData data = fse.getFormData();
SciOrganization orga = (SciOrganization) getItemSelectionModel().
getSelectedObject(state);
if ((orga != null) && this.getSaveCancelSection().getSaveButton().
isSelected(state)) {
orga.setOrganizationDescription((String) data.get(
SciOrganization.ORGANIZATION_DESCRIPTION));
orga.save();
init(fse);
}
}
}

View File

@ -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.SciOrganization;
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
*/
public class SciOrganizationDescriptionStep extends SimpleEditStep {
private String EDIT_ORGANIZATION_DESC_SHEET_NAME = "editOrganizationDesc";
private String UPLOAD_ORGANIZATION_DESC_SHEET_NAME =
"uploadOrganizationDesc";
public SciOrganizationDescriptionStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
this(itemModel, parent, null);
}
public SciOrganizationDescriptionStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent,
String prefix) {
super(itemModel, parent, prefix);
BasicItemForm editDescForm =
new SciOrganizationDescriptionEditForm(itemModel);
add(EDIT_ORGANIZATION_DESC_SHEET_NAME,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.organization.edit_desc").localize(),
new WorkflowLockedComponentAccess(editDescForm, itemModel),
editDescForm.getSaveCancelSection().getCancelButton());
SciOrganizationDescriptionUploadForm uploadDescForm =
new SciOrganizationDescriptionUploadForm(itemModel);
add(UPLOAD_ORGANIZATION_DESC_SHEET_NAME,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.organization.upload_desc").localize(),
new WorkflowLockedComponentAccess(uploadDescForm, itemModel),
uploadDescForm.getSaveCancelSection().getCancelButton());
setDisplayComponent(getSciOrganizationEditDescSheet(itemModel));
}
public static Component getSciOrganizationEditDescSheet(
ItemSelectionModel itemModel) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
itemModel);
sheet.add(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.organization.desc"),
SciOrganization.ORGANIZATION_DESCRIPTION);
return sheet;
}
}

View File

@ -0,0 +1,40 @@
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.PageState;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.SciOrganization;
import com.arsdigita.globalization.GlobalizedMessage;
/**
*
* @author Jens Pelzetter
*/
public class SciOrganizationDescriptionUploadForm
extends AbstractTextUploadForm {
public SciOrganizationDescriptionUploadForm(ItemSelectionModel itemModel) {
super(itemModel);
}
@Override
public GlobalizedMessage getLabelText() {
return SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.organization.description.upload");
}
@Override
public GlobalizedMessage getMimeTypeLabel() {
return SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.organization.description.upload.mimetype");
}
@Override
public void setText(ItemSelectionModel itemModel,
PageState state,
String text) {
SciOrganization orga = (SciOrganization) itemModel.getSelectedObject(
state);
orga.setOrganizationDescription(text);
orga.save();
}
}

View File

@ -2,6 +2,8 @@ package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Label;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.SciOrganization;
import com.arsdigita.cms.contenttypes.SciOrganizationConfig;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
@ -50,12 +52,31 @@ public class SciOrganizationPropertiesStep
@Override
protected void addSteps(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
super.addSteps(itemModel, parent);
//super.addSteps(itemModel, parent);
addStep(new SciOrganizationDepartmentsStep(itemModel, parent),
"sciorganization.ui.organization.departments");
SciOrganizationConfig config;
config = SciOrganization.getConfig();
addStep(new SciOrganizationProjectsStep(itemModel, parent),
"sciorganization.ui.organization.projects");
if (!config.getOrganizationAddContactHide()) {
addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.contact");
}
if (!config.getOrganizationAddPersonHide()) {
addStep(new GenericOrganizationalUnitPersonPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.persons");
}
if (!config.getOrganizationAddDepartmentHide()) {
addStep(new SciOrganizationDepartmentsStep(itemModel, parent),
"sciorganization.ui.organization.departments");
}
if (!config.getOrganizationAddProjectHide()) {
addStep(new SciOrganizationProjectsStep(itemModel, parent),
"sciorganization.ui.organization.projects");
}
}
}

View File

@ -40,13 +40,13 @@ public class SciOrganizationPropertyForm
super.addWidgets();
Label descLabel = new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganizations.ui.organization.description"));
"sciorganizations.ui.organization.shortdescription"));
add(descLabel);
ParameterModel descParam = new StringParameter(
SciOrganization.ORGANIZATION_DESCRIPTION);
SciOrganization.ORGANIZATION_SHORT_DESCRIPTION);
TextArea desc = new TextArea(descParam);
desc.setCols(60);
desc.setRows(18);
desc.setCols(75);
desc.setRows(5);
add(desc);
}
@ -57,8 +57,8 @@ public class SciOrganizationPropertyForm
FormData data = fse.getFormData();
SciOrganization orga = (SciOrganization) super.initBasicWidgets(fse);
data.put(SciOrganization.ORGANIZATION_DESCRIPTION,
orga.getOrganizationDescription());
data.put(SciOrganization.ORGANIZATION_SHORT_DESCRIPTION,
orga.getOrganizationShortDescription());
}
@Override
@ -72,8 +72,8 @@ public class SciOrganizationPropertyForm
if ((organization != null) && getSaveCancelSection().getSaveButton().
isSelected(fse.getPageState())) {
organization.setOrganizationDescription((String) data.get(
SciOrganization.ORGANIZATION_DESCRIPTION));
organization.setOrganizationShortDescription((String) data.get(
SciOrganization.ORGANIZATION_SHORT_DESCRIPTION));
organization.save();
}

View File

@ -34,7 +34,12 @@ public class SciProjectDescriptionEditForm
"sciorganizazion.ui.project.description")));
ParameterModel descParam = new StringParameter(
SciProject.PROJECT_DESCRIPTION);
CMSDHTMLEditor desc = new CMSDHTMLEditor(descParam);
TextArea desc;
if (SciProject.getConfig().getProjectDescriptionDhtml()) {
desc = new CMSDHTMLEditor(descParam);
} else {
desc = new TextArea(descParam);
}
desc.setCols(75);
desc.setRows(25);
add(desc);
@ -51,7 +56,6 @@ public class SciProjectDescriptionEditForm
} else {
funding = new TextArea(fundingParam);
}
funding.setCols(75);
funding.setRows(25);
add(funding);
@ -83,7 +87,7 @@ public class SciProjectDescriptionEditForm
SciProject project = (SciProject) getItemSelectionModel().
getSelectedObject(state);
if ((project != null) && this.getSaveCancelSection().getSaveButton().
if ((project != null) && getSaveCancelSection().getSaveButton().
isSelected(state)) {
project.setProjectDescription((String) data.get(
SciProject.PROJECT_DESCRIPTION));

View File

@ -1,7 +1,6 @@
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.Form;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.SciProject;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
@ -38,12 +37,13 @@ public class SciProjectDescriptionStep extends SimpleEditStep {
editDescForm.getSaveCancelSection().getCancelButton());
SciProjectDescriptionUploadForm uploadDescForm =
new SciProjectDescriptionUploadForm(itemModel);
new SciProjectDescriptionUploadForm(
itemModel);
add(UPLOAD_PROJECT_DESC_SHEET_NAME,
(String) SciOrganizationGlobalizationUtil.globalize(
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.project.upload_desc").localize(),
new WorkflowLockedComponentAccess(uploadDescForm, itemModel),
uploadDescForm.getSaveCancelSection().getCancelButton());
new WorkflowLockedComponentAccess(uploadDescForm, itemModel),
uploadDescForm.getSaveCancelSection().getCancelButton());
setDisplayComponent(
getSciProjectEditDescSheet(itemModel));

View File

@ -28,7 +28,8 @@ public class SciProjectDescriptionUploadForm extends AbstractTextUploadForm {
}
@Override
public void setText(ItemSelectionModel itemModel, PageState state,
public void setText(ItemSelectionModel itemModel,
PageState state,
String text) {
SciProject project = (SciProject) itemModel.getSelectedObject(state);
project.setProjectDescription(text);

View File

@ -3,6 +3,7 @@ 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.SciOrganizationConfig;
import com.arsdigita.cms.contenttypes.SciProject;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
@ -72,26 +73,43 @@ public class SciProjectPropertiesStep
@Override
protected void addSteps(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.contact");
addStep(new GenericOrganizationalUnitPersonPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.persons");
SciOrganizationConfig config;
config = SciProject.getConfig();
super.addSteps(itemModel, parent);
if (!config.getProjectAddContactHide()) {
addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.contact");
}
addStep(new SciProjectSuperProjectStep(itemModel,
parent),
"sciorganization.ui.project.superproject");
addStep(new SciProjectSubprojectsStep(itemModel,
parent),
"sciorganization.ui.project.subprojects");
if (!config.getProjectAddPersonHide()) {
addStep(new GenericOrganizationalUnitPersonPropertiesStep(itemModel,
parent),
"cms.contenttypes.ui.orgaunit.persons");
}
addStep(new SciProjectOrganizationsStep(itemModel, parent),
"sciorganization.ui.project.organizations");
//super.addSteps(itemModel, parent);
addStep(new SciProjectDepartmentsStep(itemModel, parent),
"sciorganization.ui.project.departments");
if (!config.getProjectSetSuperProjectHide()) {
addStep(new SciProjectSuperProjectStep(itemModel,
parent),
"sciorganization.ui.project.superproject");
}
if (!config.getProjectAddSubProjectHide()) {
addStep(new SciProjectSubprojectsStep(itemModel,
parent),
"sciorganization.ui.project.subprojects");
}
if (!config.getProjectAddOrganizationHide()) {
addStep(new SciProjectOrganizationsStep(itemModel, parent),
"sciorganization.ui.project.organizations");
}
if (!config.getProjectAddDepartmentHide()) {
addStep(new SciProjectDepartmentsStep(itemModel, parent),
"sciorganization.ui.project.departments");
}
}
}

View File

@ -17,7 +17,7 @@ import com.arsdigita.cms.ui.authoring.BasicItemForm;
*
* @author Jens Pelzetter
*/
public class SciProjectSuperProjectAttachForm
public class SciProjectSuperProjectSetForm
extends BasicItemForm
implements FormProcessListener,
FormInitListener {
@ -25,14 +25,14 @@ public class SciProjectSuperProjectAttachForm
private ItemSearchWidget m_itemSearch;
private final String ITEM_SEARCH = "superproject";
public SciProjectSuperProjectAttachForm(ItemSelectionModel itemModel) {
super("SuperProjectAttachForm", itemModel);
public SciProjectSuperProjectSetForm(ItemSelectionModel itemModel) {
super("SuperProjectSetForm", itemModel);
}
@Override
protected void addWidgets() {
add(new Label((String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.project.select_superproject").localize()));
add(new Label(SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.project.select_superproject")));
m_itemSearch = new ItemSearchWidget(
ITEM_SEARCH,
ContentType.findByAssociatedObjectType(
@ -54,8 +54,8 @@ public class SciProjectSuperProjectAttachForm
SciProject project = (SciProject) getItemSelectionModel().
getSelectedObject(state);
if (!(this.getSaveCancelSection().getCancelButton().
isSelected(state))) {
if (this.getSaveCancelSection().getSaveButton().
isSelected(state)) {
project.setSuperProject((SciProject) data.get(ITEM_SEARCH));
init(fse);

View File

@ -18,7 +18,6 @@ import com.arsdigita.cms.contenttypes.SciProject;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.util.LockableImpl;
import java.math.BigDecimal;
/**
*
@ -187,8 +186,8 @@ public class SciProjectSuperProjectSheet
public void cellSelected(TableActionEvent event) {
PageState state = event.getPageState();
SciProject superProject = new SciProject(
new BigDecimal(event.getRowKey().toString()));
/*SciProject superProject = new SciProject(
new BigDecimal(event.getRowKey().toString()));*/
SciProject project = (SciProject) m_itemModel.getSelectedObject(state);

View File

@ -12,7 +12,7 @@ import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
*/
public class SciProjectSuperProjectStep extends SimpleEditStep {
private String ATTACH_SUPER_PROJECT_STEP = "attachSuperProject";
private String SET_SUPER_PROJECT_STEP = "setSuperProject";
public SciProjectSuperProjectStep(ItemSelectionModel itemModel,
AuthoringKitWizard parent) {
@ -24,14 +24,14 @@ public class SciProjectSuperProjectStep extends SimpleEditStep {
String prefix) {
super(itemModel, parent, prefix);
BasicItemForm attachSuperProjectForm =
new SciProjectSuperProjectAttachForm(itemModel);
add(ATTACH_SUPER_PROJECT_STEP,
BasicItemForm setSuperProjectForm =
new SciProjectSuperProjectSetForm(itemModel);
add(SET_SUPER_PROJECT_STEP,
(String) SciOrganizationGlobalizationUtil.globalize(
"sciorganization.ui.project.attachSuperProject").localize(),
new WorkflowLockedComponentAccess(attachSuperProjectForm,
"sciorganization.ui.project.setSuperProject").localize(),
new WorkflowLockedComponentAccess(setSuperProjectForm,
itemModel),
attachSuperProjectForm.getSaveCancelSection().
setSuperProjectForm.getSaveCancelSection().
getCancelButton());
SciProjectSuperProjectSheet superProjectSheet =