diff --git a/src/Handler/Course/Register.hs b/src/Handler/Course/Register.hs index 66b9b3566..180137e9d 100644 --- a/src/Handler/Course/Register.hs +++ b/src/Handler/Course/Register.hs @@ -10,12 +10,15 @@ import Import import Handler.Utils +import Utils.Course + import qualified Data.Text as Text import qualified Data.Conduit.List as C import Database.Persist.Sql (transactionUndo) import qualified Database.Esqueleto as E +import qualified Database.Esqueleto.Utils as E -- Dedicated CourseRegistrationButton @@ -246,7 +249,13 @@ postCRegisterR tid ssh csh = do BtnCourseRetractApplication -> runDB $ do deleteApplications uid cid addMessageIconI Info IconApplyFalse MsgCourseRetractApplyOk - redirect $ CourseR tid ssh csh CShowR + muid <- maybeAuthId + ata <- getSessionActiveAuthTags + now <- liftIO getCurrentTime + courseVisible <- runDB $ E.selectExists . E.from $ \c -> E.where_ $ -- TODO meh... + c E.^. CourseId E.==. E.val cid + E.&&. mayViewCourse muid ata now c Nothing + redirect $ bool NewsR (CourseR tid ssh csh CShowR) courseVisible deleteApplications :: UserId -> CourseId -> DB () deleteApplications uid cid = do