From f889ec674e35af24f8d33acf7102a2bee5dcf68b Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 28 Apr 2020 17:27:50 +0200 Subject: [PATCH] fix(health): ldap check only admins --- src/Jobs/HealthReport.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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