{-# OPTIONS_GHC -fno-warn-unused-do-bind #-} -- ihamletFile discards do results module Jobs.Handler.SendNotification.Qualification ( dispatchNotificationQualificationExpiry , dispatchNotificationQualificationRenewal ) where import Import import Handler.Utils import Jobs.Handler.SendNotification.Utils -- import Handler.Info (FAQItem(..)) import qualified Data.CaseInsensitive as CI import Text.Hamlet -- import qualified Database.Esqueleto.Experimental as E -- import qualified Database.Esqueleto.Utils as E dispatchNotificationQualificationExpiry :: QualificationId -> Day -> UserId -> Handler () dispatchNotificationQualificationExpiry nQualification _nExpiry jRecipient = userMailT jRecipient $ do (User{..}, Qualification{..}, Entity _ QualificationUser{..}) <- liftHandler . runDB $ (,,) <$> getJust jRecipient <*> getJust nQualification <*> getJustBy (UniqueQualificationUser nQualification jRecipient) let qname = CI.original qualificationName replaceMailHeader "Auto-Submitted" $ Just "auto-generated" setSubjectI $ MsgMailSubjectQualificationExpiry qname editNotifications <- mkEditNotifications jRecipient addHtmlMarkdownAlternatives $(ihamletFile "templates/mail/qualificationExpiry.hamlet") checkEmailOk :: a -> Bool checkEmailOk = const True -- TODO dispatchNotificationQualificationRenewal :: QualificationId -> UserId -> Handler () dispatchNotificationQualificationRenewal nQualification jRecipient = do (User{..}, Qualification{..}, Entity _ QualificationUser{..}) <- runDB $ (,,) <$> getJust jRecipient <*> getJust nQualification <*> getJustBy (UniqueQualificationUser nQualification jRecipient) let qname = CI.original qualificationName _content = $(i18nWidgetFile "qualification/renewal") if | checkEmailOk userEmail -> userMailT jRecipient $ do replaceMailHeader "Auto-Submitted" $ Just "auto-generated" setSubjectI $ MsgMailSubjectQualificationRenewal qname editNotifications <- mkEditNotifications jRecipient -- TODO: add to hamlet file again -- addHtmlMarkdownAlternatives $(i18nWidgetFile "qualification/renewal") -- TODO: this is just a dummy to continue while i18nHamletFile usage is unclear addHtmlMarkdownAlternatives $(ihamletFile "templates/mail/qualificationRenewal.hamlet") | otherwise -> do let _letterHead = error "TODO" -- makePDF "pdflatex" [] writer woptions pandoc error "TODO"