diff --git a/src/main/java/org/olat/catalog/CatalogManager.java b/src/main/java/org/olat/catalog/CatalogManager.java index 0968273ab6b5e9650583ddd764b86b17e8d75f90..dcc979570c03220bd698b8ea470488ebc6551eb5 100644 --- a/src/main/java/org/olat/catalog/CatalogManager.java +++ b/src/main/java/org/olat/catalog/CatalogManager.java @@ -26,6 +26,7 @@ package org.olat.catalog; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -142,6 +143,10 @@ public class CatalogManager extends BasicManager implements UserDataDeletable, I * @return */ public List<CatalogEntry> getChildrenOf(CatalogEntry ce, int firstResult, int maxResults, CatalogEntry.OrderBy orderBy, boolean asc) { + if(ce == null) {// nothing have no children + return Collections.emptyList(); + } + StringBuilder sb = new StringBuilder(); sb.append("select cei from ").append(CatalogEntryImpl.class.getName()).append(" as cei ") .append(" inner join fetch cei.ownerGroup as ownerGroup") diff --git a/src/main/java/org/olat/catalog/ui/CatalogTreeModel.java b/src/main/java/org/olat/catalog/ui/CatalogTreeModel.java index 626eb5027d55afbeed08eac5002f33024b92db1a..d6c55ac93914e8cf8b302b7114001bb7b7984425 100644 --- a/src/main/java/org/olat/catalog/ui/CatalogTreeModel.java +++ b/src/main/java/org/olat/catalog/ui/CatalogTreeModel.java @@ -128,6 +128,8 @@ public class CatalogTreeModel extends GenericTreeModel { } else { addMissingNodes(entry); } + } else {//it's the root + node = buildNode(entry); } } return node; diff --git a/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java b/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java index 9c1c113a51958e36d2447e2cd76a5caf14f1bac7..18f4b54dd51e3381becfbfa534d50711689b1977 100644 --- a/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java +++ b/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java @@ -144,7 +144,7 @@ public class SelectionTreeRenderer implements ComponentRenderer { } else target.append(internalTranslator.translate("selectiontree.noentries")); target.append("<br /><br />"); - if (atLeastOneIsAccessible) { + if (atLeastOneIsAccessible && tree.getFormButtonKey() != null) { target.append("<button type=\"submit\" class=\"b_button o_sel_submit_selection\" name=\"" + Form.SUBMIT_IDENTIFICATION + "\" value=\""); target.append(StringEscapeUtils.escapeHtml(translator.translate(tree.getFormButtonKey()))); if (!tree.isAllowEmptySelection()) {