diff --git a/src/main/java/org/olat/modules/docpool/manager/DocumentPoolNotificationsHandler.java b/src/main/java/org/olat/modules/docpool/manager/DocumentPoolNotificationsHandler.java index 6f264bd00beddf52340836df2819e76f013cb0d2..6619c7f21d6d2fc920f9dca193c8fe695157f01c 100644 --- a/src/main/java/org/olat/modules/docpool/manager/DocumentPoolNotificationsHandler.java +++ b/src/main/java/org/olat/modules/docpool/manager/DocumentPoolNotificationsHandler.java @@ -118,7 +118,7 @@ public class DocumentPoolNotificationsHandler implements NotificationsHandler { Translator translator = Util.createPackageTranslator(DocumentPoolMainController.class, locale); String templates = translator.translate("document.pool.templates"); TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, identity, null, - isTaxonomyAdmin, documentPoolModule.isTemplatesDirectoryEnabled(), templates); + isTaxonomyAdmin, documentPoolModule.isTemplatesDirectoryEnabled(), templates, locale); TreeModel model = builder.buildTreeModel(); si = new SubscriptionInfo(subscriber.getKey(), p.getType(), getTitleItemForPublisher(), null); diff --git a/src/main/java/org/olat/modules/docpool/ui/DocumentPoolMainController.java b/src/main/java/org/olat/modules/docpool/ui/DocumentPoolMainController.java index adc21d0e9a445206ea7e1f7d0c1834279351f6c0..c5a1a4e03c633898a1ab00caac470525e312ede2 100644 --- a/src/main/java/org/olat/modules/docpool/ui/DocumentPoolMainController.java +++ b/src/main/java/org/olat/modules/docpool/ui/DocumentPoolMainController.java @@ -92,8 +92,9 @@ public class DocumentPoolMainController extends MainLayoutBasicController implem taxonomy = taxonomyService.getTaxonomy(taxonomyRef); } - TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, getIdentity(), getLocale(), - isTaxonomyAdmin, docPoolModule.isTemplatesDirectoryEnabled(), translate("document.pool.templates")); + String rootTitle = translate("admin.menu.title");//same as site title + TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, getIdentity(), rootTitle, + isTaxonomyAdmin, docPoolModule.isTemplatesDirectoryEnabled(), translate("document.pool.templates"), getLocale()); taxonomyTree = new MenuTree(null, "taxonomy-menu", this); taxonomyTree.setExpandSelectedNode(false); @@ -114,7 +115,7 @@ public class DocumentPoolMainController extends MainLayoutBasicController implem listenTo(columnLayoutCtr); // auto dispose later putInitialPanel(columnLayoutCtr.getInitialComponent()); - DocumentPoolTaxonomyController rootCtrl = new DocumentPoolTaxonomyController(ureq, getWindowControl(), taxonomy); + DocumentPoolTaxonomyController rootCtrl = new DocumentPoolTaxonomyController(ureq, getWindowControl()); listenTo(rootCtrl); String displayName = taxonomy == null ? "ROOT" : taxonomy.getDisplayName(); content.rootController(displayName, rootCtrl); diff --git a/src/main/java/org/olat/modules/docpool/ui/DocumentPoolTaxonomyController.java b/src/main/java/org/olat/modules/docpool/ui/DocumentPoolTaxonomyController.java index de8b25884550987bcda43c3b2ca5441b9e982c63..d5bc9f15e720f628c0dfc2d6d9cded1f93810620 100644 --- a/src/main/java/org/olat/modules/docpool/ui/DocumentPoolTaxonomyController.java +++ b/src/main/java/org/olat/modules/docpool/ui/DocumentPoolTaxonomyController.java @@ -29,11 +29,9 @@ import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; -import org.olat.core.util.StringHelper; import org.olat.core.util.vfs.VFSContainer; import org.olat.modules.docpool.DocumentPoolModule; import org.olat.modules.docpool.manager.DocumentPoolNotificationsHandler; -import org.olat.modules.taxonomy.Taxonomy; import org.springframework.beans.factory.annotation.Autowired; /** @@ -53,12 +51,10 @@ public class DocumentPoolTaxonomyController extends BasicController { @Autowired private DocumentPoolNotificationsHandler notificationsHandler; - public DocumentPoolTaxonomyController(UserRequest ureq, WindowControl wControl, Taxonomy taxonomy) { + public DocumentPoolTaxonomyController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); mainVC = createVelocityContainer("document_pool"); - mainVC.contextPut("displayName", StringHelper.escapeHtml(taxonomy.getDisplayName())); - mainVC.contextPut("identifier", StringHelper.escapeHtml(taxonomy.getIdentifier())); //add subscription SubscriptionContext subsContext = notificationsHandler.getTaxonomyDocumentsLibrarySubscriptionContext(); diff --git a/src/main/java/org/olat/modules/docpool/ui/_content/document_pool.html b/src/main/java/org/olat/modules/docpool/ui/_content/document_pool.html index fa81461fd3e053c3497a727c3c0813ae95507fa3..880ab7cd3abc5f5acfb50c1a1a406e5f77edba5b 100644 --- a/src/main/java/org/olat/modules/docpool/ui/_content/document_pool.html +++ b/src/main/java/org/olat/modules/docpool/ui/_content/document_pool.html @@ -1,5 +1,6 @@ -<h1><i class="o_icon $o_icon_taxonomy"> </i> $displayName#if($r.isNotEmpty($identifier)) <small>${identifier}</small>#end</h1> -$r.render("subscription") +<div class="clearfix">$r.render("subscription")</div> #if($r.available("index")) $r.render("index") +#else + <div class="o_warning">$r.translate("warning.taxonomy.index.emtpy")</div> #end diff --git a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties index 19368c808d3d58a20ffa278f8260e860ef66c398..980c701af05a35bf9e5ddd9c9058dcf0ca56c4c2 100644 --- a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties @@ -34,3 +34,4 @@ teach.can.read.parent.levels.explain.1=Lesender Zugriff zus\u00E4tzlich auch auf teach.can.read.parent.levels.explain.2=\u00FCbergeordnete Ebene/n gestatten teach.can.write=Schreibender Zugriff gestatten teach.competence=Dozier-Kompetenz +warning.taxonomy.index.emtpy=Die Dokumentpool-Infoseite wurde nicht richtig konfiguriert. Bitte fragen Sie den Systemadministrator, eine Infoseite in der Dokumentenpoolverwaltung hinzuzufügen. diff --git a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties index 48095c9eeb566a288aa64d873aed17c14c245776..eceb14886cbad3438bd8a4cb4d2cf186e2fcbfc2 100644 --- a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties @@ -34,3 +34,4 @@ teach.can.read.parent.levels.explain.1=Allow read access to teach.can.read.parent.levels.explain.2=levels above teach.can.write=Allow write access teach.competence=Teacher competence +warning.taxonomy.index.emtpy=The document pool info page has not been configured properly. Please ask the system administrator to add an info page in the <strong>document pool administration</strong>. diff --git a/src/main/java/org/olat/modules/docpool/webdav/DocumentPoolWebDAVMergeSource.java b/src/main/java/org/olat/modules/docpool/webdav/DocumentPoolWebDAVMergeSource.java index 4da55b84c4f90c9e69945c073f7a276900c5a315..11a9d73751a44291ae167314d0394e2f82cb7610 100644 --- a/src/main/java/org/olat/modules/docpool/webdav/DocumentPoolWebDAVMergeSource.java +++ b/src/main/java/org/olat/modules/docpool/webdav/DocumentPoolWebDAVMergeSource.java @@ -81,7 +81,7 @@ class DocumentPoolWebDAVMergeSource extends WebDAVMergeSource { .translate("document.pool.templates"); TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, identityEnv.getIdentity(), null, - identityEnv.getRoles().isOLATAdmin(), docPoolModule.isTemplatesDirectoryEnabled(), templatesDir); + identityEnv.getRoles().isOLATAdmin(), docPoolModule.isTemplatesDirectoryEnabled(), templatesDir, null); TreeModel model = builder.buildTreeModel(); TreeNode rootNode = model.getRootNode(); for(int i=0; i<rootNode.getChildCount(); i++) { diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java index 250783a92b3f5509815cf9d8c94461dd8f91bccf..655d2b08e5bf3f2297b4f8f2e9e6650200f5ed19 100644 --- a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java @@ -56,6 +56,7 @@ public class TaxonomyTreeBuilder { private Locale locale; private Taxonomy taxonomy; + private final String rootTitle; private final Identity identity; private final String templateDirectory; private final boolean isTaxonomyAdmin; @@ -63,12 +64,13 @@ public class TaxonomyTreeBuilder { private final TaxonomyService taxonomyService; - public TaxonomyTreeBuilder(Taxonomy taxonomy, Identity identity, Locale locale, - boolean isTaxonomyAdmin, boolean enableTemplates, String templateDirectory) { + public TaxonomyTreeBuilder(Taxonomy taxonomy, Identity identity, String rootTitle, + boolean isTaxonomyAdmin, boolean enableTemplates, String templateDirectory, Locale locale) { taxonomyService = CoreSpringFactory.getImpl(TaxonomyService.class); this.locale = locale; this.taxonomy = taxonomy; this.identity = identity; + this.rootTitle = rootTitle; this.enableTemplates = enableTemplates; this.templateDirectory = templateDirectory; this.isTaxonomyAdmin = isTaxonomyAdmin; @@ -82,7 +84,11 @@ public class TaxonomyTreeBuilder { if(taxonomy != null) { taxonomy = taxonomyService.getTaxonomy(taxonomy); - root.setTitle(taxonomy.getDisplayName()); + if(StringHelper.containsNonWhitespace(rootTitle)) { + root.setTitle(rootTitle); + } else { + root.setTitle(taxonomy.getDisplayName()); + } root.setUserObject(taxonomy); //taxonomy directory diff --git a/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java b/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java index 0632bd60d932ed9fbaf00f2237d27e78e0d85556..4964a423f90a76aace0c76221034588328ae608b 100644 --- a/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java +++ b/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java @@ -94,7 +94,7 @@ public class TaxonomyLevelLibraryIndexer extends DefaultIndexer { if("TaxonomyLevel".equals(contextEntry.getOLATResourceable().getResourceableTypeName())) { Long levelKey = contextEntry.getOLATResourceable().getResourceableId(); TaxonomyLevel level = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(levelKey)); - TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(level.getTaxonomy(), identity, null, false, true, "Templates"); + TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(level.getTaxonomy(), identity, null, false, true, "Templates", null); TreeModel model = builder.buildTreeModel(); List<TreeNode> flat = new ArrayList<>(); TreeHelper.makeTreeFlat(model.getRootNode(), flat);