diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java b/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java index c2c7d24c45d14e05928d6e2aa9c28da6df3a7e60..64073a770d26228be7c13b8a1968984b55804d94 100644 --- a/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java +++ b/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java @@ -50,6 +50,7 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel int columnIndex = getColumnIndex(); Cols column = Cols.values()[columnIndex]; switch(column) { + case name: Collections.sort(rows, new BusinessGroupNameComparator()); break; case mark: Collections.sort(rows, new MarkComparator()); break; case resources: Collections.sort(rows, new ResourcesComparator()); break; case role: Collections.sort(rows, new RoleComparator()); break; @@ -59,6 +60,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel } } + private class BusinessGroupNameComparator implements Comparator<BGTableItem> { + + @Override + public int compare(BGTableItem t1, BGTableItem t2) { + return compareString(t1.getBusinessGroupName(), t2.getBusinessGroupName()); + } + } + private class MarkComparator implements Comparator<BGTableItem> { @Override @@ -80,16 +89,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel @Override public int compare(BGTableItem t1, BGTableItem t2) { List<RepositoryEntryShort> r1 = t1.getRelations(); - List<RepositoryEntryShort> r2 = t1.getRelations(); + List<RepositoryEntryShort> r2 = t2.getRelations(); if(r1 != null && r1.size() > 0) { if(r2 != null && r2.size() > 0) { return compareTo(r1, r2); } return 1; - } - - if(r2 != null && r2.size() > 0) { + } else if(r2 != null && r2.size() > 0) { return -1; } return compareString(t1.getBusinessGroupName(), t2.getBusinessGroupName()); diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java b/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java index 9d401a5fa0681dea548e367cccc5e0b1a65ec3f7..438f366f705b7f0a751688b4af6fb5f65dbe10c9 100644 --- a/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java +++ b/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java @@ -32,6 +32,16 @@ public class BusinessGroupMembershipComparator implements Comparator<BusinessGro @Override public int compare(BusinessGroupMembership m1, BusinessGroupMembership m2) { + if(m1 == null) { + if(m2 == null) { + return 0; + } else { + return -1; + } + } else if(m2 == null) { + return 1; + } + if(m1.isOwner()) { if(m2.isOwner()) { return 0; diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties index 37899a960cd6de06b5b32d0e44702e03feb5bdd5..ed475e7fb184d4f4ee7784b7d56e1de04738f77c 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties @@ -529,6 +529,7 @@ table.header.access.membersonly=<span class\="o_blue">Nur Mitglieder</span> table.header.access.owner=<span class\="o_ochre">B---</span> table.header.access.user=<span class\="o_blue">BAR-</span> table.header.author=Urheber +table.header.authors=Autoren table.header.date=Erstellt table.header.description=Beschreibung table.header.details=Detailansicht diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties index 2afd393bf42042ff4169f6129a8a6a1460086c6e..ac4608e150b9cdb64de9792ce322a982e6902e13 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties @@ -489,6 +489,7 @@ table.header.access.membersonly=<span class\="o_blue">Members only</span> table.header.access.owner=<span class\="o_ochre">O---</span> table.header.access.user=<span class\="o_blue">OAU-</span> table.header.author=Author +table.header.authors=Authors table.header.date=Created table.header.description=Description table.header.details=Detailed view diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties index a8bd1fd467143d544ac5d66603df7435063ae297..991c273010ff45bbd240babe86ed87457087aacf 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties @@ -455,6 +455,7 @@ table.header.access.membersonly=<span class\="o_blue">Membres uniquement</span> table.header.access.owner=<span class\="o_ochre">P---</span> table.header.access.user=<span class\="o_blue">PAU-</span> table.header.author=Cr\u00E9ateur +table.header.authors=Auteurs table.header.date=Cr\u00E9\u00E9e table.header.description=Description table.header.details=Vue d\u00E9taill\u00E9e diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java index 5633a7af6cf34670eb9d2eb30ed87977555ed9ad..ca09f5b399dfe36f5734278ab48a00add497f485 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java @@ -269,6 +269,13 @@ public class RepositoryEntryAuthorQueries { sb.append(" order by lower(v.initialAuthor)"); appendAsc(sb, asc).append(", lower(v.displayname) asc"); break; + case access: + if(asc) { + sb.append(" order by v.access asc, lower(v.displayname) asc"); + } else { + sb.append(" order by v.access desc, lower(v.displayname) desc"); + } + break; case ac: if(asc) { sb.append(" order by offers asc, lower(v.displayname) asc"); @@ -281,7 +288,7 @@ public class RepositoryEntryAuthorQueries { appendAsc(sb, asc).append(", lower(v.displayname) asc"); break; case lastUsage: - sb.append(" order by v.stats.lastUsage "); + sb.append(" order by v.statistics.lastUsage "); appendAsc(sb, asc).append(", lower(v.displayname) asc"); break; case lifecycleLabel: diff --git a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java index 2c863a28487ca25070d3c4d7347e927cdf92b987..eed878e737810258cf2cd279a9a0d20b49a5cacd 100644 --- a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java +++ b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java @@ -163,6 +163,7 @@ public class SearchAuthorRepositoryEntryViewParams { displayname, authors, author, + access, ac, creationDate, lastUsage, diff --git a/src/main/java/org/olat/repository/ui/author/AuthorListController.java b/src/main/java/org/olat/repository/ui/author/AuthorListController.java index 7c11383245b7b26f83bc3ce5db9787ff3c6c4cf5..5bb70d617d9fd7210ddb9009d0ac173fb41f5d45 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthorListController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthorListController.java @@ -212,7 +212,7 @@ public class AuthorListController extends FormBasicController implements Activat columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.author.i18nKey(), Cols.author.ordinal(), true, OrderBy.author.name())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.access.i18nKey(), Cols.access.ordinal(), - true, OrderBy.ac.name(), FlexiColumnModel.ALIGNMENT_LEFT, new AccessRenderer())); + true, OrderBy.access.name(), FlexiColumnModel.ALIGNMENT_LEFT, new AccessRenderer())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.ac.i18nKey(), Cols.ac.ordinal(), true, OrderBy.ac.name(), FlexiColumnModel.ALIGNMENT_LEFT, new ACRenderer())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.creationDate.i18nKey(), Cols.creationDate.ordinal(), diff --git a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java index 1193684ecd5a33cd9bebfadefd9032b0074494dc..0f8fc7490cabc0ac3373837f3cffe742fb0f4d2d 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java +++ b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java @@ -90,7 +90,7 @@ class AuthoringEntryDataModel extends DefaultFlexiTableDataSourceModel<Authoring externalRef("table.header.externalref"), displayName("cif.displayname"), author("table.header.author"), - authors("table.header.author"), + authors("table.header.authors"), access("table.header.access"), creationDate("table.header.date"), lastUsage("table.header.lastusage"), diff --git a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java index d442e0d848fc5b6793665de5e900fe8bf5f1b632..c10bd3ae5013f34fc955a89dea8067ef0c17a1d8 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java @@ -88,7 +88,6 @@ import org.olat.resource.accesscontrol.model.OfferAccess; import org.olat.resource.accesscontrol.model.Price; import org.olat.resource.accesscontrol.ui.OrdersAdminController; import org.olat.resource.accesscontrol.ui.PriceFormat; -import org.olat.user.UserManager; import org.springframework.beans.factory.annotation.Autowired; @@ -121,8 +120,6 @@ public class AuthoringEntryDetailsController extends RepositoryEntryDetailsContr private boolean corrupted; - @Autowired - private UserManager userManager; @Autowired private RepositoryManager repositoryManager; @Autowired