fix(form): knownUserField not working as intended (WIP)
This commit is contained in:
parent
d6de55a886
commit
130140b60d
@ -1980,9 +1980,9 @@ knownUserField onlySuggested suggestions = Field{..}
|
||||
Right (CI.mk . decodeUtf8 . Email.toByteString -> email) -> do
|
||||
dbRes <- liftHandler $ runDBRead $ E.select $ E.distinct $ do
|
||||
user <- lookupExpr'
|
||||
E.where_ $ E.val email E.==. user E.^. UserIdent -- UserIdent is unique
|
||||
E.||. E.val email E.==. user E.^. UserEmail -- UserEmail is unique
|
||||
E.||. ( E.val email E.==. user E.^. UserDisplayEmail
|
||||
E.where_ $ E.val email `E.ciEq` user E.^. UserIdent -- UserIdent is unique
|
||||
E.||. E.val email `E.ciEq` user E.^. UserEmail -- UserEmail is unique
|
||||
E.||. ( E.val email `E.ciEq` user E.^. UserDisplayEmail
|
||||
E.&&. uniqueCI user UserDisplayEmail -- ensure uniqueness
|
||||
)
|
||||
E.limit 3 -- we need a single answer only, so we optimize the query to stop at multiple answers
|
||||
@ -2013,9 +2013,9 @@ knownUserField onlySuggested suggestions = Field{..}
|
||||
uniqueCI user field | Just lookupExpr' <- lookupExpr = E.not_ . E.exists $ do
|
||||
user' <- lookupExpr'
|
||||
E.where_ $ user' E.^. UserId E.!=. user E.^. UserId
|
||||
E.&&. ( user' E.^. UserIdent E.==. user E.^. field
|
||||
E.||. user' E.^. UserEmail E.==. user E.^. field
|
||||
E.||. user' E.^. UserDisplayEmail E.==. user E.^. field
|
||||
E.&&. ( user' E.^. UserIdent `E.ciEq` user E.^. field
|
||||
E.||. user' E.^. UserEmail `E.ciEq` user E.^. field
|
||||
E.||. user' E.^. UserDisplayEmail `E.ciEq` user E.^. field
|
||||
)
|
||||
uniqueCI _ _ = E.true
|
||||
|
||||
|
||||
@ -81,8 +81,8 @@ migrateManual = do
|
||||
, ("user_lower_display_email", "CREATE INDEX user_lower_display_email ON \"user\" (lower(display_email))" )
|
||||
, ("user_lower_email", "CREATE INDEX user_lower_email ON \"user\" (lower(email))" )
|
||||
, ("user_lower_ident", "CREATE INDEX user_lower_ident ON \"user\" (lower(ident))" )
|
||||
, ("user_company_personal_number", "CREATE INDEX user_company_personal_number ON \"user\" (company_personal_number))" )
|
||||
, ("user_matrikelnummer", "CREATE INDEX user_matrikelnummer ON \"user\" (matrikelnummer))" )
|
||||
, ("user_company_personal_number", "CREATE INDEX user_company_personal_number ON \"user\" (company_personal_number)" )
|
||||
, ("user_matrikelnummer", "CREATE INDEX user_matrikelnummer ON \"user\" (matrikelnummer)" )
|
||||
, ("submission_sheet", "CREATE INDEX submission_sheet ON submission (sheet)" )
|
||||
, ("submission_edit_submission", "CREATE INDEX submission_edit_submission ON submission_edit (submission)" )
|
||||
, ("user_ldap_primary_key", "CREATE INDEX user_ldap_primary_key ON \"user\" (ldap_primary_key)" )
|
||||
|
||||
Loading…
Reference in New Issue
Block a user