diff --git a/src/main/java/org/olat/repository/model/SingleRoleRepositoryEntrySecurity.java b/src/main/java/org/olat/repository/model/SingleRoleRepositoryEntrySecurity.java index e9380bd9875a181eec4a73d08941b905828b82ab..2940dc0aa9111ae4d7f571296bea910aa7f5a29f 100644 --- a/src/main/java/org/olat/repository/model/SingleRoleRepositoryEntrySecurity.java +++ b/src/main/java/org/olat/repository/model/SingleRoleRepositoryEntrySecurity.java @@ -67,6 +67,12 @@ public class SingleRoleRepositoryEntrySecurity implements RepositoryEntrySecurit public void setWrappedSecurity(RepositoryEntrySecurity wrappedSecurity) { this.wrappedSecurity = wrappedSecurity; + // current role no longer possible + if ((Role.participant.equals(currentRole) && !isParticipant()) + || (Role.coach.equals(currentRole) && !isCoach()) + || (Role.owner.equals(currentRole) && !isOwner())) { + currentRole = getDefaultRole(); + } } public Set<Role> getOtherRoles() {