CCM NG/ccm-cms: Creating MPA, editing basic properties of an MPA now works.
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4841 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
5fa68b9570
commit
069bf78fb4
|
|
@ -585,11 +585,9 @@ public class EventPropertyForm
|
||||||
if (!eventConfig.isHideLinkToMap()) {
|
if (!eventConfig.isHideLinkToMap()) {
|
||||||
item.setMapLink((String) data.get(MAP_LINK));
|
item.setMapLink((String) data.get(MAP_LINK));
|
||||||
}
|
}
|
||||||
item
|
item.getLocation().addValue(selectedLocale,
|
||||||
.getLocation().addValue(selectedLocale,
|
|
||||||
(String) data.get(LOCATION));
|
(String) data.get(LOCATION));
|
||||||
item
|
item.getDescription().addValue(selectedLocale,
|
||||||
.getDescription().addValue(selectedLocale,
|
|
||||||
(String) data.get(LEAD));
|
(String) data.get(LEAD));
|
||||||
if (!eventConfig.isHideCost()) {
|
if (!eventConfig.isHideCost()) {
|
||||||
item.getCost().addValue(selectedLocale,
|
item.getCost().addValue(selectedLocale,
|
||||||
|
|
|
||||||
|
|
@ -28,19 +28,20 @@ import com.arsdigita.bebop.event.FormProcessListener;
|
||||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||||
import com.arsdigita.bebop.event.FormValidationListener;
|
import com.arsdigita.bebop.event.FormValidationListener;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
|
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
|
||||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
|
||||||
import com.arsdigita.cms.ui.authoring.CreationComponent;
|
import com.arsdigita.cms.ui.authoring.CreationComponent;
|
||||||
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
||||||
import com.arsdigita.cms.ui.authoring.LanguageWidget;
|
import com.arsdigita.cms.ui.authoring.LanguageWidget;
|
||||||
import com.arsdigita.globalization.GlobalizedMessage;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
import com.arsdigita.kernel.KernelConfig;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.arsdigita.cms.CMSConfig;
|
import org.arsdigita.cms.CMSConfig;
|
||||||
|
import org.libreccm.cdi.utils.CdiUtil;
|
||||||
import org.librecms.CmsConstants;
|
import org.librecms.CmsConstants;
|
||||||
|
import org.librecms.contentsection.ContentItemRepository;
|
||||||
import org.librecms.contentsection.ContentSection;
|
import org.librecms.contentsection.ContentSection;
|
||||||
import org.librecms.contentsection.Folder;
|
import org.librecms.contentsection.Folder;
|
||||||
import org.librecms.contenttypes.MultiPartArticle;
|
import org.librecms.contenttypes.MultiPartArticle;
|
||||||
|
|
@ -64,9 +65,15 @@ public class MultiPartArticleCreateForm
|
||||||
private final CreationSelector creationSelector;
|
private final CreationSelector creationSelector;
|
||||||
private ApplyWorkflowFormSection workflowSection;
|
private ApplyWorkflowFormSection workflowSection;
|
||||||
|
|
||||||
public MultiPartArticleCreateForm(final ItemSelectionModel itemSelectionModel,
|
public MultiPartArticleCreateForm(
|
||||||
final CreationSelector creationSelector) {
|
final ItemSelectionModel itemSelectionModel,
|
||||||
super("MultiPartArticleCreate", itemSelectionModel);
|
final CreationSelector creationSelector,
|
||||||
|
final StringParameter selectedLanguageParam) {
|
||||||
|
|
||||||
|
super("MultiPartArticleCreate",
|
||||||
|
itemSelectionModel,
|
||||||
|
selectedLanguageParam);
|
||||||
|
|
||||||
this.creationSelector = creationSelector;
|
this.creationSelector = creationSelector;
|
||||||
workflowSection.setCreationSelector(creationSelector);
|
workflowSection.setCreationSelector(creationSelector);
|
||||||
workflowSection.setContentType(itemSelectionModel.getContentType());
|
workflowSection.setContentType(itemSelectionModel.getContentType());
|
||||||
|
|
@ -138,32 +145,37 @@ public class MultiPartArticleCreateForm
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(final FormSectionEvent event) throws FormProcessException {
|
public void process(final FormSectionEvent event)
|
||||||
|
throws FormProcessException {
|
||||||
|
|
||||||
final FormData data = event.getFormData();
|
final FormData data = event.getFormData();
|
||||||
final PageState state = event.getPageState();
|
final PageState state = event.getPageState();
|
||||||
final ContentSection section = creationSelector.getContentSection(state);
|
final ContentSection section = creationSelector.getContentSection(state);
|
||||||
final Folder folder = creationSelector.getFolder(state);
|
final Folder folder = creationSelector.getFolder(state);
|
||||||
|
|
||||||
final Locale locale = new Locale((String) data
|
final Locale locale = new Locale((String) data.get(LANGUAGE));
|
||||||
.get(BasicItemForm.LANGUAGE));
|
|
||||||
|
|
||||||
final MultiPartArticle article = createArticle(state,
|
final MultiPartArticle article = createArticle(state,
|
||||||
(String) data.get(NAME),
|
(String) data.get(NAME),
|
||||||
section,
|
section,
|
||||||
folder,
|
folder,
|
||||||
locale);
|
locale);
|
||||||
article.getTitle().addValue(KernelConfig.getConfig().getDefaultLocale(),
|
article.getTitle().addValue(locale, (String) data.get(TITLE));
|
||||||
(String) data.get(TITLE));
|
|
||||||
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
||||||
article.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
article.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
||||||
}
|
}
|
||||||
article
|
article
|
||||||
.getSummary()
|
.getSummary()
|
||||||
.addValue(KernelConfig.getConfig().getDefaultLocale(),
|
.addValue(locale, (String) data.get(SUMMARY));
|
||||||
(String) data.get(SUMMARY));
|
|
||||||
|
|
||||||
workflowSection.applyWorkflow(state, article);
|
workflowSection.applyWorkflow(state, article);
|
||||||
|
|
||||||
|
final CdiUtil cdiUtil =CdiUtil.createCdiUtil();
|
||||||
|
final ContentItemRepository itemRepo = cdiUtil
|
||||||
|
.findBean(ContentItemRepository.class);
|
||||||
|
itemRepo.save(article);
|
||||||
|
|
||||||
creationSelector.editItem(state, article);
|
creationSelector.editItem(state, article);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,14 +19,11 @@
|
||||||
package com.arsdigita.cms.contenttypes.ui.mparticle;
|
package com.arsdigita.cms.contenttypes.ui.mparticle;
|
||||||
|
|
||||||
import com.arsdigita.bebop.Component;
|
import com.arsdigita.bebop.Component;
|
||||||
import com.arsdigita.bebop.PageState;
|
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
|
||||||
import org.librecms.contentsection.ContentSection;
|
|
||||||
|
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
|
||||||
import org.librecms.contenttypes.MultiPartArticle;
|
|
||||||
|
|
||||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||||
|
|
@ -39,7 +36,6 @@ import org.libreccm.cdi.utils.CdiUtil;
|
||||||
import org.libreccm.configuration.ConfigurationManager;
|
import org.libreccm.configuration.ConfigurationManager;
|
||||||
import org.librecms.CmsConstants;
|
import org.librecms.CmsConstants;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A MultiPartArticle editing component.
|
* A MultiPartArticle editing component.
|
||||||
|
|
@ -49,6 +45,7 @@ import java.text.DateFormat;
|
||||||
*/
|
*/
|
||||||
public class MultiPartArticleEdit extends SimpleEditStep {
|
public class MultiPartArticleEdit extends SimpleEditStep {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
|
|
@ -64,7 +61,10 @@ public class MultiPartArticleEdit extends SimpleEditStep {
|
||||||
super(itemSelectionModel, authoringKitWizard, selectedLanguageParam);
|
super(itemSelectionModel, authoringKitWizard, selectedLanguageParam);
|
||||||
|
|
||||||
setDefaultEditKey("edit");
|
setDefaultEditKey("edit");
|
||||||
MultiPartArticleForm form = getForm(itemSelectionModel);
|
final MultiPartArticleForm form = new MultiPartArticleEditForm(
|
||||||
|
itemSelectionModel,
|
||||||
|
this,
|
||||||
|
selectedLanguageParam);
|
||||||
add("edit",
|
add("edit",
|
||||||
new GlobalizedMessage("cms.ui.edit",
|
new GlobalizedMessage("cms.ui.edit",
|
||||||
CmsConstants.CMS_BUNDLE),
|
CmsConstants.CMS_BUNDLE),
|
||||||
|
|
@ -77,12 +77,6 @@ public class MultiPartArticleEdit extends SimpleEditStep {
|
||||||
selectedLanguageParam));
|
selectedLanguageParam));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected MultiPartArticleForm getForm(
|
|
||||||
final ItemSelectionModel itemSelectionModel) {
|
|
||||||
|
|
||||||
return new MultiPartArticleEditForm(itemSelectionModel, this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Component getMultiPartArticlePropertiesSheet(
|
public Component getMultiPartArticlePropertiesSheet(
|
||||||
final ItemSelectionModel itemSelectionModel,
|
final ItemSelectionModel itemSelectionModel,
|
||||||
final StringParameter selectedLanguageParam) {
|
final StringParameter selectedLanguageParam) {
|
||||||
|
|
|
||||||
|
|
@ -23,25 +23,27 @@ import com.arsdigita.bebop.FormProcessException;
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
|
||||||
import org.librecms.contentsection.ContentItem;
|
|
||||||
import org.librecms.contentsection.Folder;
|
import org.librecms.contentsection.Folder;
|
||||||
|
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||||
|
|
||||||
import org.librecms.contenttypes.MultiPartArticle;
|
import org.librecms.contenttypes.MultiPartArticle;
|
||||||
|
|
||||||
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||||
import com.arsdigita.globalization.GlobalizedMessage;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
import com.arsdigita.kernel.KernelConfig;
|
import com.arsdigita.kernel.KernelConfig;
|
||||||
import com.arsdigita.util.Assert;
|
|
||||||
|
|
||||||
import org.libreccm.cdi.utils.CdiUtil;
|
import org.libreccm.cdi.utils.CdiUtil;
|
||||||
import org.librecms.CmsConstants;
|
import org.librecms.CmsConstants;
|
||||||
import org.librecms.contentsection.ContentItemManager;
|
import org.librecms.contentsection.ContentItemManager;
|
||||||
|
import org.librecms.contentsection.ContentItemRepository;
|
||||||
import org.librecms.contentsection.FolderManager;
|
import org.librecms.contentsection.FolderManager;
|
||||||
import org.librecms.contentsection.FolderRepository;
|
import org.librecms.contentsection.FolderRepository;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -53,20 +55,27 @@ public class MultiPartArticleEditForm extends MultiPartArticleForm
|
||||||
|
|
||||||
private final ItemSelectionModel itemSelectionModel;
|
private final ItemSelectionModel itemSelectionModel;
|
||||||
private final SimpleEditStep editStep;
|
private final SimpleEditStep editStep;
|
||||||
|
private final StringParameter selectedLanguageParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param itemSelectionModel
|
* @param itemSelectionModel
|
||||||
* @param editStep
|
* @param editStep
|
||||||
|
* @param selectedLanguageParam
|
||||||
*/
|
*/
|
||||||
public MultiPartArticleEditForm(final ItemSelectionModel itemSelectionModel,
|
public MultiPartArticleEditForm(final ItemSelectionModel itemSelectionModel,
|
||||||
final SimpleEditStep editStep) {
|
final SimpleEditStep editStep,
|
||||||
|
final StringParameter selectedLanguageParam) {
|
||||||
|
|
||||||
|
super("MultiPartArticleEditForm",
|
||||||
|
itemSelectionModel,
|
||||||
|
selectedLanguageParam);
|
||||||
|
|
||||||
super("MultiPartArticleEditForm", itemSelectionModel);
|
|
||||||
addSubmissionListener(this);
|
addSubmissionListener(this);
|
||||||
this.itemSelectionModel = itemSelectionModel;
|
this.itemSelectionModel = itemSelectionModel;
|
||||||
this.editStep = editStep;
|
this.editStep = editStep;
|
||||||
|
this.selectedLanguageParam = selectedLanguageParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -90,14 +99,27 @@ public class MultiPartArticleEditForm extends MultiPartArticleForm
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(final FormSectionEvent event) throws
|
public void process(final FormSectionEvent event)
|
||||||
FormProcessException {
|
throws FormProcessException {
|
||||||
|
|
||||||
|
final MultiPartArticle article = super.processBasicWidgets(event);
|
||||||
|
|
||||||
|
final PageState state = event.getPageState();
|
||||||
|
|
||||||
|
// final MultiPartArticle article = (MultiPartArticle) itemSelectionModel
|
||||||
|
// .getSelectedObject(state);
|
||||||
|
|
||||||
|
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||||
|
final ContentItemRepository itemRepo = cdiUtil
|
||||||
|
.findBean(ContentItemRepository.class);
|
||||||
|
itemRepo.save(article);
|
||||||
|
|
||||||
editStep.maybeForwardToNextStep(event.getPageState());
|
editStep.maybeForwardToNextStep(event.getPageState());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void validate(final FormSectionEvent event) throws
|
public void validate(final FormSectionEvent event)
|
||||||
FormProcessException {
|
throws FormProcessException {
|
||||||
|
|
||||||
final PageState state = event.getPageState();
|
final PageState state = event.getPageState();
|
||||||
final FormData data = event.getFormData();
|
final FormData data = event.getFormData();
|
||||||
|
|
@ -105,17 +127,31 @@ public class MultiPartArticleEditForm extends MultiPartArticleForm
|
||||||
final MultiPartArticle article = (MultiPartArticle) itemSelectionModel
|
final MultiPartArticle article = (MultiPartArticle) itemSelectionModel
|
||||||
.getSelectedObject(state);
|
.getSelectedObject(state);
|
||||||
|
|
||||||
|
final Locale selectedLocale;
|
||||||
|
final String selectedLanguage = (String) state
|
||||||
|
.getValue(selectedLanguageParam);
|
||||||
|
if (selectedLanguage == null) {
|
||||||
|
selectedLocale = KernelConfig.getConfig().getDefaultLocale();
|
||||||
|
} else {
|
||||||
|
selectedLocale = new Locale(selectedLanguage);
|
||||||
|
}
|
||||||
|
|
||||||
final String newName = (String) data.get(MultiPartArticleForm.NAME);
|
final String newName = (String) data.get(MultiPartArticleForm.NAME);
|
||||||
final String oldName = article
|
final String oldName = article.getName().getValue(selectedLocale);
|
||||||
.getName()
|
|
||||||
.getValue(KernelConfig.getConfig().getDefaultLocale());
|
|
||||||
|
|
||||||
final boolean valid;
|
final boolean valid;
|
||||||
if (newName.equalsIgnoreCase(oldName)) {
|
if (newName.equalsIgnoreCase(oldName)) {
|
||||||
valid = true;
|
valid = true;
|
||||||
} else {
|
} else {
|
||||||
final Folder parent = getParentFolder(article);
|
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||||
valid = validateNameUniqueness(parent, event);
|
final MultiPartArticleFormController controller = cdiUtil
|
||||||
|
.findBean(MultiPartArticleFormController.class);
|
||||||
|
final Optional<Folder> folder = controller.getArticleFolder(article);
|
||||||
|
if (folder.isPresent()) {
|
||||||
|
valid = validateNameUniqueness(folder.get(), event);
|
||||||
|
} else {
|
||||||
|
valid = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ import com.arsdigita.bebop.parameters.DateParameter;
|
||||||
import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
|
import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
|
||||||
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
import com.arsdigita.bebop.parameters.TrimmedStringParameter;
|
import com.arsdigita.bebop.parameters.TrimmedStringParameter;
|
||||||
import com.arsdigita.bebop.parameters.URLTokenValidationListener;
|
import com.arsdigita.bebop.parameters.URLTokenValidationListener;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
|
@ -42,9 +43,12 @@ import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
import com.arsdigita.kernel.KernelConfig;
|
import com.arsdigita.kernel.KernelConfig;
|
||||||
import com.arsdigita.web.Web;
|
import com.arsdigita.web.Web;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.arsdigita.cms.CMSConfig;
|
import org.arsdigita.cms.CMSConfig;
|
||||||
|
|
@ -68,7 +72,8 @@ public abstract class MultiPartArticleForm
|
||||||
FormProcessListener,
|
FormProcessListener,
|
||||||
FormValidationListener {
|
FormValidationListener {
|
||||||
|
|
||||||
private ItemSelectionModel itemSelectionModel;
|
private final ItemSelectionModel itemSelectionModel;
|
||||||
|
private final StringParameter selectedLanguageParam;
|
||||||
private SaveCancelSection saveCancelSection;
|
private SaveCancelSection saveCancelSection;
|
||||||
/**
|
/**
|
||||||
* Constant property, placeholder for a JavaScript element.
|
* Constant property, placeholder for a JavaScript element.
|
||||||
|
|
@ -91,11 +96,13 @@ public abstract class MultiPartArticleForm
|
||||||
MultiPartArticleForm.class);
|
MultiPartArticleForm.class);
|
||||||
|
|
||||||
public MultiPartArticleForm(final String formName,
|
public MultiPartArticleForm(final String formName,
|
||||||
final ItemSelectionModel itemSelectionModel) {
|
final ItemSelectionModel itemSelectionModel,
|
||||||
|
final StringParameter selectedLanguageParam) {
|
||||||
|
|
||||||
super(new ColumnPanel(2));
|
super(new ColumnPanel(2));
|
||||||
|
|
||||||
this.itemSelectionModel = itemSelectionModel;
|
this.itemSelectionModel = itemSelectionModel;
|
||||||
|
this.selectedLanguageParam = selectedLanguageParam;
|
||||||
|
|
||||||
ColumnPanel panel = (ColumnPanel) getPanel();
|
ColumnPanel panel = (ColumnPanel) getPanel();
|
||||||
panel.setBorder(false);
|
panel.setBorder(false);
|
||||||
|
|
@ -126,7 +133,8 @@ public abstract class MultiPartArticleForm
|
||||||
|
|
||||||
// add(new Label(GlobalizationUtil
|
// add(new Label(GlobalizationUtil
|
||||||
// .globalize("cms.contenttypes.ui.title")));
|
// .globalize("cms.contenttypes.ui.title")));
|
||||||
TextField titleWidget = new TextField(new TrimmedStringParameter(TITLE));
|
final TextField titleWidget = new TextField(new TrimmedStringParameter(
|
||||||
|
TITLE));
|
||||||
titleWidget.setLabel(new GlobalizedMessage("cms.contenttypes.ui.title",
|
titleWidget.setLabel(new GlobalizedMessage("cms.contenttypes.ui.title",
|
||||||
CmsConstants.CMS_BUNDLE));
|
CmsConstants.CMS_BUNDLE));
|
||||||
titleWidget.addValidationListener(new NotNullValidationListener());
|
titleWidget.addValidationListener(new NotNullValidationListener());
|
||||||
|
|
@ -141,7 +149,8 @@ public abstract class MultiPartArticleForm
|
||||||
|
|
||||||
//add(new Label(GlobalizationUtil
|
//add(new Label(GlobalizationUtil
|
||||||
// .globalize("cms.contenttypes.ui.name")));
|
// .globalize("cms.contenttypes.ui.name")));
|
||||||
TextField nameWidget = new TextField(new TrimmedStringParameter(NAME));
|
final TextField nameWidget = new TextField(new TrimmedStringParameter(
|
||||||
|
NAME));
|
||||||
nameWidget.setLabel(new GlobalizedMessage("cms.contenttypes.ui.name",
|
nameWidget.setLabel(new GlobalizedMessage("cms.contenttypes.ui.name",
|
||||||
CmsConstants.CMS_BUNDLE));
|
CmsConstants.CMS_BUNDLE));
|
||||||
nameWidget.addValidationListener(new NotNullValidationListener());
|
nameWidget.addValidationListener(new NotNullValidationListener());
|
||||||
|
|
@ -157,7 +166,8 @@ public abstract class MultiPartArticleForm
|
||||||
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
||||||
//add(new Label(GlobalizationUtil
|
//add(new Label(GlobalizationUtil
|
||||||
// .globalize("cms.ui.authoring.page_launch_date")));
|
// .globalize("cms.ui.authoring.page_launch_date")));
|
||||||
final ParameterModel launchDateParam = new DateParameter(LAUNCH_DATE);
|
final ParameterModel launchDateParam
|
||||||
|
= new DateParameter(LAUNCH_DATE);
|
||||||
com.arsdigita.bebop.form.Date launchDate
|
com.arsdigita.bebop.form.Date launchDate
|
||||||
= new com.arsdigita.bebop.form.Date(
|
= new com.arsdigita.bebop.form.Date(
|
||||||
launchDateParam);
|
launchDateParam);
|
||||||
|
|
@ -213,6 +223,7 @@ public abstract class MultiPartArticleForm
|
||||||
* Utility method to initialise the name/title/summary widgets.
|
* Utility method to initialise the name/title/summary widgets.
|
||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public MultiPartArticle initBasicWidgets(final FormSectionEvent event) {
|
public MultiPartArticle initBasicWidgets(final FormSectionEvent event) {
|
||||||
|
|
@ -222,13 +233,22 @@ public abstract class MultiPartArticleForm
|
||||||
final MultiPartArticle article = (MultiPartArticle) itemSelectionModel
|
final MultiPartArticle article = (MultiPartArticle) itemSelectionModel
|
||||||
.getSelectedObject(state);
|
.getSelectedObject(state);
|
||||||
|
|
||||||
|
final String selectedLanguage = (String) state
|
||||||
|
.getValue(selectedLanguageParam);
|
||||||
|
final Locale selectedLocale;
|
||||||
|
if (selectedLanguage == null) {
|
||||||
|
selectedLocale = KernelConfig.getConfig().getDefaultLocale();
|
||||||
|
} else {
|
||||||
|
selectedLocale = new Locale(selectedLanguage);
|
||||||
|
}
|
||||||
|
|
||||||
if (article != null) {
|
if (article != null) {
|
||||||
data.put(NAME, article.getName());
|
data.put(NAME, article.getName().getValue(selectedLocale));
|
||||||
data.put(TITLE, article.getTitle());
|
data.put(TITLE, article.getTitle().getValue(selectedLocale));
|
||||||
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
||||||
data.put(LAUNCH_DATE, article.getLaunchDate());
|
data.put(LAUNCH_DATE, article.getLaunchDate());
|
||||||
}
|
}
|
||||||
data.put(SUMMARY, article.getSummary());
|
data.put(SUMMARY, article.getSummary().getValue(selectedLocale));
|
||||||
}
|
}
|
||||||
|
|
||||||
return article;
|
return article;
|
||||||
|
|
@ -238,6 +258,7 @@ public abstract class MultiPartArticleForm
|
||||||
* Utility method to process the name/title/summary widgets.
|
* Utility method to process the name/title/summary widgets.
|
||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public MultiPartArticle processBasicWidgets(final FormSectionEvent event) {
|
public MultiPartArticle processBasicWidgets(final FormSectionEvent event) {
|
||||||
|
|
@ -248,16 +269,23 @@ public abstract class MultiPartArticleForm
|
||||||
.getSelectedObject(state);
|
.getSelectedObject(state);
|
||||||
|
|
||||||
if (article != null) {
|
if (article != null) {
|
||||||
final Locale defaultLocale = KernelConfig.getConfig().
|
final String selectedLanguage = (String) state
|
||||||
getDefaultLocale();
|
.getValue(selectedLanguageParam);
|
||||||
article.getName().addValue(defaultLocale,
|
final Locale selectedLocale;
|
||||||
|
if (selectedLanguage == null) {
|
||||||
|
selectedLocale = KernelConfig.getConfig().getDefaultLocale();
|
||||||
|
} else {
|
||||||
|
selectedLocale = new Locale(selectedLanguage);
|
||||||
|
}
|
||||||
|
|
||||||
|
article.getName().addValue(selectedLocale,
|
||||||
(String) data.get(NAME));
|
(String) data.get(NAME));
|
||||||
article.getTitle().addValue(defaultLocale,
|
article.getTitle().addValue(selectedLocale,
|
||||||
(String) data.get(TITLE));
|
(String) data.get(TITLE));
|
||||||
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
||||||
article.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
article.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
||||||
}
|
}
|
||||||
article.getSummary().addValue(defaultLocale,
|
article.getSummary().addValue(selectedLocale,
|
||||||
(String) data.get(SUMMARY));
|
(String) data.get(SUMMARY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -304,6 +332,7 @@ public abstract class MultiPartArticleForm
|
||||||
* @param locale Initial locale of the article.
|
* @param locale Initial locale of the article.
|
||||||
*
|
*
|
||||||
* @return the new content item (or a proper subclass)
|
* @return the new content item (or a proper subclass)
|
||||||
|
*
|
||||||
* @throws com.arsdigita.bebop.FormProcessException
|
* @throws com.arsdigita.bebop.FormProcessException
|
||||||
*/
|
*/
|
||||||
public MultiPartArticle createArticle(final PageState state,
|
public MultiPartArticle createArticle(final PageState state,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue