diff --git a/src/Handler/Users/Add.hs b/src/Handler/Users/Add.hs index 9aae6137c..872431554 100644 --- a/src/Handler/Users/Add.hs +++ b/src/Handler/Users/Add.hs @@ -1,9 +1,11 @@ --- SPDX-FileCopyrightText: 2022 Gregor Kleen ,Sarah Vaupel ,Steffen Jost ,Steffen Jost ,Winnie Ros +-- SPDX-FileCopyrightText: 2022-2023 Gregor Kleen , Sarah Vaupel , Steffen Jost , Winnie Ros -- -- SPDX-License-Identifier: AGPL-3.0-or-later +{-# OPTIONS_GHC -O0 -fno-ignore-interface-pragmas -fno-omit-interface-pragmas #-} + module Handler.Users.Add - ( getAdminUserAddR, postAdminUserAddR + ( getAdminUserAddR, postAdminUserAddR ) where @@ -25,10 +27,10 @@ adminUserForm template = renderAForm FormStandard <*> aopt (selectField optionsFinite) (fslI MsgAdminUserSex) (audSex <$> template) <*> aopt dayField (fslI MsgAdminUserBirthday) (audBirthday <$> template) <*> aopt (textField & cfStrip) (fslI MsgAdminUserMobile) (audMobile <$> template) - <*> aopt (textField & cfStrip) (fslI MsgAdminUserTelephone) (audTelephone <$> template) + <*> aopt (textField & cfStrip) (fslI MsgAdminUserTelephone) (audTelephone <$> template) <*> aopt (textField & cfStrip) (fslI MsgAdminUserFPersonalNumber) (audFPersonalNumber <$> template) <*> aopt (textField & cfStrip) (fslI MsgAdminUserFDepartment) (audFDepartment <$> template) - <*> aopt htmlField (fslI MsgAdminUserPostAddress) (audPostAddress <$> template) + <*> aopt htmlField (fslI MsgAdminUserPostAddress) (audPostAddress <$> template) <*> areq checkBoxField (fslI MsgAdminUserPrefersPostal) (audPrefersPostal <$> template) <*> aopt (textField & cfStrip) (fslI MsgAdminUserPinPassword) (audPinPassword <$> template) <*> areq (emailField & cfCI) (fslI MsgAdminUserEmail) (audEmail <$> template) @@ -36,16 +38,16 @@ adminUserForm template = renderAForm FormStandard <*> areq (selectField optionsFinite) (fslI MsgAdminUserAuth & setTooltip MsgAdminUserAuthTooltip) (audAuth <$> template <|> Just AuthKindLDAP) -- | Like `addNewUser`, but starts background jobs and tries to notify users, if applicable (i.e. /= AuthNoLogin ) -addNewUserNotify :: AddUserData -> Handler (Maybe UserId) -addNewUserNotify aud = do - mbUid <- addNewUser aud +addNewUserNotify :: AddUserData -> Handler (Maybe UserId) +addNewUserNotify aud = do + mbUid <- addNewUser aud case mbUid of Nothing -> return Nothing - Just uid -> runDBJobs $ do - queueDBJob $ JobSynchroniseLdapUser uid + Just uid -> runDBJobs $ do + queueDBJob $ JobSynchroniseLdapUser uid let authKind = audAuth aud when (authKind /= AuthKindNoLogin) $ - queueDBJob . JobQueueNotification $ NotificationUserAuthModeUpdate uid + queueDBJob . JobQueueNotification $ NotificationUserAuthModeUpdate uid when (authKind == AuthKindPWHash) $ queueDBJob $ JobSendPasswordReset uid return $ Just uid