From 06c55cc4494e0d670ab891d09712dad13f43fc47 Mon Sep 17 00:00:00 2001 From: nek0 Date: Thu, 4 Sep 2014 01:15:27 +0200 Subject: [PATCH] moved stuff to helper --- Handler/Signup.hs | 29 ----------------------------- Helper.hs | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/Handler/Signup.hs b/Handler/Signup.hs index 392a32c..bba8a91 100644 --- a/Handler/Signup.hs +++ b/Handler/Signup.hs @@ -56,35 +56,6 @@ postSignupR = do setMessage "This user already exists" redirect $ SignupR ---signupForm :: Form User ---signupForm = renderDivs $ User --- <$> areq textField "Username" Nothing --- <*> areq emailField "Email" Nothing --- <*> areq passwordField "Password" Nothing --- <*> pure ("" :: ByteString) --- <*> pure [] - validateLen :: Text -> Bool validateLen a = (T.length a) > 3 - -generateString :: IO T.Text -generateString = (toHex . B.pack . I.take 16 . randoms) <$> newStdGen - -sendMail :: MonadIO m => Text -> Text -> Html -> m () -sendMail toEmail subject body = - liftIO $ renderSendMail - Mail - { mailFrom = Address Nothing "noreply" -- TODO: set sender Address - , mailTo = [Address Nothing toEmail] - , mailCc = [] - , mailBcc = [] - , mailHeaders = [("Subject", subject)] - , mailParts = [[Part - { partType = "text/html; charset=utf-8" - , partEncoding = None - , partFilename = Nothing - , partHeaders = [] - , partContent = renderHtml body - }]] - } diff --git a/Helper.hs b/Helper.hs index 409485b..b5c4f05 100644 --- a/Helper.hs +++ b/Helper.hs @@ -8,6 +8,8 @@ module Helper , makeRandomToken , generateSalt , tagField + , sendMail + , generateString ) where @@ -29,6 +31,8 @@ import Yesod.Persist.Core import Yesod.Core.Types import Yesod import Numeric (readHex, showHex) +import Network.Mail.Mime +import Text.Blaze.Html.Renderer.Utf8 getUserIdFromText :: T.Text -> UserId getUserIdFromText tempUserId = @@ -83,3 +87,24 @@ tagField = Field [whamlet||] , fieldEnctype = UrlEncoded } + +sendMail :: MonadIO m => T.Text -> T.Text -> Html -> m () +sendMail toEmail subject body = + liftIO $ renderSendMail + Mail + { mailFrom = Address Nothing "noreply" -- TODO: set sender Address + , mailTo = [Address Nothing toEmail] + , mailCc = [] + , mailBcc = [] + , mailHeaders = [("Subject", subject)] + , mailParts = [[Part + { partType = "text/html; charset=utf-8" + , partEncoding = None + , partFilename = Nothing + , partHeaders = [] + , partContent = renderHtml body + }]] + } + +generateString :: IO T.Text +generateString = (toHex . B.pack . take 16 . randoms) <$> newStdGen