From 61d53a53864b08c56d2512a3105081425365072b Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 3 Oct 2014 08:17:17 +0200
Subject: [PATCH] OO-963: fix disabling user tools

---
 .../tools/ui/UserToolsAdminController.java    | 26 +++++++++----------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java b/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java
index 68ff551fc9b..33afc293e8f 100644
--- a/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java
+++ b/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java
@@ -76,21 +76,17 @@ public class UserToolsAdminController extends FormBasicController {
 
 		availableEl = uifactory.addCheckboxesVertical("available.tools", "available.tools", formLayout, toolKeys, toolValues, 1);
 		availableEl.addActionListener(FormEvent.ONCHANGE);
-		
-		if(userToolsModule.isUserToolsDisabled()) {
-			availableEl.setEnabled(false);
+
+		Set<String> availableTools = userToolsModule.getAvailableUserToolSet();
+		if(availableTools.isEmpty()) {
+			for(String toolKey:toolKeys) {
+				availableEl.select(toolKey, true);
+			}
 		} else {
-			Set<String> tools = userToolsModule.getAvailableUserToolSet();
-			if(tools.isEmpty()) {
-				for(String toolKey:toolKeys) {
+			for(String toolKey:toolKeys) {
+				if(availableTools.contains(toolKey)) {
 					availableEl.select(toolKey, true);
 				}
-			} else {
-				for(String toolKey:toolKeys) {
-					if(tools.contains(toolKey)) {
-						availableEl.select(toolKey, true);
-					}
-				}
 			}
 		}
 
@@ -109,7 +105,6 @@ public class UserToolsAdminController extends FormBasicController {
 				}
 			}
 		}
-		
 	}
 	
 	@Override
@@ -122,6 +117,11 @@ public class UserToolsAdminController extends FormBasicController {
 		if(availableEl == source) {
 			//update defaultSet;
 			doPersist();
+			if(availableEl.isAtLeastSelected(1)) {
+				presetEl.setEnabled(true);
+			} else {
+				presetEl.setEnabled(false);
+			}
 		} else if(presetEl == source) {
 			doPersist();
 		}
-- 
GitLab