|
- 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
|