From a3e5b3415eb665bb0f3598f5c32f3faa1d7f7068 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 11 Apr 2016 11:29:47 +0200
Subject: [PATCH] OO-1974>: allow the search with the return key in Personal
 Tools > Other users

---
 .../den/DENManageParticipantsController.java  |  2 +-
 .../securitygroup/gui/GroupController.java    |  2 +-
 .../olat/admin/user/UserSearchController.java | 12 ++++-----
 .../org/olat/admin/user/UserSearchForm.java   | 26 ++++++-------------
 .../delete/DeletableUserSearchController.java |  2 +-
 .../olat/basesecurity/ui/GroupController.java |  2 +-
 .../ui/wizard/BGUserManagementController.java |  2 +-
 .../home/UserSearchAndInfoController.java     |  2 +-
 8 files changed, 20 insertions(+), 30 deletions(-)

diff --git a/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java b/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java
index 2d68cd191c7..04d8830ed14 100644
--- a/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java
+++ b/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java
@@ -270,7 +270,7 @@ public class DENManageParticipantsController extends BasicController {
 		if(source == addParticipantButton) {
 			//open user search controller to manually add users in date
 			removeAsListenerAndDispose(userSearchCntrl);
-			userSearchCntrl = new UserSearchController(ureq, getWindowControl(), true, true);
+			userSearchCntrl = new UserSearchController(ureq, getWindowControl(), true, true, false);
 			listenTo(userSearchCntrl);
 			
 			removeAsListenerAndDispose(userSearchCMC);
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 fdefd0a6300..f5ab938677e 100644
--- a/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java
+++ b/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java
@@ -462,7 +462,7 @@ public class GroupController extends BasicController {
 	
 	private void doAddUsers(UserRequest ureq) {
 		removeAsListenerAndDispose(usc);
-		usc = new UserSearchController(ureq, getWindowControl(), true, true);			
+		usc = new UserSearchController(ureq, getWindowControl(), true, true, false);			
 		listenTo(usc);
 		
 		Component usersearchview = usc.getInitialComponent();
diff --git a/src/main/java/org/olat/admin/user/UserSearchController.java b/src/main/java/org/olat/admin/user/UserSearchController.java
index 6645a894691..bce57c17386 100644
--- a/src/main/java/org/olat/admin/user/UserSearchController.java
+++ b/src/main/java/org/olat/admin/user/UserSearchController.java
@@ -105,7 +105,7 @@ public class UserSearchController extends BasicController {
 	private TableController tableCtr;
 	private TableGuiConfiguration tableConfig;
 	private UserTableDataModel tdm;
-	private List<Identity> foundIdentities = new ArrayList<Identity>();
+	private List<Identity> foundIdentities = new ArrayList<>();
 	private boolean useMultiSelect = false;
 	private Object userObject;
 	
@@ -127,7 +127,7 @@ public class UserSearchController extends BasicController {
 	 * @param wControl
 	 */
 	public UserSearchController(UserRequest ureq, WindowControl wControl) {
-		this(ureq, wControl, false, false);
+		this(ureq, wControl, false, false, false);
 	}
 	
 	
@@ -137,7 +137,7 @@ public class UserSearchController extends BasicController {
 	 * @param cancelbutton
 	 */
 	public UserSearchController(UserRequest ureq, WindowControl wControl, boolean cancelbutton) {
-		this(ureq, wControl, cancelbutton, false);
+		this(ureq, wControl, cancelbutton, false, false);
 	}
 
 	/**
@@ -149,7 +149,7 @@ public class UserSearchController extends BasicController {
 	 * @param actionKeyChooseFinish
 	 */
 	public UserSearchController(UserRequest ureq, WindowControl windowControl, boolean cancelbutton, boolean userMultiSelect, String actionKeyChooseFinish) {
-		this(ureq, windowControl, cancelbutton, userMultiSelect);
+		this(ureq, windowControl, cancelbutton, userMultiSelect, false);
 		this.actionKeyChoose = actionKeyChooseFinish;
 	}
 
@@ -160,7 +160,7 @@ public class UserSearchController extends BasicController {
 	 * @param userMultiSelect
 	 * @param statusEnabled
 	 */
-	public UserSearchController(UserRequest ureq, WindowControl wControl, boolean cancelbutton, boolean userMultiSelect) {
+	public UserSearchController(UserRequest ureq, WindowControl wControl, boolean cancelbutton, boolean userMultiSelect, boolean allowReturnKey) {
 		super(ureq, wControl);
 		this.useMultiSelect = userMultiSelect;
 		this.actionKeyChoose = ACTION_KEY_CHOOSE;
@@ -182,7 +182,7 @@ public class UserSearchController extends BasicController {
 		
 		Roles roles = ureq.getUserSession().getRoles();
 		isAdministrativeUser = securityModule.isUserAllowedAdminProps(roles);
-		searchform = new UserSearchForm(ureq, wControl, isAdministrativeUser, cancelbutton);
+		searchform = new UserSearchForm(ureq, wControl, isAdministrativeUser, cancelbutton, allowReturnKey);
 		listenTo(searchform);
 		searchPanel.setContent(searchform.getInitialComponent());
 	
diff --git a/src/main/java/org/olat/admin/user/UserSearchForm.java b/src/main/java/org/olat/admin/user/UserSearchForm.java
index a35a2f27afa..deb568acb03 100644
--- a/src/main/java/org/olat/admin/user/UserSearchForm.java
+++ b/src/main/java/org/olat/admin/user/UserSearchForm.java
@@ -28,7 +28,6 @@ import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.FormLink;
 import org.olat.core.gui.components.form.flexible.elements.TextElement;
-import org.olat.core.gui.components.form.flexible.impl.Form;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
@@ -57,12 +56,13 @@ import org.olat.user.propertyhandlers.UserPropertyHandler;
  */
 public class UserSearchForm extends FormBasicController {
 	
-	private final boolean isAdminProps, cancelButton;
+	private final boolean isAdminProps, cancelButton, allowReturnKey;
 	private FormLink searchButton;
 	
 	protected TextElement login;
 	protected List<UserPropertyHandler> userPropertyHandlers;
-	protected Map <String,FormItem>propFormItems;
+	protected Map<String,FormItem> propFormItems;
+
 	
 	/**
 	 * @param name
@@ -70,7 +70,7 @@ public class UserSearchForm extends FormBasicController {
 	 * @param isAdmin if true, no field must be filled in at all, otherwise
 	 *          validation takes place
 	 */
-	public UserSearchForm(UserRequest ureq, WindowControl wControl, boolean isAdminProps, boolean cancelButton) {
+	public UserSearchForm(UserRequest ureq, WindowControl wControl, boolean isAdminProps, boolean cancelButton, boolean allowReturnKey) {
 		super(ureq, wControl);
 		
 		UserManager um = UserManager.getInstance();
@@ -79,19 +79,7 @@ public class UserSearchForm extends FormBasicController {
 		
 		this.isAdminProps = isAdminProps;
 		this.cancelButton = cancelButton;
-	
-		initForm(ureq);
-	}
-	
-	public UserSearchForm(UserRequest ureq, WindowControl wControl, boolean isAdminProps, boolean cancelButton, Form rootForm) {
-		super(ureq, wControl, LAYOUT_DEFAULT, null, rootForm);
-		
-		UserManager um = UserManager.getInstance();
-		Translator decoratedTranslator = um.getPropertyHandlerTranslator(this.getTranslator());
-		setTranslator(decoratedTranslator);
-		
-		this.isAdminProps = isAdminProps;
-		this.cancelButton = cancelButton;
+		this.allowReturnKey = allowReturnKey;
 	
 		initForm(ureq);
 	}
@@ -219,7 +207,9 @@ public class UserSearchForm extends FormBasicController {
 	
 	@Override
 	protected void formOK(UserRequest ureq) {
-		//fireEvent (ureq, Event.DONE_EVENT);
+		if(allowReturnKey) {
+			fireEvent (ureq, Event.DONE_EVENT);
+		}
 	}
 	
 	@Override
diff --git a/src/main/java/org/olat/admin/user/delete/DeletableUserSearchController.java b/src/main/java/org/olat/admin/user/delete/DeletableUserSearchController.java
index ff1a6dbc6a7..9d697f71aa5 100644
--- a/src/main/java/org/olat/admin/user/delete/DeletableUserSearchController.java
+++ b/src/main/java/org/olat/admin/user/delete/DeletableUserSearchController.java
@@ -63,7 +63,7 @@ import org.olat.core.id.Identity;
 public class DeletableUserSearchController extends UserSearchController {
 	
 	public DeletableUserSearchController(UserRequest ureq, WindowControl wControl) {
-		super(ureq, wControl, true, true);
+		super(ureq, wControl, true, true, false);
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/basesecurity/ui/GroupController.java b/src/main/java/org/olat/basesecurity/ui/GroupController.java
index e463e36aab9..c73e58c5f96 100644
--- a/src/main/java/org/olat/basesecurity/ui/GroupController.java
+++ b/src/main/java/org/olat/basesecurity/ui/GroupController.java
@@ -472,7 +472,7 @@ public class GroupController extends BasicController {
 	
 	private void doAddUsers(UserRequest ureq) {
 		removeAsListenerAndDispose(usc);
-		usc = new UserSearchController(ureq, getWindowControl(), true, true);			
+		usc = new UserSearchController(ureq, getWindowControl(), true, true, false);			
 		listenTo(usc);
 		
 		Component usersearchview = usc.getInitialComponent();
diff --git a/src/main/java/org/olat/group/ui/wizard/BGUserManagementController.java b/src/main/java/org/olat/group/ui/wizard/BGUserManagementController.java
index 5ad6fb6dc57..114531c246a 100644
--- a/src/main/java/org/olat/group/ui/wizard/BGUserManagementController.java
+++ b/src/main/java/org/olat/group/ui/wizard/BGUserManagementController.java
@@ -180,7 +180,7 @@ public class BGUserManagementController extends BasicController {
 		removeAsListenerAndDispose(cmc);
 		removeAsListenerAndDispose(addCtrl);
 		
-		addCtrl = new UserSearchController(ureq, getWindowControl(), true, true);	
+		addCtrl = new UserSearchController(ureq, getWindowControl(), true, true, false);	
 		addCtrl.setUserObject(type);
 		listenTo(addCtrl);
 		String title;
diff --git a/src/main/java/org/olat/home/UserSearchAndInfoController.java b/src/main/java/org/olat/home/UserSearchAndInfoController.java
index 12204c980d1..b448d3de465 100644
--- a/src/main/java/org/olat/home/UserSearchAndInfoController.java
+++ b/src/main/java/org/olat/home/UserSearchAndInfoController.java
@@ -53,7 +53,7 @@ public class UserSearchAndInfoController extends BasicController {
 	
 	public UserSearchAndInfoController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl);
-		userCtrl = new UserSearchController(ureq, wControl);
+		userCtrl = new UserSearchController(ureq, wControl, false, false, true);
 		listenTo(userCtrl);
 		putInitialPanel(userCtrl.getInitialComponent());
 	}
-- 
GitLab