aboutsummaryrefslogtreecommitdiff
path: root/src/server/View/Mail
diff options
context:
space:
mode:
authorJoris Guyonvarch2015-08-09 00:21:03 +0200
committerJoris Guyonvarch2015-08-09 00:21:03 +0200
commit169d52bfbe8b7f95dcece3cef245cdd62336e2f8 (patch)
tree491b5edb2646b41d36920f1c670cba26a674868c /src/server/View/Mail
parenta4f60df0f3b72553380bdd3ca960abf42048ed7e (diff)
downloadbudget-169d52bfbe8b7f95dcece3cef245cdd62336e2f8.tar.gz
budget-169d52bfbe8b7f95dcece3cef245cdd62336e2f8.tar.bz2
budget-169d52bfbe8b7f95dcece3cef245cdd62336e2f8.zip
Wording for sign in email
Diffstat (limited to 'src/server/View/Mail')
-rw-r--r--src/server/View/Mail/SignIn.hs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/server/View/Mail/SignIn.hs b/src/server/View/Mail/SignIn.hs
new file mode 100644
index 0000000..e11b876
--- /dev/null
+++ b/src/server/View/Mail/SignIn.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module View.Mail.SignIn
+ ( getMail
+ ) where
+
+import Data.Text (Text)
+import qualified Data.Text.Lazy as LT
+import Data.Text.Lazy.Builder (toLazyText, fromText)
+
+import Text.Blaze.Html
+import Text.Blaze.Html5
+import Text.Blaze.Html.Renderer.Text (renderHtml)
+
+import Model.Database (User(..))
+import qualified Model.Mail as M
+
+getMail :: User -> Text -> [Text] -> M.Mail
+getMail user url to =
+ M.Mail
+ { M.to = to
+ , M.subject = "Sign in to Shared Cost"
+ , M.plainBody = plainBody user url
+ , M.htmlBody = htmlBody user url
+ }
+
+plainBody :: User -> Text -> LT.Text
+plainBody user url =
+ LT.intercalate
+ "\n"
+ [ LT.concat ["Hi ", strictToLazy . userName $ user, ","]
+ , ""
+ , "Click to the following link in order to sign in to Shared Cost:"
+ , strictToLazy url
+ ]
+
+htmlBody :: User -> Text -> LT.Text
+htmlBody user url =
+ renderHtml . docTypeHtml . body $ do
+ toHtml $ LT.concat ["Hi ", strictToLazy . userName $ user, ","]
+ br
+ br
+ "Click to the following link in order to sign in to Shared Cost:"
+ br
+ toHtml url
+
+strictToLazy :: Text -> LT.Text
+strictToLazy = toLazyText . fromText