From b1d5c4b0c5faafc516e43e1041beaade8fbc6b36 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 13 Jul 2015 10:47:02 +0200
Subject: [PATCH] OO-1610: don't show the access control panel if the module is
 disabled

---
 .../org/olat/course/run/CourseRuntimeController.java |  3 ---
 .../ui/RepositoryEntryRuntimeController.java         |  3 ---
 .../ui/author/AuthoringEditAccessController.java     | 12 ++++++++++--
 .../ui/author/CopyRepositoryEntryController.java     |  5 -----
 .../ui/author/OverviewAuthoringController.java       |  8 --------
 .../author/RepositoryEditDescriptionController.java  |  3 ---
 6 files changed, 10 insertions(+), 24 deletions(-)

diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java
index 147baf873dc..b91ebcc3645 100644
--- a/src/main/java/org/olat/course/run/CourseRuntimeController.java
+++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java
@@ -89,7 +89,6 @@ import org.olat.course.assessment.AssessmentChangedEvent;
 import org.olat.course.assessment.AssessmentMainController;
 import org.olat.course.assessment.AssessmentModule;
 import org.olat.course.assessment.CoachingGroupAccessAssessmentCallback;
-import org.olat.course.assessment.EfficiencyStatementManager;
 import org.olat.course.assessment.FullAccessAssessmentCallback;
 import org.olat.course.assessment.ui.AssessmentModeListController;
 import org.olat.course.certificate.ui.CertificateAndEfficiencyStatementController;
@@ -191,8 +190,6 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im
 	private BusinessGroupService businessGroupService;
 	@Autowired
 	private AssessmentModule assessmentModule;
