From 80dd452b04ffc8f91007a259eb2e5c2c16de99db Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Tue, 5 Aug 2014 13:52:28 +0200 Subject: [PATCH] OO-1068: fix HTML errors in details page of repository entry and link to authors which shared the same id, fix duplicates id in my courses --- .../ui/list/RepositoryEntryDetailsController.java | 14 ++++++++++---- .../olat/repository/ui/list/_content/details.html | 4 ++-- .../olat/repository/ui/list/_content/row_1.html | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java index e70792342d3..9603acd11ab 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java @@ -21,7 +21,9 @@ package org.olat.repository.ui.list; import java.util.ArrayList; import java.util.Date; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.olat.NewControllerFactory; import org.olat.basesecurity.GroupRoles; @@ -426,12 +428,16 @@ public class RepositoryEntryDetailsController extends FormBasicController { //add the list of owners List<Identity> authors = repositoryService.getMembers(entry, GroupRoles.owner.name()); List<String> authorLinkNames = new ArrayList<String>(authors.size()); + Set<Long> duplicates = new HashSet<>(authors.size() * 2 + 1); int counter = 0; for(Identity author:authors) { - String authorName = userManager.getUserDisplayName(author); - FormLink authorLink = uifactory.addFormLink("owner-" + counter, "owner", authorName, null, formLayout, Link.NONTRANSLATED | Link.LINK); - authorLink.setUserObject(author.getKey()); - authorLinkNames.add(authorLink.getComponent().getComponentName()); + if(!duplicates.contains(author.getKey())) { + String authorName = userManager.getUserDisplayName(author); + FormLink authorLink = uifactory.addFormLink("owner-" + ++counter, "owner", authorName, null, formLayout, Link.NONTRANSLATED | Link.LINK); + authorLink.setUserObject(author.getKey()); + authorLinkNames.add(authorLink.getComponent().getComponentName()); + duplicates.add(author.getKey()); + } } layoutCont.contextPut("authorlinknames", authorLinkNames); } diff --git a/src/main/java/org/olat/repository/ui/list/_content/details.html b/src/main/java/org/olat/repository/ui/list/_content/details.html index 09913736a47..54e1258e74a 100644 --- a/src/main/java/org/olat/repository/ui/list/_content/details.html +++ b/src/main/java/org/olat/repository/ui/list/_content/details.html @@ -118,13 +118,13 @@ <tr class="o_recent"> <th>$r.translate("cif.lastusage"):</th> <td>$r.formatDateAndTime($recentLaunch) - <tr> + </tr> #end #if($r.available("mark")) <tr class="o_bookmark"> <th>$r.translate("details.bookmark.label"):</th> <td>$r.render("mark")</td> - <tr> + </tr> #end #if($groups && $groups.size() > 0) <tr class="o_groups"> diff --git a/src/main/java/org/olat/repository/ui/list/_content/row_1.html b/src/main/java/org/olat/repository/ui/list/_content/row_1.html index ca7826155f6..ee840d406ca 100644 --- a/src/main/java/org/olat/repository/ui/list/_content/row_1.html +++ b/src/main/java/org/olat/repository/ui/list/_content/row_1.html @@ -1,4 +1,4 @@ -<div id="$r.getCId()" #if($row.selected) class="o_selected" #end> +<div #if($row.selected) class="o_selected" #end> <div class="o_visual"> #if($row.isThumbnailAvailable()) <img src="${row.getThumbnailRelPath()}" /> -- GitLab