Merge pull request #1346 from alx741/email
Allow for a custom Email login widget
This commit is contained in:
commit
a0088c598b
@ -3,6 +3,7 @@
|
|||||||
* Add Show instance for user credentials `Creds`
|
* Add Show instance for user credentials `Creds`
|
||||||
* Export pid type for identifying plugin
|
* Export pid type for identifying plugin
|
||||||
* Fix warnings
|
* Fix warnings
|
||||||
|
* Allow for a custom Email Login DOM with `emailLoginHandler`
|
||||||
|
|
||||||
## 1.4.16
|
## 1.4.16
|
||||||
|
|
||||||
|
|||||||
@ -106,6 +106,7 @@ module Yesod.Auth.Email
|
|||||||
, loginLinkKey
|
, loginLinkKey
|
||||||
, setLoginLinkKey
|
, setLoginLinkKey
|
||||||
-- * Default handlers
|
-- * Default handlers
|
||||||
|
, defaultEmailLoginHandler
|
||||||
, defaultRegisterHandler
|
, defaultRegisterHandler
|
||||||
, defaultForgotPasswordHandler
|
, defaultForgotPasswordHandler
|
||||||
, defaultSetPasswordHandler
|
, defaultSetPasswordHandler
|
||||||
@ -290,6 +291,17 @@ class ( YesodAuth site
|
|||||||
normalizeEmailAddress :: site -> Text -> Text
|
normalizeEmailAddress :: site -> Text -> Text
|
||||||
normalizeEmailAddress _ = TS.toLower
|
normalizeEmailAddress _ = TS.toLower
|
||||||
|
|
||||||
|
-- | Handler called to render the login page.
|
||||||
|
-- The default works fine, but you may want to override it in
|
||||||
|
-- order to have a different DOM.
|
||||||
|
--
|
||||||
|
-- Default: 'defaultEmailLoginHandler'.
|
||||||
|
--
|
||||||
|
-- @since 1.4.17
|
||||||
|
emailLoginHandler :: (Route Auth -> Route site) -> WidgetT site IO ()
|
||||||
|
emailLoginHandler = defaultEmailLoginHandler
|
||||||
|
|
||||||
|
|
||||||
-- | Handler called to render the registration page. The
|
-- | Handler called to render the registration page. The
|
||||||
-- default works fine, but you may want to override it in
|
-- default works fine, but you may want to override it in
|
||||||
-- order to have a different DOM.
|
-- order to have a different DOM.
|
||||||
@ -346,8 +358,11 @@ authEmail =
|
|||||||
getRegisterR :: YesodAuthEmail master => HandlerT Auth (HandlerT master IO) Html
|
getRegisterR :: YesodAuthEmail master => HandlerT Auth (HandlerT master IO) Html
|
||||||
getRegisterR = registerHandler
|
getRegisterR = registerHandler
|
||||||
|
|
||||||
emailLoginHandler :: YesodAuthEmail master => (Route Auth -> Route master) -> WidgetT master IO ()
|
-- | Default implementation of 'emailLoginHandler'.
|
||||||
emailLoginHandler toParent = do
|
--
|
||||||
|
-- @since 1.4.17
|
||||||
|
defaultEmailLoginHandler :: YesodAuthEmail master => (Route Auth -> Route master) -> WidgetT master IO ()
|
||||||
|
defaultEmailLoginHandler toParent = do
|
||||||
(widget, enctype) <- liftWidgetT $ generateFormPost loginForm
|
(widget, enctype) <- liftWidgetT $ generateFormPost loginForm
|
||||||
|
|
||||||
[whamlet|
|
[whamlet|
|
||||||
@ -402,6 +417,7 @@ emailLoginHandler toParent = do
|
|||||||
langs <- languages
|
langs <- languages
|
||||||
master <- getYesod
|
master <- getYesod
|
||||||
return $ renderAuthMessage master langs msg
|
return $ renderAuthMessage master langs msg
|
||||||
|
|
||||||
-- | Default implementation of 'registerHandler'.
|
-- | Default implementation of 'registerHandler'.
|
||||||
--
|
--
|
||||||
-- @since 1.2.6
|
-- @since 1.2.6
|
||||||
@ -518,7 +534,7 @@ defaultForgotPasswordHandler = do
|
|||||||
where
|
where
|
||||||
forgotPasswordForm extra = do
|
forgotPasswordForm extra = do
|
||||||
(emailRes, emailView) <- mreq emailField emailSettings Nothing
|
(emailRes, emailView) <- mreq emailField emailSettings Nothing
|
||||||
|
|
||||||
let forgotPasswordRes = ForgotPasswordForm <$> emailRes
|
let forgotPasswordRes = ForgotPasswordForm <$> emailRes
|
||||||
let widget = do
|
let widget = do
|
||||||
[whamlet|
|
[whamlet|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user