chore(mail): modify subject for supervisor
This commit is contained in:
parent
2c10a07a15
commit
a75c7520b5
@ -135,7 +135,7 @@ UserAuthModeLDAPChangedToPWHash: You can now log in using your FRADrive-internal
|
|||||||
AuthPWHashTip: You now need to use the login form labeled "FRADrive login". Please ensure that you have already set a password when you try to log in.
|
AuthPWHashTip: You now need to use the login form labeled "FRADrive login". Please ensure that you have already set a password when you try to log in.
|
||||||
PasswordResetEmailIncoming: For security reasons you will receive a link to the page on which you can set and later change your password in a separate email.
|
PasswordResetEmailIncoming: For security reasons you will receive a link to the page on which you can set and later change your password in a separate email.
|
||||||
MailFradrive: FRADrive
|
MailFradrive: FRADrive
|
||||||
MailBodyFradrive: is the apron driving licence management app of Fraport AG.
|
MailBodyFradrive: is the apron driver's licence management app of Fraport AG.
|
||||||
|
|
||||||
#userRightsUpdate.hs + templates
|
#userRightsUpdate.hs + templates
|
||||||
MailSubjectUserRightsUpdate name: Permissions for #{name} changed
|
MailSubjectUserRightsUpdate name: Permissions for #{name} changed
|
||||||
|
|||||||
@ -54,6 +54,7 @@ userMailT :: ( MonadHandler m
|
|||||||
, MonadUnliftIO m
|
, MonadUnliftIO m
|
||||||
) => UserId -> MailT m () -> m ()
|
) => UserId -> MailT m () -> m ()
|
||||||
userMailT uid mAct = do
|
userMailT uid mAct = do
|
||||||
|
-- now <- liftIO getCurrentTime
|
||||||
superVs <- liftHandler . runDB $ selectList [UserSupervisorUser ==. uid, UserSupervisorRerouteNotifications ==. True] []
|
superVs <- liftHandler . runDB $ selectList [UserSupervisorUser ==. uid, UserSupervisorRerouteNotifications ==. True] []
|
||||||
let receivers = if null superVs
|
let receivers = if null superVs
|
||||||
then [uid]
|
then [uid]
|
||||||
@ -75,10 +76,16 @@ userMailT uid mAct = do
|
|||||||
SelFormatTime -> userTimeFormat
|
SelFormatTime -> userTimeFormat
|
||||||
, mcCsvOptions = userCsvOptions
|
, mcCsvOptions = userCsvOptions
|
||||||
}
|
}
|
||||||
|
--bsExplainSupervisor = $(ihamletFile "templates/mail/supervisorPrefix.hamlet") -- TODO
|
||||||
|
--explanationSupervisor = File { fileTitle = "SupervisorInfo.txt"
|
||||||
|
-- , fileModified = no
|
||||||
|
-- , fileContent = Just $ yield bsExplainSupervisor
|
||||||
|
-- }
|
||||||
mailT ctx $ do
|
mailT ctx $ do
|
||||||
_mailTo .= pure (userAddress supervisor)
|
_mailTo .= pure (userAddress supervisor)
|
||||||
-- unless (uid == svr) $ addHtmlMarkdownAlternatives $(ihamletFile "templates/mail/supervisorPrefix.hamlet") -- TODO
|
|
||||||
mAct
|
mAct
|
||||||
|
mapSubject ("[SUPERVISOR]"<>) -- changing subject is easy
|
||||||
|
--addPart explanationSupervisor -- adding an attachment is also easy
|
||||||
|
|
||||||
|
|
||||||
_userMailTdirect :: ( MonadHandler m
|
_userMailTdirect :: ( MonadHandler m
|
||||||
|
|||||||
@ -14,6 +14,13 @@ import Handler.Utils.DateTime
|
|||||||
dispatchJobSendTestEmail :: Email -> MailContext -> JobHandler UniWorX
|
dispatchJobSendTestEmail :: Email -> MailContext -> JobHandler UniWorX
|
||||||
dispatchJobSendTestEmail jEmail jMailContext = JobHandlerException . mailT jMailContext $ do
|
dispatchJobSendTestEmail jEmail jMailContext = JobHandlerException . mailT jMailContext $ do
|
||||||
_mailTo .= [Address Nothing jEmail]
|
_mailTo .= [Address Nothing jEmail]
|
||||||
|
-- TODO: remove me after the test!
|
||||||
|
addHtmlMarkdownAlternatives $ \(MsgRenderer _mr) -> [shamlet|
|
||||||
|
<h1>
|
||||||
|
Testheader
|
||||||
|
<p>
|
||||||
|
Dieser Abschnitt ist ein Test, ob mehrfache Mailparts ankommen.
|
||||||
|
|]
|
||||||
replaceMailHeader "Auto-Submitted" $ Just "auto-generated"
|
replaceMailHeader "Auto-Submitted" $ Just "auto-generated"
|
||||||
setSubjectI MsgMailTestSubject
|
setSubjectI MsgMailTestSubject
|
||||||
now <- liftIO getCurrentTime
|
now <- liftIO getCurrentTime
|
||||||
@ -21,6 +28,18 @@ dispatchJobSendTestEmail jEmail jMailContext = JobHandlerException . mailT jMail
|
|||||||
nD <- formatTimeMail SelFormatDate now
|
nD <- formatTimeMail SelFormatDate now
|
||||||
nT <- formatTimeMail SelFormatTime now
|
nT <- formatTimeMail SelFormatTime now
|
||||||
addHtmlMarkdownAlternatives $ \(MsgRenderer mr) -> [shamlet|
|
addHtmlMarkdownAlternatives $ \(MsgRenderer mr) -> [shamlet|
|
||||||
|
<h2>
|
||||||
|
#{mr MsgMailTestContent}
|
||||||
|
|
||||||
|
<p>
|
||||||
|
#{mr MsgMailTestDateTime}
|
||||||
|
<ul>
|
||||||
|
<li>#{nDT}
|
||||||
|
<li>#{nD}
|
||||||
|
<li>#{nT}
|
||||||
|
|]
|
||||||
|
addHtmlMarkdownAlternatives $ \(MsgRenderer mr) -> [shamlet|
|
||||||
|
<h2>Repetition just for Testing
|
||||||
<p>
|
<p>
|
||||||
#{mr MsgMailTestContent}
|
#{mr MsgMailTestContent}
|
||||||
|
|
||||||
|
|||||||
11
src/Mail.hs
11
src/Mail.hs
@ -28,9 +28,9 @@ module Mail
|
|||||||
, MonadHeader(..)
|
, MonadHeader(..)
|
||||||
, MailHeader
|
, MailHeader
|
||||||
, MailObjectId
|
, MailObjectId
|
||||||
, replaceMailHeader, addMailHeader, removeMailHeader, getMailHeaders, lookupMailHeader
|
, replaceMailHeader, addMailHeader, removeMailHeader, getMailHeaders, lookupMailHeader, mapMailHeader
|
||||||
, replaceMailHeaderI, addMailHeaderI
|
, replaceMailHeaderI, addMailHeaderI
|
||||||
, setSubjectI
|
, setSubjectI, mapSubject
|
||||||
, setMailObjectUUID, setMailObjectIdRandom, setMailObjectIdCrypto, setMailObjectIdPseudorandom
|
, setMailObjectUUID, setMailObjectIdRandom, setMailObjectIdCrypto, setMailObjectIdPseudorandom
|
||||||
, getMailObjectId
|
, getMailObjectId
|
||||||
, setDate, setDateCurrent
|
, setDate, setDateCurrent
|
||||||
@ -77,7 +77,7 @@ import qualified Data.Text.Lazy.Builder as LTB
|
|||||||
import qualified Data.ByteString.Lazy as LBS
|
import qualified Data.ByteString.Lazy as LBS
|
||||||
import qualified Data.ByteString as BS
|
import qualified Data.ByteString as BS
|
||||||
|
|
||||||
import Utils (MsgRendererS(..), MonadSecretBox(..), YamlValue, maybeMonoid, insertAssoc, maybeT, guardM)
|
import Utils (MsgRendererS(..), MonadSecretBox(..), YamlValue, maybeMonoid, insertAssoc, maybeT, guardM, adjustAssoc)
|
||||||
import Utils.Lens.TH
|
import Utils.Lens.TH
|
||||||
|
|
||||||
import Control.Lens hiding (from)
|
import Control.Lens hiding (from)
|
||||||
@ -518,6 +518,8 @@ getMailHeaders header = stateHeaders $ \hdrs -> (, hdrs) . map (view _2) $ filte
|
|||||||
lookupMailHeader :: MonadHeader m => MailHeader -> m (Maybe Text)
|
lookupMailHeader :: MonadHeader m => MailHeader -> m (Maybe Text)
|
||||||
lookupMailHeader = fmap listToMaybe . getMailHeaders
|
lookupMailHeader = fmap listToMaybe . getMailHeaders
|
||||||
|
|
||||||
|
mapMailHeader :: MonadHeader m => MailHeader -> (Text -> Text) -> m ()
|
||||||
|
mapMailHeader header f = modifyHeaders $ adjustAssoc f header
|
||||||
|
|
||||||
replaceMailHeaderI :: ( RenderMessage site msg
|
replaceMailHeaderI :: ( RenderMessage site msg
|
||||||
, MonadMail m
|
, MonadMail m
|
||||||
@ -537,6 +539,9 @@ addMailHeaderI header msg = addMailHeader header =<< (getMailMessageRender <*> p
|
|||||||
setSubjectI :: (RenderMessage site msg, MonadHandler m, HandlerSite m ~ site) => msg -> MailT m ()
|
setSubjectI :: (RenderMessage site msg, MonadHandler m, HandlerSite m ~ site) => msg -> MailT m ()
|
||||||
setSubjectI = replaceMailHeaderI "Subject"
|
setSubjectI = replaceMailHeaderI "Subject"
|
||||||
|
|
||||||
|
mapSubject :: MonadHeader m => (Text -> Text) -> m ()
|
||||||
|
mapSubject = mapMailHeader "Subject"
|
||||||
|
|
||||||
setMailObjectUUID :: ( MonadHeader m
|
setMailObjectUUID :: ( MonadHeader m
|
||||||
, YesodMail (HandlerSite m)
|
, YesodMail (HandlerSite m)
|
||||||
) => UUID -> m MailObjectId
|
) => UUID -> m MailObjectId
|
||||||
|
|||||||
Reference in New Issue
Block a user