diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java index 8011704767b3f83edf76e56b05fadc43812f1337..57683617aa7ca1ec4ec8ab536408903399f52bed 100644 --- a/src/main/java/org/olat/course/run/CourseRuntimeController.java +++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java @@ -581,7 +581,7 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im } if(repositoryService.isParticipantAllowedToLeave(getRepositoryEntry()) - && !assessmentLock + && !assessmentLock && !roles.isGuestOnly() && (uce.isParticipant() || !uce.getParticipatingGroups().isEmpty())) { leaveLink = LinkFactory.createToolLink("sign.out", "leave", translate("sign.out"), this); leaveLink.setIconLeftCSS("o_icon o_icon-fw o_icon_sign_out"); @@ -1015,6 +1015,8 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im } private void doLeave(UserRequest ureq) { + if(roles.isGuestOnly()) return; + MailerResult result = new MailerResult(); MailPackage reMailing = new MailPackage(result, getWindowControl().getBusinessControl().getAsString(), true); //leave course diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java index 259edbbe7f70cb18bcbce61e07029189a5f3f06a..4492052bba1d3a733568d2307d51db761f45aec0 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java @@ -313,7 +313,8 @@ public class RepositoryEntryDetailsController extends FormBasicController { Roles roles = ureq.getUserSession().getRoles(); layoutCont.contextPut("roles", roles); - if(memberRoles.contains(GroupRoles.participant.name()) && repositoryService.isParticipantAllowedToLeave(entry)) { + if(!guestOnly && memberRoles.contains(GroupRoles.participant.name()) + && repositoryService.isParticipantAllowedToLeave(entry)) { leaveLink = uifactory.addFormLink("sign.out", "leave", "sign.out", null, formLayout, Link.LINK); leaveLink.setIconLeftCSS("o_icon o_icon_sign_out"); } @@ -576,6 +577,8 @@ public class RepositoryEntryDetailsController extends FormBasicController { } protected void doLeave() { + if(guestOnly) return; + MailerResult result = new MailerResult(); MailPackage reMailing = new MailPackage(result, getWindowControl().getBusinessControl().getAsString(), true); LeavingStatusList status = new LeavingStatusList();