diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryItemPane.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryItemPane.java
index 7477b1aed..c0b2bcfd6 100755
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryItemPane.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryItemPane.java
@@ -18,17 +18,7 @@
*/
package com.arsdigita.cms.ui.category;
-import com.arsdigita.bebop.ActionLink;
-import com.arsdigita.bebop.BaseLink;
-import com.arsdigita.bebop.Component;
-import com.arsdigita.bebop.Form;
-import com.arsdigita.bebop.Label;
-import com.arsdigita.bebop.Link;
-import com.arsdigita.bebop.Page;
-import com.arsdigita.bebop.PageState;
-import com.arsdigita.bebop.ParameterSingleSelectionModel;
-import com.arsdigita.bebop.SimpleContainer;
-import com.arsdigita.bebop.SingleSelectionModel;
+import com.arsdigita.bebop.*;
import com.arsdigita.bebop.event.ActionEvent;
import com.arsdigita.bebop.event.ActionListener;
import com.arsdigita.bebop.event.ChangeEvent;
@@ -73,6 +63,7 @@ import org.libreccm.security.User;
import org.librecms.contentsection.ContentItem;
import org.librecms.contentsection.ContentItemManager;
import org.librecms.contentsection.privileges.AdminPrivileges;
+import org.librecms.contentsection.privileges.ItemPrivileges;
/**
* Edits a single category.
@@ -129,8 +120,8 @@ 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, contextModel);
- //add(moveForm);
+ final Form moveForm = new CategoryMoveForm(m_category, contextModel);
+ add(moveForm);
ViewItemLink viewIndexLink = new ViewItemLink(new Label(gz(
"cms.ui.category.view_index_item")), "");
@@ -174,13 +165,13 @@ class CategoryItemPane extends BaseItemPane {
}
};
- /*
+
CategoryLocalizationAddForm addCategoryLocalizationForm =
new CategoryLocalizationAddForm(m_category);
m_detailPane.add(new CategoryLocalizationSection(addCategoryLocalizationLink));
add(addCategoryLocalizationForm);
connect(addCategoryLocalizationLink, addCategoryLocalizationForm);
- connect(addCategoryLocalizationForm);*/
+ connect(addCategoryLocalizationForm);
// Quasimodo: END
// Subcategories
@@ -189,11 +180,11 @@ class CategoryItemPane extends BaseItemPane {
// Linked categories
final ActionLink linkAddLink = new ActionLink(new Label(gz("cms.ui.category.linked_add")));
- //final Form linkForm = new LinkForm(m_category);
- //add(linkForm);
+ final Form linkForm = new LinkForm(m_category);
+ add(linkForm);
- //linkAddLink.addActionListener(new NavigationListener(linkForm));
- //linkForm.addSubmissionListener(new CancelListener(linkForm));
+ linkAddLink.addActionListener(new NavigationListener(linkForm));
+ linkForm.addSubmissionListener(new CancelListener(linkForm));
m_detailPane.add(new LinkedCategorySection(linkAddLink));
@@ -201,13 +192,14 @@ class CategoryItemPane extends BaseItemPane {
m_detailPane.add(new AdminVisible(new CategoryTemplateSection()));
// Permissions
- m_detailPane.add(new PermissionsSection());
+ //m_detailPane.add(new PermissionsSection());
+ m_detailPane.add(new Text("PermissionSection Placeholder"));
connect(indexLink, indexForm);
connect(indexForm);
- //connect(moveLink, moveForm);
- //connect(moveForm);
+ connect(moveLink, moveForm);
+ connect(moveForm);
connect(orderItemsLink, orderItemsForm);
connect(orderItemsForm);
@@ -644,8 +636,7 @@ class CategoryItemPane extends BaseItemPane {
if (!indexItem.isPresent()) {
return false;
} else {
- return permissionChecker.isPermitted(AdminPrivileges.ADMINISTER_CATEGORIES, indexItem.get());
- //return isItemEditable((ContentItem) indexItem, state);
+ return permissionChecker.isPermitted(ItemPrivileges.EDIT, indexItem.get());
}
}
};
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryMoveForm.java.off b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryMoveForm.java
similarity index 97%
rename from ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryMoveForm.java.off
rename to ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryMoveForm.java
index c349abe31..3e908f7d1 100644
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryMoveForm.java.off
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryMoveForm.java
@@ -65,8 +65,8 @@ public class CategoryMoveForm extends CMSForm {
setMethod(Form.POST);
this.selectedCategory = selectedCategory;
- //final Label header = new Label(GlobalizationUtil.globalize("cms.ui.category.move"));
- final Label header = new Label();
+ final Label header = new Label(GlobalizationUtil.globalize("cms.ui.category.move"));
+ //final Label header = new Label();
header.addPrintListener(new PrintListener() {
@Override
public void prepare(final PrintEvent event) {
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryTreeModelBuilder.java.off b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryTreeModelBuilder.java
similarity index 91%
rename from ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryTreeModelBuilder.java.off
rename to ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryTreeModelBuilder.java
index c2e1fa3e2..cdd613e35 100755
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryTreeModelBuilder.java.off
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryTreeModelBuilder.java
@@ -31,11 +31,13 @@ import org.libreccm.categorization.CategoryTreeModelLite;
* Lists category tree.
*
* @author Tri Tran (tri@arsdigita.com)
- * @version $Id: CategoryTreeModelBuilder.java 1942 2009-05-29 07:53:23Z terry $
+ * @author Yannick Bülter
*/
class CategoryTreeModelBuilder extends LockableImpl
implements TreeModelBuilder {
+ private static String DEFAULT_USE_CONTEXT = "";
+
private SingleSelectionModel m_contextModel = null;
public CategoryTreeModelBuilder() {
@@ -59,7 +61,7 @@ class CategoryTreeModelBuilder extends LockableImpl
String context = null;
if (m_contextModel != null) {
context = (String) m_contextModel.getSelectedKey(state);
- if ((CategoryUseContextModelBuilder.DEFAULT_USE_CONTEXT).equals(context)) {
+ if ((DEFAULT_USE_CONTEXT).equals(context)) {
context = null;
}
}
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/IndexItemSelectionForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/IndexItemSelectionForm.java
index ab36e29ef..b7e6ab7bd 100755
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/IndexItemSelectionForm.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/IndexItemSelectionForm.java
@@ -55,7 +55,7 @@ import java.util.Optional;
public class IndexItemSelectionForm extends CMSForm {
private static final Logger LOGGER = LogManager.getLogger(
- CategoryEditForm.class);
+ IndexItemSelectionForm.class);
private final CategoryRequestLocal m_category;
private RadioGroup m_options;
@@ -159,31 +159,28 @@ public class IndexItemSelectionForm extends CMSForm {
addSubmissionListener(new FormSecurityListener(AdminPrivileges.ADMINISTER_CATEGORIES));
// Process listener
- addProcessListener(new FormProcessListener() {
- public void process(FormSectionEvent event)
- throws FormProcessException {
- PageState state = event.getPageState();
- FormData data = event.getFormData();
- ParameterData param = data.getParameter(m_options.getParameterModel().getName());
- String selectedValue = (String) param.getValue();
+ addProcessListener(event -> {
+ PageState state = event.getPageState();
+ FormData data = event.getFormData();
+ ParameterData param = data.getParameter(m_options.getParameterModel().getName());
+ String selectedValue = (String) param.getValue();
- Category category
- = getCategory(event.getPageState());
+ Category category
+ = getCategory(event.getPageState());
- if (selectedValue != null) {
- Optional optionalItem = contentItemRepository.findById(Long.parseLong(selectedValue));
- if (optionalItem.isPresent()) {
- ContentItem item = contentItemManager.getDraftVersion(optionalItem.get(), ContentItem.class);
- try {
- categoryManager.setIndexObject(category, item);
- categoryRepository.save(category);
- } catch (ObjectNotAssignedToCategoryException e) {
- throw new FormProcessException(e);
- }
+ if (selectedValue != null) {
+ Optional optionalItem = contentItemRepository.findById(Long.parseLong(selectedValue));
+ if (optionalItem.isPresent()) {
+ ContentItem item = contentItemManager.getDraftVersion(optionalItem.get(), ContentItem.class);
+ try {
+ categoryManager.setIndexObject(category, item);
+ categoryRepository.save(category);
+ } catch (ObjectNotAssignedToCategoryException e) {
+ throw new FormProcessException(e);
}
}
-
}
+
});
}
@@ -205,7 +202,6 @@ public class IndexItemSelectionForm extends CMSForm {
*/
protected Category getCategory(PageState state) {
Category category = m_category.getCategory(state);
- Assert.exists(category);
return category;
}
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/LinkForm.java.off b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/LinkForm.java.off
deleted file mode 100755
index 54b6c0133..000000000
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/LinkForm.java.off
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-package com.arsdigita.cms.ui.category;
-
-import com.arsdigita.bebop.ColumnPanel;
-import com.arsdigita.bebop.PageState;
-import com.arsdigita.bebop.form.Submit;
-import com.arsdigita.categorization.Category;
-import com.arsdigita.categorization.CategoryCollection;
-import com.arsdigita.cms.SecurityManager;
-import com.arsdigita.cms.ui.CategoryForm;
-import com.arsdigita.cms.ui.FormSecurityListener;
-import com.arsdigita.kernel.ACSObject;
-import com.arsdigita.toolbox.ui.Cancellable;
-
-import java.math.BigDecimal;
-
-import org.apache.log4j.Logger;
-
-/**
- * A form which edits secondary parents
- *
- * @author Michael Pih
- * @author Stanislav Freidin
- * @version $Revision: #18 $ $DateTime: 2004/08/17 23:15:09 $
- */
-public class LinkForm extends CategoryForm implements Cancellable {
- private final static Logger s_log = Logger.getLogger(LinkForm.class);
-
- private final CategoryRequestLocal m_category;
- private final Submit m_cancelButton;
-
- public LinkForm(final CategoryRequestLocal category) {
- super("LinkForm");
-
- m_category = category;
-
- m_cancelButton = new Submit("Finish");
- add(m_cancelButton, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
-
- setAssignedCaption("Linked Categories");
-
- addSubmissionListener
- (new FormSecurityListener(SecurityManager.CATEGORY_ADMIN));
- }
-
- public final boolean isCancelled(final PageState state) {
- return m_cancelButton.isSelected(state);
- }
-
- /**
- * Load all categories which are assigned to the current item.
- */
- protected void initAssignedCategories(PageState state, CategoryMap m) {
- final Category category = m_category.getCategory(state);
-
- final BigDecimal parentID = category.getDefaultParentCategory().getID();
- CategoryCollection links = category.getParents();
-
- while ( links.next() ) {
- Category cat = links.getCategory();
-
- if ( !cat.getID().equals(parentID) ) {
- m.add(cat);
- }
- }
- links.close();
- }
-
- /**
- * Assign a secondary parent.
- */
- public void assignCategory(PageState state, Category category) {
- final Category child = m_category.getCategory(state);
- if (category.canEdit()) {
- category.addChild(child);
- category.save();
- }
- }
-
- /**
- * Unassign a secondary parent.
- */
- public void unassignCategory(PageState state, Category category) {
- final Category child = m_category.getCategory(state);
-
- if (category.canEdit()) {
- category.removeChild(child);
- category.save();
- }
- }
-
- /**
- * The category cannot be its own parent. Its children cannot
- * be parents either.
- */
- public Category getExcludedCategory(PageState state) {
- return m_category.getCategory(state);
- }
-
- /**
- * This method returns the URL for the given item to make sure that
- * there are not two objects in the same category with the same URL.
- */
- protected final String getItemURL(final PageState state) {
- return m_category.getCategory(state).getURL();
- }
-
- protected final ACSObject getObject(final PageState state) {
- return (Category) m_category.getCategory(state);
- }
-}