From 72e4f161255ba834491f9883af23c084154c8f90 Mon Sep 17 00:00:00 2001 From: nek0 Date: Mon, 18 Aug 2014 06:07:10 +0200 Subject: [PATCH] changed album logic --- Handler/Album.hs | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/Handler/Album.hs b/Handler/Album.hs index 988a2d8..a258e65 100644 --- a/Handler/Album.hs +++ b/Handler/Album.hs @@ -2,18 +2,24 @@ module Handler.Album where import Import -getAlbumR :: UserId -> AlbumId -> Handler Html -getAlbumR ownerId albumId = do - owner <- runDB $ getJust ownerId - ownerName <- lift $ pure $ userName owner - album <- runDB $ getJust albumId - msu <- lookupSession "userId" - presence <- case msu of - Just tempUserId -> do - userId <- lift $ pure $ getUserIdFromText tempUserId - return (userId == ownerId) - Nothing -> - return False - media <- mapM (\a -> runDB $ getJust a) (albumContent album) - defaultLayout $ do - $(widgetFile "album") +getAlbumR :: AlbumId -> Handler Html +getAlbumR albumId = do + tempAlbum <- runDB $ get albumId + case tempAlbum of + Just album -> do + ownerId <- return $ albumOwner album + owner <- runDB $ getJust ownerId + ownerName <- return $ userName owner + msu <- lookupSession "userId" + presence <- case msu of + Just tempUserId -> do + userId <- return $ getUserIdFromText tempUserId + return (userId == ownerId) + Nothing -> + return False + media <- mapM (\a -> runDB $ getJust a) (albumContent album) + defaultLayout $ do + $(widgetFile "album") + Nothing -> do + setMessage "This album does not exist" + redirect $ HomeR