Export routes from Email plugin
This commit is contained in:
parent
46f8a9abc9
commit
ef635dc07d
@ -1,10 +1,15 @@
|
|||||||
{-# LANGUAGE QuasiQuotes, TypeFamilies #-}
|
{-# LANGUAGE QuasiQuotes, TypeFamilies #-}
|
||||||
{-# LANGUAGE CPP #-}
|
{-# LANGUAGE CPP #-}
|
||||||
module Yesod.Helpers.Auth.Email
|
module Yesod.Helpers.Auth.Email
|
||||||
( authEmail
|
( -- * Plugin
|
||||||
|
authEmail
|
||||||
, YesodAuthEmail (..)
|
, YesodAuthEmail (..)
|
||||||
, EmailCreds (..)
|
, EmailCreds (..)
|
||||||
, saltPass
|
, saltPass
|
||||||
|
-- * Routes
|
||||||
|
, loginR
|
||||||
|
, registerR
|
||||||
|
, setpassR
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Network.Mail.Mime (randomString)
|
import Network.Mail.Mime (randomString)
|
||||||
@ -25,10 +30,10 @@ import Text.Hamlet (hamlet)
|
|||||||
import Control.Monad.IO.Class (liftIO)
|
import Control.Monad.IO.Class (liftIO)
|
||||||
import Control.Monad.Trans.Class (lift)
|
import Control.Monad.Trans.Class (lift)
|
||||||
|
|
||||||
login, register, setpass :: AuthRoute
|
loginR, registerR, setpassR :: AuthRoute
|
||||||
login = PluginR "email" ["login"]
|
loginR = PluginR "email" ["login"]
|
||||||
register = PluginR "email" ["register"]
|
registerR = PluginR "email" ["register"]
|
||||||
setpass = PluginR "email" ["set-password"]
|
setpassR = PluginR "email" ["set-password"]
|
||||||
|
|
||||||
verify :: String -> String -> AuthRoute -- FIXME
|
verify :: String -> String -> AuthRoute -- FIXME
|
||||||
verify eid verkey = PluginR "email" ["verify", eid, verkey]
|
verify eid verkey = PluginR "email" ["verify", eid, verkey]
|
||||||
@ -78,7 +83,7 @@ authEmail =
|
|||||||
#else
|
#else
|
||||||
[$hamlet|
|
[$hamlet|
|
||||||
#endif
|
#endif
|
||||||
<form method="post" action="@{tm login}">
|
<form method="post" action="@{tm loginR}">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>#{messageEmail y}
|
<th>#{messageEmail y}
|
||||||
@ -91,7 +96,7 @@ authEmail =
|
|||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<input type="submit" value="Login via email">
|
<input type="submit" value="Login via email">
|
||||||
<a href="@{tm register}">I don't have an account
|
<a href="@{tm registerR}">I don't have an account
|
||||||
|]
|
|]
|
||||||
where
|
where
|
||||||
dispatch "GET" ["register"] = getRegisterR >>= sendResponse
|
dispatch "GET" ["register"] = getRegisterR >>= sendResponse
|
||||||
@ -119,7 +124,7 @@ getRegisterR = do
|
|||||||
[$hamlet|
|
[$hamlet|
|
||||||
#endif
|
#endif
|
||||||
<p>#{messageEnterEmail y}
|
<p>#{messageEnterEmail y}
|
||||||
<form method="post" action="@{toMaster register}">
|
<form method="post" action="@{toMaster registerR}">
|
||||||
<label for="email">#{messageEmail y}
|
<label for="email">#{messageEmail y}
|
||||||
<input type="email" name="email" width="150">
|
<input type="email" name="email" width="150">
|
||||||
<input type="submit" value="#{messageRegister y}">
|
<input type="submit" value="#{messageRegister y}">
|
||||||
@ -171,7 +176,7 @@ getVerifyR lid key = do
|
|||||||
setCreds False $ Creds "email" email [("verifiedEmail", email)] -- FIXME uid?
|
setCreds False $ Creds "email" email [("verifiedEmail", email)] -- FIXME uid?
|
||||||
toMaster <- getRouteToMaster
|
toMaster <- getRouteToMaster
|
||||||
setMessage $ messageAddressVerified y
|
setMessage $ messageAddressVerified y
|
||||||
redirect RedirectTemporary $ toMaster setpass
|
redirect RedirectTemporary $ toMaster setpassR
|
||||||
_ -> return ()
|
_ -> return ()
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
setTitle $ messageInvalidKey y
|
setTitle $ messageInvalidKey y
|
||||||
@ -219,7 +224,7 @@ getPasswordR = do
|
|||||||
Just _ -> return ()
|
Just _ -> return ()
|
||||||
Nothing -> do
|
Nothing -> do
|
||||||
setMessage $ messageBadSetPass y
|
setMessage $ messageBadSetPass y
|
||||||
redirect RedirectTemporary $ toMaster login
|
redirect RedirectTemporary $ toMaster loginR
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
setTitle $ messageSetPassTitle y
|
setTitle $ messageSetPassTitle y
|
||||||
addHamlet
|
addHamlet
|
||||||
@ -229,7 +234,7 @@ getPasswordR = do
|
|||||||
[$hamlet|
|
[$hamlet|
|
||||||
#endif
|
#endif
|
||||||
<h3>#{messageSetPass y}
|
<h3>#{messageSetPass y}
|
||||||
<form method="post" action="@{toMaster setpass}">
|
<form method="post" action="@{toMaster setpassR}">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>#{messageNewPass y}
|
<th>#{messageNewPass y}
|
||||||
@ -253,12 +258,12 @@ postPasswordR = do
|
|||||||
y <- getYesod
|
y <- getYesod
|
||||||
when (new /= confirm) $ do
|
when (new /= confirm) $ do
|
||||||
setMessage $ messagePassMismatch y
|
setMessage $ messagePassMismatch y
|
||||||
redirect RedirectTemporary $ toMaster setpass
|
redirect RedirectTemporary $ toMaster setpassR
|
||||||
maid <- maybeAuthId
|
maid <- maybeAuthId
|
||||||
aid <- case maid of
|
aid <- case maid of
|
||||||
Nothing -> do
|
Nothing -> do
|
||||||
setMessage $ messageBadSetPass y
|
setMessage $ messageBadSetPass y
|
||||||
redirect RedirectTemporary $ toMaster login
|
redirect RedirectTemporary $ toMaster loginR
|
||||||
Just aid -> return aid
|
Just aid -> return aid
|
||||||
salted <- liftIO $ saltPass new
|
salted <- liftIO $ saltPass new
|
||||||
setPassword aid salted
|
setPassword aid salted
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: yesod-auth
|
name: yesod-auth
|
||||||
version: 0.3.1
|
version: 0.3.2
|
||||||
license: BSD3
|
license: BSD3
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Michael Snoyman, Patrick Brisbin
|
author: Michael Snoyman, Patrick Brisbin
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user