65 lines
2.4 KiB
Haskell
65 lines
2.4 KiB
Haskell
{-# 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"
|
|
|
|
|