From 2a33895d69f28d09525088380076025fcd48a6bb Mon Sep 17 00:00:00 2001 From: SJost Date: Wed, 27 Jun 2018 15:42:03 +0200 Subject: [PATCH] BUGFIX: Register Button requires passphrase now (if lecture has one). --- src/Handler/Course.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index 4d40bf2c7..a8728f2c9 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -101,8 +101,8 @@ getCShowR tid csh = do registerForm :: Bool -> Maybe Text -> Form Bool registerForm registered msecret extra = do (msecretRes', msecretView) <- case msecret of - Nothing -> return (Nothing,Nothing) - (Just _) -> bimap Just Just <$> (mreq textField (fslpI MsgCourseSecret "Code") Nothing) + (Just _) | not registered -> bimap Just Just <$> (mreq textField (fslpI MsgCourseSecret "Code") Nothing) + _ -> return (Nothing,Nothing) (btnRes, btnView) <- mreq (buttonField $ bool BtnRegister BtnDeregister registered) "buttonField ignores settings anyway" Nothing let widget = $(widgetFile "widgets/registerForm") let msecretRes | Just res <- msecretRes' = Just <$> res @@ -119,14 +119,15 @@ postCRegisterR tid csh = do return (cid, course, registered) ((regResult,_), _) <- runFormPost $ identifyForm "registerBtn" $ registerForm registered $ courseRegisterSecret course case regResult of - (FormSuccess _) + (FormSuccess codeOk) | registered -> do runDB $ deleteBy $ UniqueParticipant aid cid addMessage "info" "Sie wurden abgemeldet." - | otherwise -> do + | codeOk -> do actTime <- liftIO $ getCurrentTime regOk <- runDB $ insertUnique $ CourseParticipant cid aid actTime when (isJust regOk) $ addMessage "success" "Erfolgreich angemeldet!" + | otherwise -> addMessage "danger" "Falsches Kennwort!" (_other) -> return () -- TODO check this! redirect $ CourseR tid csh CShowR