From 9040ff4d3dff03204055e4c3a549aa5840defee9 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 4 Oct 2018 20:11:21 +0200 Subject: [PATCH] Cleanup --- src/Foundation.hs | 2 +- src/Jobs.hs | 6 +++--- src/Mail.hs | 31 ++++++++++++++++--------------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/Foundation.hs b/src/Foundation.hs index f9b9e8825..dd304590b 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -1323,7 +1323,7 @@ instance YesodMail UniWorX where mailSmtp act = do pool <- maybe (throwM MailNotAvailable) return =<< getsYesod appSmtpPool withResource pool act - defaultMailAction ls mail = mailT ls $ do + mailT ls mail = defMailT ls $ do setMailObjectId setDateCurrent diff --git a/src/Jobs.hs b/src/Jobs.hs index bba0261d4..c3216513b 100644 --- a/src/Jobs.hs +++ b/src/Jobs.hs @@ -129,10 +129,10 @@ setSerializable = [executeQQ|SET TRANSACTION ISOLATION LEVEL SERIALIZABLE|] performJob :: Job -> WriterT (Last Bool) (HandlerT UniWorX IO) () performJob JobSendNotification{ jNotification = NotificationSubmissionRated{..}, .. } = do - $logDebugS "Jobs" "NotificationSubmissionRated" -- FIXME + fail "NotificationSubmissionRated not implemented yet" -- TODO performJob JobSendTestEmail{..} = do $logInfoS "Jobs" $ "Sending test-email to " <> jEmail - defaultMailAction jLanguages $ do + mailT jLanguages $ do _mailTo .= [Address Nothing jEmail] setSubjectI MsgMailTestSubject - addPart (($ MsgMailTestContent) :: (UniWorXMessage -> Text) -> Text) -- FIXME + addPart $ \(MsgRenderer mr) -> mr MsgMailTestContent diff --git a/src/Mail.hs b/src/Mail.hs index b618061ec..2632bef80 100644 --- a/src/Mail.hs +++ b/src/Mail.hs @@ -19,7 +19,7 @@ module Mail ( -- * Structured MIME emails module Network.Mail.Mime -- * MailT - , MailT, mailT + , MailT, defMailT , MailSmtpData(..), MailLanguages(..) , MonadMail(..) -- * YesodMail @@ -99,6 +99,7 @@ import qualified Text.Hamlet as Shakespeare (Translate, Render) import Data.Aeson (Options(..)) import Data.Aeson.TH +import Utils (MsgRendererS, getMsgRenderer) import Utils.PathPiece (splitCamel) @@ -186,19 +187,19 @@ class YesodMail site where ) => m VerpMode mailVerp = return VerpNone - defaultMailAction :: ( MonadHandler m - , HandlerSite m ~ site - , MonadBaseControl IO m - ) => MailLanguages -> MailT m a -> m a - defaultMailAction = mailT + mailT :: ( MonadHandler m + , HandlerSite m ~ site + , MonadBaseControl IO m + ) => MailLanguages -> MailT m a -> m a + mailT = defMailT -mailT :: ( MonadHandler m - , YesodMail (HandlerSite m) - , MonadBaseControl IO m - ) => MailLanguages -- ^ Languages in priority order - -> MailT m a - -> m a -mailT ls (MailT mail) = do +defMailT :: ( MonadHandler m + , YesodMail (HandlerSite m) + , MonadBaseControl IO m + ) => MailLanguages -- ^ Languages in priority order + -> MailT m a + -> m a +defMailT ls (MailT mail) = do fromAddress <- defaultFromAddress (ret, mail, smtpData) <- runRWST mail ls (emptyMail fromAddress) mail' <- liftIO $ LBS.toStrict <$> renderMail' mail @@ -249,9 +250,9 @@ instance (ToMailPart site a, RenderMessage site msg) => ToMailPart site (Shakesp mr <- Yesod.getMessageRender toMailPart $ act (toHtml . mr) -instance (ToMailPart site a, RenderMessage site msg) => ToMailPart site ((msg -> Text) -> a) where +instance (ToMailPart site a, site ~ site') => ToMailPart site (MsgRendererS site' -> a) where toMailPart act = do - mr <- Yesod.getMessageRender + mr <- getMsgRenderer toMailPart $ act mr instance ToMailPart site a => ToMailPart site (Shakespeare.Render (Route site) -> a) where