Used form helper for forgot password form
* Removed unused idents * Isolated form logic * Added an id around forgot password for styling purposes
This commit is contained in:
parent
7faecc8952
commit
0c0cb12a10
@ -107,6 +107,7 @@ data EmailCreds site = EmailCreds
|
|||||||
, emailCredsEmail :: Email
|
, emailCredsEmail :: Email
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data ForgotPasswordForm = ForgotPasswordForm { forgotEmail :: Text }
|
||||||
data PasswordForm = PasswordForm { passwordCurrent :: Text, passwordNew :: Text, passwordConfirm :: Text }
|
data PasswordForm = PasswordForm { passwordCurrent :: Text, passwordNew :: Text, passwordConfirm :: Text }
|
||||||
data UserForm = UserForm { email :: Text }
|
data UserForm = UserForm { email :: Text }
|
||||||
data UserLoginForm = UserLoginForm { loginEmail :: Text, loginPassword :: Text }
|
data UserLoginForm = UserLoginForm { loginEmail :: Text, loginPassword :: Text }
|
||||||
@ -421,18 +422,38 @@ getForgotPasswordR = forgotPasswordHandler
|
|||||||
-- Since: 1.2.6
|
-- Since: 1.2.6
|
||||||
defaultForgotPasswordHandler :: YesodAuthEmail master => AuthHandler master Html
|
defaultForgotPasswordHandler :: YesodAuthEmail master => AuthHandler master Html
|
||||||
defaultForgotPasswordHandler = do
|
defaultForgotPasswordHandler = do
|
||||||
tp <- getRouteToParent
|
((_,widget),enctype) <- lift $ runFormPost forgotPasswordForm
|
||||||
email <- newIdent
|
toParent <- getRouteToParent
|
||||||
lift $ authLayout $ do
|
lift $ authLayout $ do
|
||||||
setTitleI Msg.PasswordResetTitle
|
setTitleI Msg.PasswordResetTitle
|
||||||
[whamlet|
|
[whamlet|
|
||||||
<p>_{Msg.PasswordResetPrompt}
|
<p>_{Msg.PasswordResetPrompt}
|
||||||
<form method="post" action="@{tp forgotPasswordR}">
|
<form method=post action=@{toParent forgotPasswordR} enctype=#{enctype}>
|
||||||
<div id="registerForm">
|
<div id="forgotPasswordForm">
|
||||||
<label for=#{email}>_{Msg.ProvideIdentifier}
|
^{widget}
|
||||||
<input ##{email} type=text name="email" width="150" autofocus>
|
<button .btn>_{Msg.SendPasswordResetEmail}
|
||||||
<button .btn>_{Msg.SendPasswordResetEmail}
|
|
||||||
|]
|
|]
|
||||||
|
where
|
||||||
|
forgotPasswordForm extra = do
|
||||||
|
(emailRes, emailView) <- mreq emailField emailSettings Nothing
|
||||||
|
|
||||||
|
let forgotPasswordRes = ForgotPasswordForm <$> emailRes
|
||||||
|
let widget = do
|
||||||
|
[whamlet|
|
||||||
|
#{extra}
|
||||||
|
^{fvLabel emailView}
|
||||||
|
^{fvInput emailView}
|
||||||
|
|]
|
||||||
|
|
||||||
|
return (forgotPasswordRes, widget)
|
||||||
|
emailSettings =
|
||||||
|
FieldSettings {
|
||||||
|
fsLabel = SomeMessage Msg.ProvideIdentifier,
|
||||||
|
fsTooltip = Nothing,
|
||||||
|
fsId = Just "forgotPassword",
|
||||||
|
fsName = Just "email",
|
||||||
|
fsAttrs = [("autofocus", "")]
|
||||||
|
}
|
||||||
|
|
||||||
postForgotPasswordR :: YesodAuthEmail master => HandlerT Auth (HandlerT master IO) TypedContent
|
postForgotPasswordR :: YesodAuthEmail master => HandlerT Auth (HandlerT master IO) TypedContent
|
||||||
postForgotPasswordR = registerHelper True forgotPasswordR
|
postForgotPasswordR = registerHelper True forgotPasswordR
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user