module App.Logout ( Logout(..) ) where import Network.FastCGI import Request import Database import AppMonad import Template data Logout = Logout instance RequestHandler Logout where handle handler = do loginStatus <- isLoggedIn if loginStatus then confirmLogout else redirect "/login" confirmLogout :: App CGIResult confirmLogout = do method <- requestMethod case method of "POST" -> logout _ -> render "confirm_logout" [ ("pagetitle", "Abmelden") ] >>= output logout :: App CGIResult logout = do deleteCookie $ newCookie "username" "" deleteCookie $ newCookie "login_string" "" res <- render "logged_out" [ ("pagetitle", "Abgemeldet") , ("kind", "jetzt")] output res