From c1e02ba6708fb8b053bc600d2d49e3062e5995a5 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Tue, 18 Sep 2018 17:18:34 +0200
Subject: [PATCH] OO-3647: pass the extended search parameter of the business
 group

In the coached group search, pass the extended search parameters up-to
the query, preselect the "coach" role in the search panel
---
 .../ui/main/BusinessGroupSearchController.java  | 17 ++++++++++++++---
 .../SelectOwnedBusinessGroupController.java     |  9 ++++++++-
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java b/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java
index 0a8a8036b93..9d53576bace 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java
@@ -22,6 +22,7 @@ package org.olat.group.ui.main;
 import java.util.Collections;
 import java.util.List;
 
+import org.olat.basesecurity.GroupRoles;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
@@ -210,6 +211,18 @@ public class BusinessGroupSearchController extends FormBasicController implement
 		publicEl.setVisible(enable);
 	}
 	
+	public void setPreselectedRoles(GroupRoles role) {
+		if(rolesEl != null) {
+			if(role == GroupRoles.coach) {
+				rolesEl.select("owner", true);
+			} else if(role == GroupRoles.participant) {
+				rolesEl.select("attendee", true);
+			} else if(role == GroupRoles.waiting) {
+				rolesEl.select("waiting", true);
+			}
+		}
+	}
+	
 	/**
 	 * @return True if the text search fields are empty
 	 */
@@ -227,9 +240,7 @@ public class BusinessGroupSearchController extends FormBasicController implement
 	protected boolean validateFormLogic(UserRequest ureq) {
 		if(!enabled) return true;
 		
-		boolean allOk = true;
-
-		return allOk & super.validateFormLogic(ureq);
+		return super.validateFormLogic(ureq);
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java b/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java
index 0f1546c4e42..7cdbf7ac4ad 100644
--- a/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java
+++ b/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java
@@ -19,6 +19,7 @@
  */
 package org.olat.group.ui.main;
 
+import org.olat.basesecurity.GroupRoles;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.control.WindowControl;
@@ -32,6 +33,8 @@ public class SelectOwnedBusinessGroupController extends AbstractSelectBusinessGr
 	
 	public SelectOwnedBusinessGroupController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl, "group_list", "sel-owned");
+		
+		searchCtrl.setPreselectedRoles(GroupRoles.coach);
 	}
 
 	@Override
@@ -47,7 +50,9 @@ public class SelectOwnedBusinessGroupController extends AbstractSelectBusinessGr
 
 	@Override
 	protected BusinessGroupQueryParams getSearchParams(SearchEvent event) {
-		BusinessGroupQueryParams params = new BusinessGroupQueryParams(true, false);
+		BusinessGroupQueryParams params = event.convertToBusinessGroupQueriesParams();
+		params.setOwner(true);
+		params.setAttendee(false);
 		params.setWaiting(false);
 		return params;
 	}
@@ -55,6 +60,8 @@ public class SelectOwnedBusinessGroupController extends AbstractSelectBusinessGr
 	@Override
 	protected BusinessGroupQueryParams getDefaultSearchParams() {
 		BusinessGroupQueryParams params = new BusinessGroupQueryParams(true, false);
+		params.setOwner(true);
+		params.setAttendee(false);
 		params.setWaiting(false);
 		return params;
 	}
-- 
GitLab