From 0623874781c1442d74a11f33768a47f72f4c8e98 Mon Sep 17 00:00:00 2001
From: aboeckle <alexander.boeckle@frentix.com>
Date: Tue, 10 Mar 2020 11:08:38 +0100
Subject: [PATCH] OO-4454: Fixed tiles short title clickable

---
 .../ui/catalog/CatalogNodeController.java           | 13 +++----------
 .../ui/catalog/CatalogNodeManagerController.java    | 13 ++++---------
 .../olat/repository/ui/catalog/_content/node.html   |  2 +-
 3 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java
index 4304dd0f47e..066a804a229 100644
--- a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java
+++ b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java
@@ -119,6 +119,8 @@ public class CatalogNodeController extends BasicController implements Activateab
 		List<CatalogEntry> childCe = catalogManager.getChildrenOf(catalogEntry);
 		List<String> subCategories = new ArrayList<>();
 		int count = 0;
+		boolean tiles = catalogEntry.getStyle() == Style.tiles;
+		
 		for (CatalogEntry entry : childCe) {
 			if(entry != null && entry.getType() == CatalogEntry.TYPE_NODE) {
 				String cmpId = "cat_" + (++count);
@@ -130,23 +132,14 @@ public class CatalogNodeController extends BasicController implements Activateab
 				}
 				mainVC.contextPut("k" + cmpId, entry.getKey());
 				
-				String title = StringHelper.escapeHtml(entry.getName());
-				String shortTitle; 
-				if (entry.getShortTitle() == null) {
-					shortTitle = StringHelper.escapeHtml(entry.getName());
-				} else {
-					shortTitle = StringHelper.escapeHtml(entry.getShortTitle());
-				}
-				
+				String title = StringHelper.escapeHtml(tiles ? entry.getShortTitle() : entry.getName());
 				Link link = LinkFactory.createCustomLink(cmpId, "select_node", cmpId, Link.LINK + Link.NONTRANSLATED, mainVC, this);
 				link.setCustomDisplayText(title);
 				link.setIconLeftCSS("o_icon o_icon_catalog_sub");
 				link.setUserObject(entry.getKey());
 				subCategories.add(Integer.toString(count));
 				String titleId = "title_" + count;
-				String shortTitleId = "short_title_" + count;
 				mainVC.contextPut(titleId, title);
-				mainVC.contextPut(shortTitleId, shortTitle);
 			}
 		}
 		mainVC.contextPut("subCategories", subCategories);
diff --git a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java
index 9bf5331e622..dd49a5ea4c0 100644
--- a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java
+++ b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java
@@ -549,6 +549,8 @@ public class CatalogNodeManagerController extends FormBasicController implements
 		List<String> subCategories = new ArrayList<>();
 		List<NodeEntryRow> nodeEntries = new ArrayList<>();
 		int count = 0;
+		boolean tiles = catalogEntry.getStyle() == Style.tiles;
+		
 		for (CatalogEntry entry : catalogChildren) {
 			if(entry != null && entry.getType() == CatalogEntry.TYPE_NODE) {
 				NodeEntryRow row = new NodeEntryRow(entry);
@@ -568,22 +570,14 @@ public class CatalogNodeManagerController extends FormBasicController implements
 				}
 				flc.contextPut("k" + cmpId, entry.getKey());
 
-				String title = StringHelper.escapeHtml(entry.getName());
-				String shortTitle; 
-				if (entry.getShortTitle() == null) {
-					shortTitle = StringHelper.escapeHtml(entry.getName());
-				} else {
-					shortTitle = StringHelper.escapeHtml(entry.getShortTitle());
-				}
+				String title = StringHelper.escapeHtml(tiles ? entry.getShortTitle() : entry.getName());
 				Link link = LinkFactory.createCustomLink(cmpId, "select_node", cmpId, Link.LINK + Link.NONTRANSLATED, flc.getFormItemComponent(), this);
 				link.setIconLeftCSS("o_icon o_icon_catalog_sub");
 				link.setCustomDisplayText(title);
 				link.setUserObject(entry.getKey());
 				subCategories.add(Integer.toString(count));
 				String titleId = "title_" + count;
-				String shortTitleId = "short_title_" + count;
 				flc.contextPut(titleId, title);
-				flc.contextPut(shortTitleId, shortTitle);
 			}
 		}
 		flc.contextPut("subCategories", subCategories);
@@ -881,6 +875,7 @@ public class CatalogNodeManagerController extends FormBasicController implements
 		} else if(editEntryCtrl == source) {
 			if(event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
 				catalogEntry = editEntryCtrl.getEditedCatalogEntry();
+				loadNodesChildren();
 				loadEntryInfos();
 			}
 			cmc.deactivate();
diff --git a/src/main/java/org/olat/repository/ui/catalog/_content/node.html b/src/main/java/org/olat/repository/ui/catalog/_content/node.html
index 486c8ee254a..1d504e1ffdd 100644
--- a/src/main/java/org/olat/repository/ui/catalog/_content/node.html
+++ b/src/main/java/org/olat/repository/ui/catalog/_content/node.html
@@ -63,7 +63,7 @@
 								<span class="o_visual_not_available" #if($r.get($imgId)) style="background-image:url('$mapperThumbnailUrl/${r.get($imgId)}');" #end></span>
 							</a></div>
 							<div class="o_meta">
-								<h4 class="o_title">$r.get("short_title_${id}")</h4>
+								<h4 class="o_title">$r.render("cat_${id}")</h4>
 							</div>
 						</div>
 					#end
-- 
GitLab