From 2cafab36d3ee84842bd2f0fdc9d8cef9da1e2869 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 23 Jan 2014 14:23:05 +0000 Subject: [PATCH] Some BugFixing for the CategoryMoveForm git-svn-id: https://svn.libreccm.org/ccm/trunk@2498 8810af33-2d31-482b-a856-94f89814c4df --- .../arsdigita/cms/ui/category/CategoryAdminPane.java | 1 + .../arsdigita/cms/ui/category/CategoryItemPane.java | 3 ++- .../arsdigita/cms/ui/category/CategoryMoveForm.java | 12 +++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java b/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java index eb70cab03..01ef79e25 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java @@ -120,6 +120,7 @@ public final class CategoryAdminPane extends BaseAdminPane { setIntroPane(new Label(gz("cms.ui.category.intro"))); setItemPane(new CategoryItemPane(m_model, + m_contextModel, m_category, getAddLink(), getEditLink(), diff --git a/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java b/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java index 43485ea3f..a73f45bf9 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java @@ -87,6 +87,7 @@ class CategoryItemPane extends BaseItemPane { private final SimpleContainer m_detailPane; public CategoryItemPane(final SingleSelectionModel model, + final SingleSelectionModel contextModel, final CategoryRequestLocal category, final ActionLink addLink, final ActionLink editLink, @@ -130,7 +131,7 @@ class CategoryItemPane extends BaseItemPane { //Move link final ActionLink moveLink = new MoveLink(new Label(gz("cms.ui.category.move"))); - final Form moveForm = new CategoryMoveForm(m_category); + final Form moveForm = new CategoryMoveForm(m_category, contextModel); add(moveForm); ViewItemLink viewIndexLink = new ViewItemLink(new Label(gz( diff --git a/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryMoveForm.java b/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryMoveForm.java index bbbdf9024..0ad6e455f 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryMoveForm.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryMoveForm.java @@ -58,10 +58,11 @@ public class CategoryMoveForm extends CMSForm { private final CategoryRequestLocal selectedCategory; private final SaveCancelSection saveCancelSection; private final ChangeListener changeListener; - private final SingleSelectionModel selectionModel; + //private final SingleSelectionModel selectionModel; private final Tree categoryTree; - public CategoryMoveForm(final CategoryRequestLocal selectedCategory) { + public CategoryMoveForm(final CategoryRequestLocal selectedCategory, + final SingleSelectionModel contextModel) { super("MoveCategory"); setMethod(Form.POST); @@ -85,8 +86,8 @@ public class CategoryMoveForm extends CMSForm { add(header, ColumnPanel.FULL_WIDTH); changeListener = new TreeChangeListener(); - selectionModel = new ParameterSingleSelectionModel(new StringParameter("selectedCategory")); - categoryTree = new BaseTree(new CategoryTreeModelBuilder(selectionModel)); + //selectionModel = new ParameterSingleSelectionModel(new StringParameter("selectedCategory")); + categoryTree = new BaseTree(new CategoryTreeModelBuilder(contextModel)); categoryTree.addChangeListener(changeListener); add(categoryTree); @@ -146,7 +147,8 @@ public class CategoryMoveForm extends CMSForm { @Override public void process(final FormSectionEvent event) throws FormProcessException { final PageState state = event.getPageState(); - if (saveCancelSection.getSaveButton().isSelected(state)) { + if (saveCancelSection.getSaveButton().isSelected(state) + && !(categoryTree.getSelectedKey(state).equals(selectedCategory.getCategory(state).getID().toString()))) { final Category categoryToMove = selectedCategory.getCategory(state); final String targetKey = (String) categoryTree.getSelectedKey(state);