diff --git a/src/Jobs/HealthReport.hs b/src/Jobs/HealthReport.hs index fb8e67ae1..64d90d692 100644 --- a/src/Jobs/HealthReport.hs +++ b/src/Jobs/HealthReport.hs @@ -96,8 +96,9 @@ dispatchHealthCheckLDAPAdmins = fmap HealthLDAPAdmins . yesodTimeout (^. _appHea reTestAfter <- getsYesod $ view _appLdapReTestFailover case ldapPool' of Just ldapPool -> do - ldapAdminUsers' <- fmap (map E.unValue) . runDB . E.select . E.from $ \(user `E.InnerJoin` lecturer) -> E.distinctOnOrderBy [E.asc $ user E.^. UserId] $ do - E.on $ user E.^. UserId E.==. lecturer E.^. LecturerUser + ldapAdminUsers' <- fmap (map E.unValue) . runDB . E.select . E.from $ \(user `E.InnerJoin` userFunction) -> E.distinctOnOrderBy [E.asc $ user E.^. UserId] $ do + E.on $ user E.^. UserId E.==. userFunction E.^. UserFunctionUser + E.where_ $ userFunction E.^. UserFunctionFunction E.==. E.val SchoolAdmin E.where_ $ user E.^. UserAuthentication E.==. E.val AuthLDAP return $ user E.^. UserIdent for (assertM' (not . null) ldapAdminUsers') $ \ldapAdminUsers -> do