From 7ef05b6491f949bcc739728c2be5a6a4e5f4ea7f Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 29 Jun 2017 11:52:12 +0200
Subject: [PATCH] OO-2376: add the possibility to "bulk" create groups in
 several places

---
 src/main/java/org/olat/group/ui/NewBGController.java   |  4 ++--
 .../ui/main/AbstractBusinessGroupListController.java   | 10 +++++++---
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/olat/group/ui/NewBGController.java b/src/main/java/org/olat/group/ui/NewBGController.java
index 01906736eaa..4ee7c8f2a7f 100644
--- a/src/main/java/org/olat/group/ui/NewBGController.java
+++ b/src/main/java/org/olat/group/ui/NewBGController.java
@@ -188,8 +188,8 @@ public class NewBGController extends BasicController {
 	 * @return the new groups.
 	 */
 	public Set<BusinessGroup> getCreatedGroups(){
-		Set<BusinessGroup> groupSet = new HashSet<BusinessGroup>(newGroups);
-		if(newGroups == null) {
+		Set<BusinessGroup> groupSet = new HashSet<BusinessGroup>();
+		if(newGroups != null) {
 			groupSet.addAll(newGroups); 
 		}
 		return groupSet;
diff --git a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java
index bab3d43ab63..e0e8c330e19 100644
--- a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java
+++ b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java
@@ -438,8 +438,12 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr
 		} else if (source == groupCreateController) {
 			BusinessGroup group = null;
 			if(event == Event.DONE_EVENT) {
-				group = groupCreateController.getCreatedGroup();
-				if(group != null) {
+				Set<BusinessGroup> groups = groupCreateController.getCreatedGroups();
+				if(groups.size() == 1) {
+					group = groups.iterator().next();
+				}
+	
+				if(groups.size() > 0) {
 					tableEl.deselectAll();
 					reloadModel();
 				}
@@ -633,7 +637,7 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr
 	 */
 	protected void doCreate(UserRequest ureq, WindowControl wControl, RepositoryEntry re) {				
 		removeAsListenerAndDispose(groupCreateController);
-		groupCreateController = new NewBGController(ureq, wControl, re, false, null);
+		groupCreateController = new NewBGController(ureq, wControl, re, true, null);
 		listenTo(groupCreateController);
 		
 		cmc = new CloseableModalController(getWindowControl(), translate("close"), groupCreateController.getInitialComponent(), true, translate("create.form.title"));
-- 
GitLab