fix(users): fix broken email fallback

This commit is contained in:
Gregor Kleen 2019-10-16 11:22:36 +02:00
parent 4a0fcd58db
commit f4e9f2c973

View File

@ -3366,7 +3366,11 @@ upsertCampusUser ldapData Creds{..} = do
let
userMatrikelnummer' = fold [ v | (k, v) <- ldapData, k == ldapUserMatriculation ]
userEmail' = fold [ v | (k, v) <- ldapData, k' <- toList ldapUserEmail, k' == k ]
userEmail' = fold $ do
k' <- toList ldapUserEmail
(k, v) <- ldapData
guard $ k' == k
return v
userDisplayName'' = fold [ v | (k, v) <- ldapData, k == ldapUserDisplayName ]
userFirstName' = fold [ v | (k, v) <- ldapData, k == ldapUserFirstName ]
userSurname' = fold [ v | (k, v) <- ldapData, k == ldapUserSurname ]
@ -3379,8 +3383,7 @@ upsertCampusUser ldapData Creds{..} = do
userLastAuthentication = now <$ guard (not isDummy)
userEmail <- if
| bs : _ <- userEmail'
, Right userEmail <- Text.decodeUtf8' bs
| userEmail : _ <- mapMaybe (assertM (elem '@') . either (const Nothing) Just . Text.decodeUtf8') userEmail'
-> return $ mk userEmail
| otherwise
-> throwM CampusUserInvalidEmail