From 63284d778d3a78c83c78b307f38f8b05992cbad8 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 2 Jul 2015 08:43:38 +0200
Subject: [PATCH] OO-1586: sort separately the user properties

---
 .../group/ui/main/MemberListTableSort.java    | 28 ++++++++++---------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/olat/group/ui/main/MemberListTableSort.java b/src/main/java/org/olat/group/ui/main/MemberListTableSort.java
index 5624d43b3da..808fd2104bd 100644
--- a/src/main/java/org/olat/group/ui/main/MemberListTableSort.java
+++ b/src/main/java/org/olat/group/ui/main/MemberListTableSort.java
@@ -36,9 +36,7 @@ import org.olat.group.ui.main.MemberListTableModel.Cols;
  *
  */
 public class MemberListTableSort extends SortableFlexiTableModelDelegate<MemberView> {
-	
-	
-	
+
 	public MemberListTableSort(SortKey orderBy, SortableFlexiTableDataModel<MemberView> tableModel, Locale locale) {
 		super(orderBy, tableModel, locale);
 	}
@@ -46,16 +44,20 @@ public class MemberListTableSort extends SortableFlexiTableModelDelegate<MemberV
 	@Override
 	protected void sort(List<MemberView> rows) {
 		int columnIndex = getColumnIndex();
-		Cols column = Cols.values()[columnIndex];
-		switch(column) {
-			case role:
-				Collections.sort(rows, new RoleMemberViewComparator());
-				break;
-			case groups:
-				Collections.sort(rows, new GroupMemberViewComparator(getCollator()));
-				break;
-			default: {
-				super.sort(rows);
+		if(columnIndex >= AbstractMemberListController.USER_PROPS_OFFSET) {
+			super.sort(rows);
+		} else {
+			Cols column = Cols.values()[columnIndex];
+			switch(column) {
+				case role:
+					Collections.sort(rows, new RoleMemberViewComparator());
+					break;
+				case groups:
+					Collections.sort(rows, new GroupMemberViewComparator(getCollator()));
+					break;
+				default: {
+					super.sort(rows);
+				}
 			}
 		}
 	}
-- 
GitLab