eidolon/Handler/Activate.hs

20 lines
552 B
Haskell
Raw Normal View History

2014-08-12 12:42:25 +00:00
module Handler.Activate where
import Import as I
2014-08-14 00:24:28 +00:00
import Data.Text
import System.Directory
import System.FilePath
2014-08-12 12:42:25 +00:00
getActivateR :: Text -> Handler Html
2014-08-12 12:42:25 +00:00
getActivateR token = do
2014-08-13 16:16:31 +00:00
t <- runDB $ selectFirst [TokenToken ==. token] []
2014-08-12 12:42:25 +00:00
case t of
2014-08-13 16:16:31 +00:00
Nothing -> do
2014-08-12 12:42:25 +00:00
setMessage $ [shamlet|<pre>Invalid Token!|]
redirect $ HomeR
2014-08-13 16:16:31 +00:00
Just x -> do
2014-08-14 00:24:28 +00:00
userId <- runDB $ insert $ tokenUser (entityVal x)
2014-08-14 01:05:02 +00:00
liftIO $ createDirectory $ "data" </> (unpack $ extractKey userId)
2014-08-12 12:42:25 +00:00
setMessage $ [shamlet|<pre>User activated|]
redirect $ HomeR