gonito/Handler/ListChallenges.hs

22 lines
710 B
Haskell

module Handler.ListChallenges where
import Import
getListChallengesR :: Handler Html
getListChallengesR = do
challenges <- runDB $ selectList [] [Asc ChallengeStarred, Desc ChallengeStamp]
defaultLayout $ do
setTitle "List challenges"
$(widgetFile "list-challenges")
listChallengesCore challenges = $(widgetFile "list-challenges-core")
getChallengeImageR :: ChallengeId -> Handler Html
getChallengeImageR challengeId = do
challenge <- runDB $ get404 challengeId
case challengeImage challenge of
Just image -> do
addHeader "Content-Disposition" "attachment; filename=\"image.png\""
sendResponse (typePng, toContent image)
Nothing -> sendResponseStatus status202 ()