-	@Autowired
-	private EfficiencyStatementManager efficiencyStatementManager;
 	
 	public CourseRuntimeController(UserRequest ureq, WindowControl wControl,
 			RepositoryEntry re, RepositoryEntrySecurity reSecurity, RuntimeControllerCreator runtimeControllerCreator,
diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
index b8b2d68340c..1a694a1d943 100644
--- a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
+++ b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
@@ -61,7 +61,6 @@ import org.olat.core.util.resource.OresHelper;
 import org.olat.course.CourseModule;
 import org.olat.course.assessment.AssessmentMode;
 import org.olat.course.assessment.AssessmentModeManager;
-import org.olat.course.assessment.AssessmentModule;
 import org.olat.course.assessment.model.TransientAssessmentMode;
 import org.olat.repository.RepositoryEntry;
 import org.olat.repository.RepositoryEntryManagedFlag;
@@ -153,8 +152,6 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController
 	@Autowired
 	protected MarkManager markManager;
 	@Autowired
-	private AssessmentModule assessmentModule;
-	@Autowired
 	protected RepositoryModule repositoryModule;
 	@Autowired
 	private RepositoryService repositoryService;
diff --git a/src/main/java/org/olat/repository/ui/author/AuthoringEditAccessController.java b/src/main/java/org/olat/repository/ui/author/AuthoringEditAccessController.java
index 5f25c07f9ec..21beed96410 100644
--- a/src/main/java/org/olat/repository/ui/author/AuthoringEditAccessController.java
+++ b/src/main/java/org/olat/repository/ui/author/AuthoringEditAccessController.java
@@ -36,6 +36,7 @@ import org.olat.repository.RepositoryManager;
 import org.olat.repository.RepositoryService;
 import org.olat.repository.controllers.EntryChangedEvent;
 import org.olat.repository.controllers.EntryChangedEvent.Change;
+import org.olat.resource.accesscontrol.AccessControlModule;
 import org.olat.resource.accesscontrol.ui.AccessConfigurationController;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -57,6 +58,8 @@ public class AuthoringEditAccessController extends BasicController {
 	
 	private RepositoryEntry entry;
 	@Autowired
+	private AccessControlModule acModule;
+	@Autowired
 	private RepositoryManager repositoryManager;
 	
 	public AuthoringEditAccessController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry) {
@@ -76,10 +79,11 @@ public class AuthoringEditAccessController extends BasicController {
 
 		boolean managedBookings = RepositoryEntryManagedFlag.isManaged(entry, RepositoryEntryManagedFlag.bookings);
 		acCtr = new AccessConfigurationController(ureq, getWindowControl(), entry.getOlatResource(), entry.getDisplayname(), true, !managedBookings);
+		listenTo(acCtr);
 		int access = propPupForm.getAccess();
 		int numOfBookingConfigs = acCtr.getNumOfBookingConfigurations();
 		if(access == RepositoryEntry.ACC_USERS || access == RepositoryEntry.ACC_USERS_GUESTS) {
-			if(!managedBookings || numOfBookingConfigs > 0) {
+			if((!managedBookings && acModule.isEnabled()) || numOfBookingConfigs > 0) {
 				editproptabpubVC.put("accesscontrol", acCtr.getInitialComponent());
 				editproptabpubVC.contextPut("isGuestAccess", Boolean.valueOf(access == RepositoryEntry.ACC_USERS_GUESTS));
 			}
@@ -118,7 +122,7 @@ public class AuthoringEditAccessController extends BasicController {
 
 				boolean managedBookings = RepositoryEntryManagedFlag.isManaged(entry, RepositoryEntryManagedFlag.bookings);
 				if(access == RepositoryEntry.ACC_USERS || access == RepositoryEntry.ACC_USERS_GUESTS) {
-					if(!managedBookings || numOfBookingConfigs > 0) {
+					if((!managedBookings && acModule.isEnabled()) || numOfBookingConfigs > 0) {
 						editproptabpubVC.put("accesscontrol", acCtr.getInitialComponent());
 						editproptabpubVC.contextPut("isGuestAccess", Boolean.valueOf(access == RepositoryEntry.ACC_USERS_GUESTS));
 					}
@@ -140,6 +144,10 @@ public class AuthoringEditAccessController extends BasicController {
 				CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(modifiedEvent, entry);	
 				fireEvent(ureq, Event.CHANGED_EVENT);
 			}
+		} else if(acCtr == source) {
+			if(event == Event.CHANGED_EVENT) {
+				fireEvent(ureq, Event.CHANGED_EVENT);
+			}
 		}
 	}
 }
diff --git a/src/main/java/org/olat/repository/ui/author/CopyRepositoryEntryController.java b/src/main/java/org/olat/repository/ui/author/CopyRepositoryEntryController.java
index 10de6d58e0d..ba1f3d63ed1 100644
--- a/src/main/java/org/olat/repository/ui/author/CopyRepositoryEntryController.java
+++ b/src/main/java/org/olat/repository/ui/author/CopyRepositoryEntryController.java
@@ -32,7 +32,6 @@ import org.olat.core.util.Util;
 import org.olat.repository.RepositoryEntry;
 import org.olat.repository.RepositoryManager;
 import org.olat.repository.RepositoryService;
-import org.olat.resource.OLATResourceManager;
 import org.springframework.beans.factory.annotation.Autowired;
 
 /**
@@ -48,12 +47,8 @@ public class CopyRepositoryEntryController extends FormBasicController {
 	private RepositoryEntry copyEntry;
 	private final RepositoryEntry sourceEntry;
 
-	@Autowired
-	private RepositoryManager repositoryManager;
 	@Autowired
 	private RepositoryService repositoryService;
-	@Autowired
-	private OLATResourceManager resourceManager;
 	
 	public CopyRepositoryEntryController(UserRequest ureq, WindowControl wControl, RepositoryEntry sourceEntry) {
 		super(ureq, wControl);
diff --git a/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java b/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java
index 9137310a431..72c31af13e2 100644
--- a/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java
+++ b/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java
@@ -42,11 +42,8 @@ import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
 import org.olat.core.util.Util;
 import org.olat.core.util.resource.OresHelper;
 import org.olat.repository.RepositoryManager;
-import org.olat.repository.handlers.RepositoryHandlerFactory;
 import org.olat.repository.model.SearchAuthorRepositoryEntryViewParams;
-import org.olat.user.UserManager;
 import org.olat.util.logging.activity.LoggingResourceable;
-import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 
@@ -65,11 +62,6 @@ public class OverviewAuthoringController extends BasicController implements Acti
 
 	private boolean isGuestonly;
 	
-	@Autowired
-	private UserManager userManager;
-	@Autowired
-	private RepositoryHandlerFactory repositoryHandlerFactory;
-	
 	public OverviewAuthoringController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl);
 		setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator()));
diff --git a/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java b/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java
index 0d86deabf51..c3ce6532450 100644
--- a/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java
+++ b/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java
@@ -53,7 +53,6 @@ import org.olat.core.gui.control.WindowControl;
 import org.olat.core.util.FileUtils;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.WebappHelper;
-import org.olat.core.util.i18n.I18nManager;
 import org.olat.core.util.vfs.LocalFileImpl;
 import org.olat.core.util.vfs.LocalFolderImpl;
 import org.olat.core.util.vfs.VFSContainer;
@@ -106,8 +105,6 @@ public class RepositoryEditDescriptionController extends FormBasicController {
 	
 	private static final String[] dateKeys = new String[]{ "none", "private", "public"};
 
-	@Autowired
-	private I18nManager i18nmanager;
 	@Autowired
 	private UserManager userManager;
 	@Autowired
-- 
GitLab