Zusätzliche Felder für PublicPersonalProfile (Tickets 805 und 1098). Version des PPP Moduls auf 6.6.5 angehoben.
Updateskript für Update von 6.6.4 auf 6.6.5 folgt. git-svn-id: https://svn.libreccm.org/ccm/trunk@1471 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
0ed4ddc860
commit
fe43be77e4
|
|
@ -7,7 +7,7 @@ object type PublicPersonalProfile extends ContentPage {
|
|||
|
||||
String[0..1] profileUrl = ct_public_personal_profiles.profile_url VARCHAR(256);
|
||||
|
||||
String[0..1] position = ct_public_personal_profile.position VARCHAR(2048);
|
||||
String[0..1] position = ct_public_personal_profiles.position VARCHAR(2048);
|
||||
String[0..1] researchInterests = ct_public_personal_profiles.research_interests CLOB;
|
||||
String[0..1] misc = ct_public_personal_profiles.misc CLOB;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,29 +4,54 @@
|
|||
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||
|
||||
<ctd:content-type
|
||||
label="PublicPersonalProfile"
|
||||
description="Item which is used to create a public personal profile."
|
||||
objectType="com.arsdigita.cms.contenttypes.PublicPersonalProfile"
|
||||
classname="com.arsdigita.cms.contenttypes.PublicPersonalProfile">
|
||||
label="PublicPersonalProfile"
|
||||
description="Item which is used to create a public personal profile."
|
||||
objectType="com.arsdigita.cms.contenttypes.PublicPersonalProfile"
|
||||
classname="com.arsdigita.cms.contenttypes.PublicPersonalProfile">
|
||||
|
||||
<!-- <ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">-->
|
||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileCreate">
|
||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileCreate">
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="publicpersonalprofile.ui.profile_properties.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.profile_properties.title.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfilePropertiesStep"
|
||||
ordering="1"/>
|
||||
labelKey="publicpersonalprofile.ui.profile_properties.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.profile_properties.title.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfilePropertiesStep"
|
||||
ordering="1"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="publicpersonalprofile.ui.profile_nav.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.profile_nav.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileNavigationStep"
|
||||
ordering="2"/>
|
||||
labelKey="publicpersonalprofile.ui.profile_nav.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.profile_nav.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileNavigationStep"
|
||||
ordering="2"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="publicpersonalprofile.ui.profile_position.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.profile_position.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfilePositionStep"
|
||||
ordering="3"/>
|
||||
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="publicpersonalprofile.ui.research_interests.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.research_interests.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResearchInterestsStep"
|
||||
ordering="4"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="publicpersonalprofile.ui.misc.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
descriptionKey="publicpersonalprofile.ui.misc.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.PublicPersonalProfileMiscStep"
|
||||
ordering="4"/>
|
||||
|
||||
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||
|
||||
|
|
|
|||
|
|
@ -44,8 +44,9 @@ import java.util.TooManyListenersException;
|
|||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id: PublicPersonalProfileCreate.java 1384 2011-12-20 18:07:11Z
|
||||
* jensp $
|
||||
*/
|
||||
public class PublicPersonalProfileCreate extends PageCreate {
|
||||
|
||||
|
|
@ -55,7 +56,7 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
getConfig();
|
||||
|
||||
public PublicPersonalProfileCreate(final ItemSelectionModel itemModel,
|
||||
final CreationSelector parent) {
|
||||
final CreationSelector parent) {
|
||||
super(itemModel, parent);
|
||||
}
|
||||
|
||||
|
|
@ -75,7 +76,7 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
add(new Label(PublicPersonalProfileGlobalizationUtil.globalize(
|
||||
"publicpersonalprofile.ui.create.select_person")));
|
||||
ParameterModel ownerModel =
|
||||
new StringParameter(PublicPersonalProfile.OWNER);
|
||||
new StringParameter(PublicPersonalProfile.OWNER);
|
||||
SingleSelect ownerSelect = new SingleSelect(ownerModel);
|
||||
ownerSelect.addValidationListener(new NotNullValidationListener());
|
||||
|
||||
|
|
@ -83,46 +84,49 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
ownerSelect.addPrintListener(new PrintListener() {
|
||||
|
||||
public void prepare(final PrintEvent event) {
|
||||
final SingleSelect ownerSelect = (SingleSelect) event.getTarget();
|
||||
final SingleSelect ownerSelect = (SingleSelect) event.
|
||||
getTarget();
|
||||
|
||||
String personType = config.getPersonType();
|
||||
if ((personType == null) || (personType.isEmpty())) {
|
||||
personType =
|
||||
"com.arsdigita.cms.contenttypes.GenericPerson";
|
||||
"com.arsdigita.cms.contenttypes.GenericPerson";
|
||||
}
|
||||
|
||||
ContentTypeCollection types =
|
||||
ContentType.getAllContentTypes();
|
||||
ContentType.getAllContentTypes();
|
||||
types.addFilter(
|
||||
String.format("className = '%s'", personType));
|
||||
if (types.size() == 0) {
|
||||
personType =
|
||||
"com.arsdigita.cms.contenttypes.GenericPerson";
|
||||
"com.arsdigita.cms.contenttypes.GenericPerson";
|
||||
}
|
||||
DataCollection persons = SessionManager.getSession().
|
||||
retrieve(
|
||||
personType);
|
||||
persons.addFilter("profile is null");
|
||||
persons.addFilter(String.format("version = '%s'",
|
||||
ContentItem.DRAFT));
|
||||
ContentItem.DRAFT));
|
||||
persons.addOrder("surname asc");
|
||||
persons.addOrder("givenname asc");
|
||||
persons.addOrder("language asc");
|
||||
ownerSelect.addOption(new Option("", ""));
|
||||
|
||||
//Store the parent ids of processed items to remove double entries.
|
||||
final List<BigDecimal> processed = new ArrayList<BigDecimal>();
|
||||
final List<BigDecimal> processed =
|
||||
new ArrayList<BigDecimal>();
|
||||
while (persons.next()) {
|
||||
GenericPerson person =
|
||||
(GenericPerson) DomainObjectFactory.newInstance(persons.getDataObject());
|
||||
(GenericPerson) DomainObjectFactory.
|
||||
newInstance(persons.getDataObject());
|
||||
if (processed.contains(person.getParent().getID())) {
|
||||
continue;
|
||||
} else {
|
||||
ownerSelect.addOption(new Option(
|
||||
person.getID().toString(),
|
||||
String.format("%s (%s)",
|
||||
person.getFullName(),
|
||||
person.getLanguage())));
|
||||
person.getFullName(),
|
||||
person.getLanguage())));
|
||||
processed.add(person.getParent().getID());
|
||||
}
|
||||
}
|
||||
|
|
@ -139,7 +143,7 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
"cms.ui.authoring.page_launch_date")));
|
||||
ParameterModel launchDateParam = new DateParameter(LAUNCH_DATE);
|
||||
com.arsdigita.bebop.form.Date launchDate =
|
||||
new com.arsdigita.bebop.form.Date(
|
||||
new com.arsdigita.bebop.form.Date(
|
||||
launchDateParam);
|
||||
if (ContentSection.getConfig().getRequireLaunchDate()) {
|
||||
launchDate.addValidationListener(
|
||||
|
|
@ -159,16 +163,17 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
PublicPersonalProfile.OWNER);
|
||||
|
||||
if ((id == null) || id.trim().isEmpty()) {
|
||||
fse.getFormData().addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.person.required"));
|
||||
fse.getFormData().addError(PublicPersonalProfileGlobalizationUtil.
|
||||
globalize("publicpersonalprofile.ui.person.required"));
|
||||
return;
|
||||
}
|
||||
|
||||
GenericPerson owner = new GenericPerson(new BigDecimal(id));
|
||||
|
||||
validateNameUniqueness(folder,
|
||||
fse,
|
||||
String.format("%s-profile",
|
||||
GenericPerson.urlSave(
|
||||
fse,
|
||||
String.format("%s-profile",
|
||||
GenericPerson.urlSave(
|
||||
owner.getFullName())));
|
||||
}
|
||||
|
||||
|
|
@ -186,7 +191,7 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
|
||||
GenericPerson owner = new GenericPerson(new BigDecimal(id));
|
||||
String name = String.format("%s-profile",
|
||||
GenericPerson.urlSave(owner.getFullName()));
|
||||
GenericPerson.urlSave(owner.getFullName()));
|
||||
String title = String.format("%s (Profil)", owner.getFullName());
|
||||
|
||||
final ContentPage item = createContentPage(state);
|
||||
|
|
@ -220,18 +225,18 @@ public class PublicPersonalProfileCreate extends PageCreate {
|
|||
DataCollection profiles = SessionManager.getSession().retrieve(
|
||||
PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
|
||||
profiles.addFilter(String.format("profileUrl = '%s'",
|
||||
profileUrl));
|
||||
profileUrl));
|
||||
profiles.addFilter(String.format("version = '%s'", ContentItem.DRAFT));
|
||||
|
||||
while (profiles.size() > 0) {
|
||||
i++;
|
||||
|
||||
profileUrl = String.format("%s%d",
|
||||
owner.getSurname().toLowerCase(),
|
||||
i);
|
||||
owner.getSurname().toLowerCase(),
|
||||
i);
|
||||
profiles.reset();
|
||||
profiles.addFilter(String.format("profileUrl = '%s'",
|
||||
profileUrl));
|
||||
profileUrl));
|
||||
profiles.addFilter(
|
||||
String.format("version = '%s'", ContentItem.DRAFT));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,77 @@
|
|||
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.PublicPersonalProfile;
|
||||
import com.arsdigita.cms.ui.CMSDHTMLEditor;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class PublicPersonalProfileMiscEditForm
|
||||
extends BasicItemForm
|
||||
implements FormInitListener, FormProcessListener {
|
||||
|
||||
public PublicPersonalProfileMiscEditForm(final ItemSelectionModel itemModel) {
|
||||
super("PublicPersonalProfileEditMisc", itemModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addWidgets() {
|
||||
add(new Label(PublicPersonalProfileGlobalizationUtil.globalize(
|
||||
"publicpersonalprofile.ui.misc")));
|
||||
final ParameterModel miscParam = new StringParameter(
|
||||
PublicPersonalProfile.MISC);
|
||||
final TextArea misc = new CMSDHTMLEditor(miscParam);
|
||||
misc.setCols(75);
|
||||
misc.setRows(8);
|
||||
add(misc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final PublicPersonalProfile profile =
|
||||
(PublicPersonalProfile) getItemSelectionModel().
|
||||
getSelectedItem(state);
|
||||
|
||||
data.put(PublicPersonalProfile.MISC, profile.getMisc());
|
||||
|
||||
setVisible(state, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent fse)
|
||||
throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final PublicPersonalProfile profile =
|
||||
(PublicPersonalProfile) getItemSelectionModel().
|
||||
getSelectedItem(state);
|
||||
|
||||
if ((profile != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
profile.setMisc(
|
||||
(String) data.get(PublicPersonalProfile.MISC));
|
||||
|
||||
profile.save();
|
||||
}
|
||||
|
||||
init(fse);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
|
||||
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 PublicPersonalProfileMiscStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_MISC_SHEET_NAME = "editMisc";
|
||||
|
||||
public PublicPersonalProfileMiscStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public PublicPersonalProfileMiscStep(final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm editPositionForm = new PublicPersonalProfileMiscEditForm(
|
||||
itemModel);
|
||||
add(EDIT_MISC_SHEET_NAME,
|
||||
(String) PublicPersonalProfileGlobalizationUtil.globalize(
|
||||
"publicpersonalprofile.ui.misc.edit").localize(),
|
||||
new WorkflowLockedComponentAccess(editPositionForm, itemModel),
|
||||
editPositionForm.getSaveCancelSection().getCancelButton());
|
||||
|
||||
setDisplayComponent(getPublicPersonalProfilePositionSheet(itemModel));
|
||||
}
|
||||
|
||||
public static Component getPublicPersonalProfilePositionSheet(
|
||||
final ItemSelectionModel itemModel) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel);
|
||||
|
||||
sheet.add(PublicPersonalProfileGlobalizationUtil.globalize(
|
||||
"publicpersonalprofile.ui.misc"),
|
||||
PublicPersonalProfile.MISC);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -22,8 +22,7 @@ import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
|||
*/
|
||||
public class PublicPersonalProfilePositionEditForm
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener,
|
||||
FormInitListener {
|
||||
implements FormProcessListener, FormInitListener {
|
||||
|
||||
public PublicPersonalProfilePositionEditForm(
|
||||
final ItemSelectionModel itemModel) {
|
||||
|
|
@ -46,7 +45,8 @@ public class PublicPersonalProfilePositionEditForm
|
|||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final PublicPersonalProfile profile = (PublicPersonalProfile) getItemSelectionModel().
|
||||
final PublicPersonalProfile profile =
|
||||
(PublicPersonalProfile) getItemSelectionModel().
|
||||
getSelectedItem(state);
|
||||
|
||||
data.put(PublicPersonalProfile.POSITION, profile.getPosition());
|
||||
|
|
@ -59,13 +59,15 @@ public class PublicPersonalProfilePositionEditForm
|
|||
throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final PublicPersonalProfile profile = (PublicPersonalProfile) getItemSelectionModel().
|
||||
final PublicPersonalProfile profile =
|
||||
(PublicPersonalProfile) getItemSelectionModel().
|
||||
getSelectedItem(state);
|
||||
|
||||
if ((profile != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
profile.setPosition((String) data.get(PublicPersonalProfile.POSITION));
|
||||
|
||||
profile.setPosition(
|
||||
(String) data.get(PublicPersonalProfile.POSITION));
|
||||
|
||||
profile.save();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.PublicPersonalProfile;
|
||||
import com.arsdigita.cms.ui.CMSDHTMLEditor;
|
||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jens Pelzetter
|
||||
* @version $Id$
|
||||
*/
|
||||
public class PublicPersonalProfileResearchInterestsEditStep
|
||||
extends BasicItemForm
|
||||
implements FormProcessListener,
|
||||
FormInitListener {
|
||||
|
||||
public PublicPersonalProfileResearchInterestsEditStep(
|
||||
final ItemSelectionModel itemModel) {
|
||||
super("PublicPersonalProfileEditResearchInterests",
|
||||
itemModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addWidgets() {
|
||||
add(new Label(PublicPersonalProfileGlobalizationUtil.globalize(
|
||||
"publicpersonalprofile.ui.research_interests")));
|
||||
final ParameterModel riParam =
|
||||
new StringParameter(
|
||||
PublicPersonalProfile.RESEARCH_INTERESTS);
|
||||
final TextArea researchInterests = new CMSDHTMLEditor(riParam);
|
||||
researchInterests.setCols(75);
|
||||
researchInterests.setRows(16);
|
||||
add(researchInterests);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final PublicPersonalProfile profile =
|
||||
(PublicPersonalProfile) getItemSelectionModel().
|
||||
getSelectedItem(state);
|
||||
|
||||
data.put(PublicPersonalProfile.RESEARCH_INTERESTS,
|
||||
profile.getResearchInterests());
|
||||
|
||||
setVisible(state, true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(final FormSectionEvent fse) throws FormProcessException {
|
||||
final PageState state = fse.getPageState();
|
||||
final FormData data = fse.getFormData();
|
||||
final PublicPersonalProfile profile =
|
||||
(PublicPersonalProfile) getItemSelectionModel().
|
||||
getSelectedItem(state);
|
||||
|
||||
if ((profile != null)
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
|
||||
profile.setResearchInterests((String) data.get(
|
||||
PublicPersonalProfile.RESEARCH_INTERESTS));
|
||||
|
||||
profile.save();
|
||||
}
|
||||
|
||||
init(fse);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
|
||||
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 PublicPersonalProfileResearchInterestsStep extends SimpleEditStep {
|
||||
|
||||
private String EDIT_RI_SHEET_NAME = "editResearchInterests";
|
||||
|
||||
public PublicPersonalProfileResearchInterestsStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent) {
|
||||
this(itemModel, parent, null);
|
||||
}
|
||||
|
||||
public PublicPersonalProfileResearchInterestsStep(
|
||||
final ItemSelectionModel itemModel,
|
||||
final AuthoringKitWizard parent,
|
||||
final String prefix) {
|
||||
super(itemModel, parent, prefix);
|
||||
|
||||
final BasicItemForm editRiForm =
|
||||
new PublicPersonalProfileMiscEditForm(itemModel);
|
||||
add(EDIT_RI_SHEET_NAME, (String) PublicPersonalProfileGlobalizationUtil.
|
||||
globalize("publicpersonalprofile.ui.research_interests.edit").
|
||||
localize(),
|
||||
new WorkflowLockedComponentAccess(editRiForm, itemModel),
|
||||
editRiForm.getSaveCancelSection().getCancelButton());
|
||||
|
||||
setDisplayComponent(getResearchInterestsSheet(itemModel));
|
||||
}
|
||||
|
||||
public static Component getResearchInterestsSheet(
|
||||
final ItemSelectionModel itemModel) {
|
||||
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
|
||||
itemModel);
|
||||
|
||||
sheet.add(PublicPersonalProfileGlobalizationUtil.globalize(
|
||||
"publicpersonalprofile.ui.research_interests"),
|
||||
PublicPersonalProfile.RESEARCH_INTERESTS);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
}
|
||||
|
|
@ -32,3 +32,12 @@ publicpersonalprofile.ui.navitems.delete.confirm=Do you really want to delete th
|
|||
publicpersonalprofile.ui.navitems.up=Up
|
||||
publicpersonalprofile.ui.navitems.down=Down
|
||||
publicpersonalprofile.ui.profile_url.reserved=The provided URL fragment is a reserved name, and can't be used.
|
||||
publicpersonalprofile.ui.position.edit=Edit position
|
||||
publicpersonalprofile.ui.position=Position
|
||||
publicpersonalprofile.ui.profile_position.title=Position
|
||||
publicpersonalprofile.ui.research_interests.edit=Edit interests
|
||||
publicpersonalprofile.ui.research_interests=Interests
|
||||
publicpersonalprofile.ui.research_interests.title=Interests
|
||||
publicpersonalprofile.ui.misc=Miscellaneous
|
||||
publicpersonalprofile.ui.misc.edit=Edit miscellaneous
|
||||
publicpersonalprofile.ui.misc.title=Miscellaneous
|
||||
|
|
|
|||
|
|
@ -32,3 +32,12 @@ publicpersonalprofile.ui.navitems.delete.confirm=Soll dieser Navigationspunkt wi
|
|||
publicpersonalprofile.ui.navitems.up=Hoch
|
||||
publicpersonalprofile.ui.navitems.down=Runter
|
||||
publicpersonalprofile.ui.profile_url.reserved=Das angegebene URL-Fragment ist ein reservierter Name und kann nicht verwendet werden.
|
||||
publicpersonalprofile.ui.position.edit=Position editieren
|
||||
publicpersonalprofile.ui.position=Position
|
||||
publicpersonalprofile.ui.profile_position.title=Position
|
||||
publicpersonalprofile.ui.research_interests.edit=Schwerpunkte bearbeiten
|
||||
publicpersonalprofile.ui.research_interests=Schwerpunkte
|
||||
publicpersonalprofile.ui.research_interests.title=Schwerpunkte
|
||||
publicpersonalprofile.ui.misc=Sonstiges
|
||||
publicpersonalprofile.ui.misc.edit=Sonstiges bearbeiten
|
||||
publicpersonalprofile.ui.misc.title=Sonstiges
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||
name="ccm-sci-types-project"
|
||||
prettyName="Scientific CMS Project content type"
|
||||
version = "6.6.4"
|
||||
version = "6.6.5"
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue