diff --git a/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java b/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java index 0c3f0a07ed98b736a32a3af0815a8030c34fbd44..f8f172fe1f1e4a3386f3d89f1dc7e9a0da9c754f 100644 --- a/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java +++ b/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java @@ -22,6 +22,7 @@ package org.olat.course.disclaimer.manager; import java.util.List; import org.apache.logging.log4j.Logger; +import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.IdentityRef; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; @@ -48,6 +49,9 @@ public class CourseDisclaimerManagerImpl implements CourseDisclaimerManager, Use @Autowired private CourseDisclaimerDAO courseDisclaimerDAO; + + @Autowired + private BaseSecurityManager baseSecurityManager; @Autowired private DB dbInstance; @@ -69,6 +73,10 @@ public class CourseDisclaimerManagerImpl implements CourseDisclaimerManager, Use @Override public void acceptDisclaimer(RepositoryEntry repositoryEntry, Identity identitiy, boolean disc1Accepted, boolean disc2Accepted) { + if (baseSecurityManager.getRoles(identitiy).isGuestOnly()) { + return; + } + CourseDisclaimerConsent consent = courseDisclaimerDAO.getCourseDisclaimerConsent(repositoryEntry, identitiy); if (consent != null) { @@ -107,6 +115,9 @@ public class CourseDisclaimerManagerImpl implements CourseDisclaimerManager, Use accessGranted &= false; } } + if (baseSecurityManager.getRoles(identitiyRef).isGuestOnly()) { + accessGranted &= false; + } } return accessGranted;