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 e70792342d394a27e2cbabfefaca10c66c093a2e..9603acd11abf1cdb66d43d877cfd71c60fd6f827 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 09913736a47937fd8402484999473c07fc81fc8f..54e1258e74a5ad7df14ae71d24e6b1d79da460af 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 ca7826155f639fb7f33301dec031195004eff6bf..ee840d406caa7c8a0c511afe294eb780835cee5c 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()}" />