From bb68efbd4d4b03d47ac614c2c88f260ace2464cd Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Wed, 26 Aug 2020 11:15:32 +0200
Subject: [PATCH] OO-4872: remove user name column in waiting list of topic
 assignement

---
 .../securitygroup/gui/GroupController.java    |  2 +-
 .../gui/IdentitiesOfGroupTableDataModel.java  | 33 ++++++++++---------
 .../gui/WaitingGroupController.java           |  6 ----
 .../nodes/projectbroker/GroupController.java  |  2 +-
 4 files changed, 19 insertions(+), 24 deletions(-)

diff --git a/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java b/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java
index 056b3189fc5..ea12ae2086e 100644
--- a/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java
+++ b/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java
@@ -688,7 +688,7 @@ public class GroupController extends BasicController {
 		}
 		
 		List<UserPropertyHandler> userPropertyHandlers = userManager.getUserPropertyHandlersFor(usageIdentifyer, isAdministrativeUser);
-		identitiesTableModel = new IdentitiesOfGroupTableDataModel(views, getLocale(), userPropertyHandlers, isAdministrativeUser);
+		identitiesTableModel = new IdentitiesOfGroupTableDataModel(views, getLocale(), userPropertyHandlers);
 		tableCtr.setTableDataModel(identitiesTableModel);
 	}
 }
diff --git a/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java b/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java
index f5c9705d409..a4f19c50ef1 100644
--- a/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java
+++ b/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java
@@ -44,43 +44,44 @@ import org.olat.user.propertyhandlers.UserPropertyHandler;
 
 public class IdentitiesOfGroupTableDataModel extends DefaultTableDataModel<GroupMemberView> {
 	private List<UserPropertyHandler> userPropertyHandlers;
-	private boolean isAdministrativeUser;
-
    
 	/**
 	 * @param combo a List of Object[] with the array[0] = Identity, array[1] = addedToGroupTimestamp
 	 */
-	public IdentitiesOfGroupTableDataModel(List<GroupMemberView> combo, Locale locale, List<UserPropertyHandler> userPropertyHandlers, boolean isAdministrativeUser) {
+	public IdentitiesOfGroupTableDataModel(List<GroupMemberView> combo, Locale locale, List<UserPropertyHandler> userPropertyHandlers) {
 		super(combo);
 		setLocale(locale);		
 		this.userPropertyHandlers = userPropertyHandlers;
-		this.isAdministrativeUser = isAdministrativeUser;
 	}
 
 	@Override
 	public final Object getValueAt(int row, int col) {
 		GroupMemberView co = getObject(row);
-		switch(col) {
-			case 1: return co.getOnlineStatus();
-			case 2: return co.getAddedAt();
-			default: {
-				User user = co.getIdentity().getUser();
-				UserPropertyHandler userPropertyHandler = userPropertyHandlers.get(col - 3);
-				String value = userPropertyHandler.getUserProperty(user, getLocale());
-				return (value == null ? "n/a" : value);
-			}
+		if(col == 1) {
+			return co.getOnlineStatus();
+		}
+		if(col == 2) {
+			return co.getAddedAt();
+		}
+		int index = col - 3;
+		if(index >= 0 && index < userPropertyHandlers.size()) {
+			User user = co.getIdentity().getUser();
+			UserPropertyHandler userPropertyHandler = userPropertyHandlers.get(col - 3);
+			String value = userPropertyHandler.getUserProperty(user, getLocale());
+			return (value == null ? "n/a" : value);
 		}
+		return "ERROR";
 	}
 
 	@Override
 	public int getColumnCount() {
-		// + loginname + adddate or just + loginname
-		return userPropertyHandlers.size() + (isAdministrativeUser ? 2 : 1);
+		// online status + add date
+		return userPropertyHandlers.size() +  2;
 	}
 	
 	@Override
 	public IdentitiesOfGroupTableDataModel createCopyWithEmptyList() {
-		return new IdentitiesOfGroupTableDataModel(new ArrayList<GroupMemberView>(), getLocale(), userPropertyHandlers, isAdministrativeUser);
+		return new IdentitiesOfGroupTableDataModel(new ArrayList<GroupMemberView>(), getLocale(), userPropertyHandlers);
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java b/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java
index 5bf177560c2..54d2c82f654 100644
--- a/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java
+++ b/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java
@@ -144,12 +144,6 @@ public class WaitingGroupController extends GroupController {
 	protected void initGroupTable(TableController tableCtr, UserRequest ureq, boolean enableTablePreferences, boolean enableUserSelection) {
 		List<UserPropertyHandler> userPropertyHandlers = userManager.getUserPropertyHandlersFor(usageIdentifyer, isAdministrativeUser);
 		// first the login name
-		if (isAdministrativeUser) {
-			// first the login name, but only if administrative user
-			DefaultColumnDescriptor cd0 = new DefaultColumnDescriptor("table.user.login", 0, COMMAND_VCARD, ureq.getLocale());
-			cd0.setIsPopUpWindowAction(true, "height=700, width=900, location=no, menubar=no, resizable=yes, status=no, scrollbars=yes, toolbar=no");
-			tableCtr.addColumnDescriptor(cd0);
-		}
 		if(chatEnabled) {
 			tableCtr.addColumnDescriptor(new CustomRenderColumnDescriptor("table.header.online", 1, COMMAND_IM, getLocale(),
 					ColumnDescriptor.ALIGNMENT_LEFT, new OnlineIconRenderer()));
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/GroupController.java b/src/main/java/org/olat/course/nodes/projectbroker/GroupController.java
index fa7b65ac445..4f647c9ef0e 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/GroupController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/GroupController.java
@@ -698,7 +698,7 @@ public class GroupController extends BasicController {
 		}
 		
 		List<UserPropertyHandler> userPropertyHandlers = userManager.getUserPropertyHandlersFor(usageIdentifyer, isAdministrativeUser);
-		identitiesTableModel = new IdentitiesOfGroupTableDataModel(views, getLocale(), userPropertyHandlers, isAdministrativeUser);
+		identitiesTableModel = new IdentitiesOfGroupTableDataModel(views, getLocale(), userPropertyHandlers);
 		tableCtr.setTableDataModel(identitiesTableModel);
 	}
 }
-- 
GitLab