Skip to content
Snippets Groups Projects
Commit d1f67744 authored by srosse's avatar srosse
Browse files

OO-1139: fix some sorting issues in group and authoring tool

parent 2298e4d5
No related branches found
No related tags found
No related merge requests found
Showing
with 35 additions and 10 deletions
...@@ -50,6 +50,7 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel ...@@ -50,6 +50,7 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel
int columnIndex = getColumnIndex(); int columnIndex = getColumnIndex();
Cols column = Cols.values()[columnIndex]; Cols column = Cols.values()[columnIndex];
switch(column) { switch(column) {
case name: Collections.sort(rows, new BusinessGroupNameComparator()); break;
case mark: Collections.sort(rows, new MarkComparator()); break; case mark: Collections.sort(rows, new MarkComparator()); break;
case resources: Collections.sort(rows, new ResourcesComparator()); break; case resources: Collections.sort(rows, new ResourcesComparator()); break;
case role: Collections.sort(rows, new RoleComparator()); break; case role: Collections.sort(rows, new RoleComparator()); break;
...@@ -59,6 +60,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel ...@@ -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> { private class MarkComparator implements Comparator<BGTableItem> {
@Override @Override
...@@ -80,16 +89,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel ...@@ -80,16 +89,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel
@Override @Override
public int compare(BGTableItem t1, BGTableItem t2) { public int compare(BGTableItem t1, BGTableItem t2) {
List<RepositoryEntryShort> r1 = t1.getRelations(); List<RepositoryEntryShort> r1 = t1.getRelations();
List<RepositoryEntryShort> r2 = t1.getRelations(); List<RepositoryEntryShort> r2 = t2.getRelations();
if(r1 != null && r1.size() > 0) { if(r1 != null && r1.size() > 0) {
if(r2 != null && r2.size() > 0) { if(r2 != null && r2.size() > 0) {
return compareTo(r1, r2); return compareTo(r1, r2);
} }
return 1; return 1;
} } else if(r2 != null && r2.size() > 0) {
if(r2 != null && r2.size() > 0) {
return -1; return -1;
} }
return compareString(t1.getBusinessGroupName(), t2.getBusinessGroupName()); return compareString(t1.getBusinessGroupName(), t2.getBusinessGroupName());
......
...@@ -32,6 +32,16 @@ public class BusinessGroupMembershipComparator implements Comparator<BusinessGro ...@@ -32,6 +32,16 @@ public class BusinessGroupMembershipComparator implements Comparator<BusinessGro
@Override @Override
public int compare(BusinessGroupMembership m1, BusinessGroupMembership m2) { 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(m1.isOwner()) {
if(m2.isOwner()) { if(m2.isOwner()) {
return 0; return 0;
......
...@@ -529,6 +529,7 @@ table.header.access.membersonly=<span class\="o_blue">Nur Mitglieder</span> ...@@ -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.owner=<span class\="o_ochre">B---</span>
table.header.access.user=<span class\="o_blue">BAR-</span> table.header.access.user=<span class\="o_blue">BAR-</span>
table.header.author=Urheber table.header.author=Urheber
table.header.authors=Autoren
table.header.date=Erstellt table.header.date=Erstellt
table.header.description=Beschreibung table.header.description=Beschreibung
table.header.details=Detailansicht table.header.details=Detailansicht
......
...@@ -489,6 +489,7 @@ table.header.access.membersonly=<span class\="o_blue">Members only</span> ...@@ -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.owner=<span class\="o_ochre">O---</span>
table.header.access.user=<span class\="o_blue">OAU-</span> table.header.access.user=<span class\="o_blue">OAU-</span>
table.header.author=Author table.header.author=Author
table.header.authors=Authors
table.header.date=Created table.header.date=Created
table.header.description=Description table.header.description=Description
table.header.details=Detailed view table.header.details=Detailed view
......
...@@ -455,6 +455,7 @@ table.header.access.membersonly=<span class\="o_blue">Membres uniquement</span> ...@@ -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.owner=<span class\="o_ochre">P---</span>
table.header.access.user=<span class\="o_blue">PAU-</span> table.header.access.user=<span class\="o_blue">PAU-</span>
table.header.author=Cr\u00E9ateur table.header.author=Cr\u00E9ateur
table.header.authors=Auteurs
table.header.date=Cr\u00E9\u00E9e table.header.date=Cr\u00E9\u00E9e
table.header.description=Description table.header.description=Description
table.header.details=Vue d\u00E9taill\u00E9e table.header.details=Vue d\u00E9taill\u00E9e
......
...@@ -269,6 +269,13 @@ public class RepositoryEntryAuthorQueries { ...@@ -269,6 +269,13 @@ public class RepositoryEntryAuthorQueries {
sb.append(" order by lower(v.initialAuthor)"); sb.append(" order by lower(v.initialAuthor)");
appendAsc(sb, asc).append(", lower(v.displayname) asc"); appendAsc(sb, asc).append(", lower(v.displayname) asc");
break; 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: case ac:
if(asc) { if(asc) {
sb.append(" order by offers asc, lower(v.displayname) asc"); sb.append(" order by offers asc, lower(v.displayname) asc");
...@@ -281,7 +288,7 @@ public class RepositoryEntryAuthorQueries { ...@@ -281,7 +288,7 @@ public class RepositoryEntryAuthorQueries {
appendAsc(sb, asc).append(", lower(v.displayname) asc"); appendAsc(sb, asc).append(", lower(v.displayname) asc");
break; break;
case lastUsage: case lastUsage:
sb.append(" order by v.stats.lastUsage "); sb.append(" order by v.statistics.lastUsage ");
appendAsc(sb, asc).append(", lower(v.displayname) asc"); appendAsc(sb, asc).append(", lower(v.displayname) asc");
break; break;
case lifecycleLabel: case lifecycleLabel:
......
...@@ -163,6 +163,7 @@ public class SearchAuthorRepositoryEntryViewParams { ...@@ -163,6 +163,7 @@ public class SearchAuthorRepositoryEntryViewParams {
displayname, displayname,
authors, authors,
author, author,
access,
ac, ac,
creationDate, creationDate,
lastUsage, lastUsage,
......
...@@ -212,7 +212,7 @@ public class AuthorListController extends FormBasicController implements Activat ...@@ -212,7 +212,7 @@ public class AuthorListController extends FormBasicController implements Activat
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.author.i18nKey(), Cols.author.ordinal(), columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.author.i18nKey(), Cols.author.ordinal(),
true, OrderBy.author.name())); true, OrderBy.author.name()));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.access.i18nKey(), Cols.access.ordinal(), 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(), columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.ac.i18nKey(), Cols.ac.ordinal(),
true, OrderBy.ac.name(), FlexiColumnModel.ALIGNMENT_LEFT, new ACRenderer())); true, OrderBy.ac.name(), FlexiColumnModel.ALIGNMENT_LEFT, new ACRenderer()));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.creationDate.i18nKey(), Cols.creationDate.ordinal(), columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.creationDate.i18nKey(), Cols.creationDate.ordinal(),
......
...@@ -90,7 +90,7 @@ class AuthoringEntryDataModel extends DefaultFlexiTableDataSourceModel<Authoring ...@@ -90,7 +90,7 @@ class AuthoringEntryDataModel extends DefaultFlexiTableDataSourceModel<Authoring
externalRef("table.header.externalref"), externalRef("table.header.externalref"),
displayName("cif.displayname"), displayName("cif.displayname"),
author("table.header.author"), author("table.header.author"),
authors("table.header.author"), authors("table.header.authors"),
access("table.header.access"), access("table.header.access"),
creationDate("table.header.date"), creationDate("table.header.date"),
lastUsage("table.header.lastusage"), lastUsage("table.header.lastusage"),
......
...@@ -88,7 +88,6 @@ import org.olat.resource.accesscontrol.model.OfferAccess; ...@@ -88,7 +88,6 @@ import org.olat.resource.accesscontrol.model.OfferAccess;
import org.olat.resource.accesscontrol.model.Price; import org.olat.resource.accesscontrol.model.Price;
import org.olat.resource.accesscontrol.ui.OrdersAdminController; import org.olat.resource.accesscontrol.ui.OrdersAdminController;
import org.olat.resource.accesscontrol.ui.PriceFormat; import org.olat.resource.accesscontrol.ui.PriceFormat;
import org.olat.user.UserManager;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -121,8 +120,6 @@ public class AuthoringEntryDetailsController extends RepositoryEntryDetailsContr ...@@ -121,8 +120,6 @@ public class AuthoringEntryDetailsController extends RepositoryEntryDetailsContr
private boolean corrupted; private boolean corrupted;
@Autowired
private UserManager userManager;
@Autowired @Autowired
private RepositoryManager repositoryManager; private RepositoryManager repositoryManager;
@Autowired @Autowired
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment