From a901abe7ae01754671bb8c20768719d71c34d3b9 Mon Sep 17 00:00:00 2001 From: jensp Date: Wed, 12 Sep 2012 09:35:09 +0000 Subject: [PATCH] =?UTF-8?q?ItemSearchCreateItemPane:=20Es=20wird=20jetzt?= =?UTF-8?q?=20gepr=C3=BCft=20ob=20ein=20Ordner=20f=C3=BCr=20das=20neue=20I?= =?UTF-8?q?tem=20ausgew=C3=A4hlt=20wurde=20(Ticket=20#1366)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1860 8810af33-2d31-482b-a856-94f89814c4df --- .../com/arsdigita/cms/CMSResources.properties | 1 + .../arsdigita/cms/CMSResources_de.properties | 1 + .../cms/CMSResources_en_GB.properties | 1 + .../arsdigita/cms/CMSResources_fr.properties | 1 + .../cms/ui/ItemSearchCreateItemPane.java | 30 +++++++++---------- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources.properties index d9fda0da6..a5cb43058 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSResources.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSResources.properties @@ -1110,3 +1110,4 @@ cms.ui.search.create.select_close=Select item and close cms.ui.search.create.select_edit=Select item and edit cms.ui.clear=Clear +cms.ui.item_search.create.folder_missing=No folder selected diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties index d4f4b34a0..ac5151920 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties @@ -1103,3 +1103,4 @@ cms.ui.search.create.select_edit=Item ausw\u00e4hlen und weiter bearbeiten cms.ui.clear=Zur\u00fccksetzen cms.ui.type.minimum_number_of_values_bigger_than_maximum_number_of_values=Maximaler Wert kleiner als minimaler Wert cms.ui.type.minimummaximum_number_of_values_cannot_be_negative=Keine negativen Werte erlaubt +cms.ui.item_search.create.folder_missing=kein Ordner ausgew\u00e4hlt diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties index bf7ba4606..dff978cc7 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties @@ -49,3 +49,4 @@ cms.ui.search.create.select_close= cms.ui.search.create.select_edit= cms.ui.clear= +cms.ui.item_search.create.folder_missing= diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties index fb5621908..49c38cb85 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties @@ -580,3 +580,4 @@ cms.ui.search.create.select_close= cms.ui.search.create.select_edit= cms.ui.clear= +cms.ui.item_search.create.folder_missing= diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java index 04e789949..2de091720 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java @@ -21,8 +21,6 @@ import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.bebop.event.FormSubmissionListener; import com.arsdigita.bebop.event.PrintEvent; import com.arsdigita.bebop.event.PrintListener; -import com.arsdigita.bebop.form.Option; -import com.arsdigita.bebop.form.SingleSelect; import com.arsdigita.bebop.parameters.BigDecimalParameter; import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.cms.CMS; @@ -32,15 +30,11 @@ import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ui.authoring.CreationSelector; import com.arsdigita.cms.ui.authoring.NewItemForm; import com.arsdigita.cms.ui.folder.FlatFolderPicker; -import com.arsdigita.cms.ui.folder.FolderRequestLocal; import com.arsdigita.cms.ui.folder.FolderSelectionModel; import com.arsdigita.cms.ui.item.ContentItemRequestLocal; import com.arsdigita.cms.util.GlobalizationUtil; import com.arsdigita.persistence.OID; import java.math.BigDecimal; -import java.util.TooManyListenersException; -import java.util.logging.Level; -import java.util.logging.Logger; /** * @@ -56,6 +50,7 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, public static final String PUBLISHWIDGET_PARAM = "publishWidget"; private static final String CONTENT_TYPE_ID = "ct"; private static final String FOLDER_ID = "folder_id"; + private static final String FLAT_FOLDER = "flatFolder"; private final NewItemForm m_newItem; private final SingleSelectionModel m_typeSel; private final FlatFolderPicker m_folderPicker; @@ -92,7 +87,6 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, m_typeSel = new ParameterSingleSelectionModel(new BigDecimalParameter(CONTENT_TYPE_ID)); m_creator = new CreationSelector(m_typeSel, m_folderSel) { - @Override public void editItem(final PageState state, final ContentItem item) { @@ -108,7 +102,7 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, final BoxPanel folderRow = new BoxPanel(BoxPanel.HORIZONTAL); folderRow.add(new Label(GlobalizationUtil.globalize("cms.ui.item_search.create.folder_select"))); - m_folderPicker = new FlatFolderPicker("flatFolder"); + m_folderPicker = new FlatFolderPicker(FLAT_FOLDER); folderRow.add(m_folderPicker); m_newItem.add(folderRow); m_newItemSeg.add(m_newItem); @@ -124,7 +118,6 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, m_fallBackLink = new Link( (String) GlobalizationUtil.globalize("cms.ui.search.create.fallback").localize(), new PrintListener() { - public void prepare(final PrintEvent event) { final Link target = (Link) event.getTarget(); final PageState state = event.getPageState(); @@ -156,7 +149,7 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, ((Label) target.getChild()).setLabel((String) GlobalizationUtil.globalize( "cms.ui.search.create.select_close").localize()); scriptAction = "self.close();\n" - + "return false;"; + + "return false;"; } target.setOnClick(String.format("window.opener.document.%s.value=\"%s\";" @@ -251,7 +244,6 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, final BoxPanel linkPanel = new BoxPanel(BoxPanel.VERTICAL); final Label jsLabel = new Label("", false); jsLabel.addPrintListener(new PrintListener() { - public void prepare(final PrintEvent event) { final Label target = (Label) event.getTarget(); final PageState state = event.getPageState(); @@ -323,20 +315,28 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener, public void init(final FormSectionEvent fse) throws FormProcessException { final PageState state = fse.getPageState(); final FormData data = fse.getFormData(); - if (((data.get("flatFolder") == null) || "".equals(data.get("flatFolder"))) + if (((data.get(FLAT_FOLDER) == null) || "".equals(data.get(FLAT_FOLDER))) && (defaultFolder != null)) { - data.put("flatFolder", defaultFolder.toString()); + data.put(FLAT_FOLDER, defaultFolder.toString()); } } - public void submitted(final FormSectionEvent fse) { + public void submitted(final FormSectionEvent fse) throws FormProcessException { final PageState state = fse.getPageState(); final BigDecimal typeID = m_newItem.getTypeID(state); m_typeSel.setSelectedKey(state, typeID); - final OID folderOID = OID.valueOf((String) m_folderPicker.getValue(state)); + + final String folderOidStr = (String) m_folderPicker.getValue(state); + if ((folderOidStr == null) || folderOidStr.isEmpty()) { + fse.getFormData().addError(FLAT_FOLDER, GlobalizationUtil.globalize( + "cms.ui.item_search.create.folder_missing")); + throw new FormProcessException((String) GlobalizationUtil.globalize( + "cms.ui.item_search.create.folder_missing").localize()); + } + final OID folderOID = OID.valueOf(folderOidStr); m_folderSel.setSelectedKey(state, folderOID.get("id")); m_newItemSeg.setVisible(state, false); m_creationSeg.setVisible(state, true);