37 lines
1.1 KiB
Haskell
37 lines
1.1 KiB
Haskell
{-# LANGUAGE NoImplicitPrelude
|
|
, RecordWildCards
|
|
, NamedFieldPuns
|
|
, TemplateHaskell
|
|
, OverloadedStrings
|
|
#-}
|
|
|
|
module Jobs.Handler.SendNotification.SheetActive
|
|
( dispatchNotificationSheetActive
|
|
) where
|
|
|
|
import Import
|
|
|
|
import Utils.Lens
|
|
import Handler.Utils.Mail
|
|
|
|
import Text.Hamlet
|
|
import qualified Data.CaseInsensitive as CI
|
|
|
|
dispatchNotificationSheetActive :: SheetId -> UserId -> Handler ()
|
|
dispatchNotificationSheetActive nSheet jRecipient = userMailT jRecipient $ do
|
|
(Course{..}, Sheet{..}) <- liftHandlerT . runDB $ do
|
|
sheet <- getJust nSheet
|
|
course <- belongsToJust sheetCourse sheet
|
|
return (course, sheet)
|
|
setSubjectI $ MsgMailSubjectSheetActive courseShorthand sheetName
|
|
|
|
MsgRenderer mr <- getMailMsgRenderer
|
|
let termDesc = mr . ShortTermIdentifier $ unTermKey courseTerm
|
|
tid = courseTerm
|
|
ssh = courseSchool
|
|
csh = courseShorthand
|
|
shn = sheetName
|
|
|
|
addAlternatives $ do
|
|
providePreferredAlternative ($(ihamletFile "templates/mail/sheetActive.hamlet") :: HtmlUrlI18n UniWorXMessage (Route UniWorX))
|