commit
19c566cee0
@ -25,6 +25,7 @@ import Jobs
|
|||||||
-- import Yesod.Form.Bootstrap3
|
-- import Yesod.Form.Bootstrap3
|
||||||
|
|
||||||
import Handler.Utils
|
import Handler.Utils
|
||||||
|
import Handler.Utils.Submission
|
||||||
import Handler.Utils.Table.Cells
|
import Handler.Utils.Table.Cells
|
||||||
|
|
||||||
import Network.Mime
|
import Network.Mime
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
, FlexibleContexts
|
, FlexibleContexts
|
||||||
, LambdaCase
|
, LambdaCase
|
||||||
, MultiParamTypeClasses
|
, MultiParamTypeClasses
|
||||||
|
, QuasiQuotes
|
||||||
#-}
|
#-}
|
||||||
|
|
||||||
module Handler.SystemMessage where
|
module Handler.SystemMessage where
|
||||||
@ -44,9 +45,8 @@ postMessageR cID = do
|
|||||||
Just SystemMessageTranslation{..} -> (systemMessageTranslationSummary, systemMessageTranslationContent)
|
Just SystemMessageTranslation{..} -> (systemMessageTranslationSummary, systemMessageTranslationContent)
|
||||||
|
|
||||||
let
|
let
|
||||||
mkForm :: Handler (((FormResult SystemMessage, Widget), Enctype), Map Lang ((FormResult (Entity SystemMessageTranslation, [Maybe BtnSubmitDelete]), Widget), Enctype), ((FormResult SystemMessageTranslation, Widget), Enctype))
|
|
||||||
mkForm = do
|
mkForm = do
|
||||||
modifyRes'@((modifyRes, _), _) <- runFormPost . identForm FIDSystemMessageModify . renderAForm FormStandard
|
((modifyRes, modifyView), modifyEnctype) <- runFormPost . identForm FIDSystemMessageModify . renderAForm FormStandard
|
||||||
$ SystemMessage
|
$ SystemMessage
|
||||||
<$> aopt utcTimeField (fslI MsgSystemMessageFrom) (Just systemMessageFrom)
|
<$> aopt utcTimeField (fslI MsgSystemMessageFrom) (Just systemMessageFrom)
|
||||||
<*> aopt utcTimeField (fslI MsgSystemMessageTo) (Just systemMessageTo)
|
<*> aopt utcTimeField (fslI MsgSystemMessageTo) (Just systemMessageTo)
|
||||||
@ -74,7 +74,7 @@ postMessageR cID = do
|
|||||||
|
|
||||||
let modifyTranss = Map.map (view $ _1._1) modifyTranss'
|
let modifyTranss = Map.map (view $ _1._1) modifyTranss'
|
||||||
|
|
||||||
addTransRes'@((addTransRes, _), _) <- runFormPost . identForm FIDSystemMessageAddTranslation . renderAForm FormStandard
|
((addTransRes, addTransView), addTransEnctype) <- runFormPost . identForm FIDSystemMessageAddTranslation . renderAForm FormStandard
|
||||||
$ SystemMessageTranslation
|
$ SystemMessageTranslation
|
||||||
<$> pure smId
|
<$> pure smId
|
||||||
<*> areq (langField False) (fslpI MsgSystemMessageLanguage "RFC1766-Sprachcode") Nothing
|
<*> areq (langField False) (fslpI MsgSystemMessageLanguage "RFC1766-Sprachcode") Nothing
|
||||||
@ -114,7 +114,27 @@ postMessageR cID = do
|
|||||||
addMessageI Success MsgSystemMessageEditTranslationSuccess
|
addMessageI Success MsgSystemMessageEditTranslationSuccess
|
||||||
redirect $ MessageR cID
|
redirect $ MessageR cID
|
||||||
|
|
||||||
return (modifyRes', modifyTranss', addTransRes')
|
let
|
||||||
|
messageEditModal = modal [whamlet|_{MsgSystemMessageEdit}|] $ Right
|
||||||
|
[whamlet|
|
||||||
|
<form method=post action=@{MessageR cID} enctype=#{modifyEnctype}>
|
||||||
|
^{modifyView}
|
||||||
|
|]
|
||||||
|
translationAddModal = modal [whamlet|_{MsgSystemMessageAddTranslation}|] $ Right
|
||||||
|
[whamlet|
|
||||||
|
<form method=post action=@{MessageR cID} enctype=#{addTransEnctype}>
|
||||||
|
^{addTransView}
|
||||||
|
|]
|
||||||
|
translationsEditModal
|
||||||
|
| not $ null modifyTranss' = modal [whamlet|_{MsgSystemMessageEditTranslations}|] $ Right
|
||||||
|
[whamlet|
|
||||||
|
$forall ((_, transView), transEnctype) <- modifyTranss'
|
||||||
|
<section>
|
||||||
|
<form method=post action=@{MessageR cID} enctype=#{transEnctype}>
|
||||||
|
^{transView}
|
||||||
|
|]
|
||||||
|
| otherwise = mempty
|
||||||
|
return (messageEditModal, translationAddModal, translationsEditModal)
|
||||||
|
|
||||||
maySubmit <- (== Authorized) <$> evalAccess (MessageR cID) True
|
maySubmit <- (== Authorized) <$> evalAccess (MessageR cID) True
|
||||||
forms <- traverse (const mkForm) $ () <$ guard maySubmit
|
forms <- traverse (const mkForm) $ () <$ guard maySubmit
|
||||||
|
|||||||
@ -22,7 +22,7 @@ import Handler.Utils.Table.Pagination as Handler.Utils
|
|||||||
|
|
||||||
import Handler.Utils.Zip as Handler.Utils
|
import Handler.Utils.Zip as Handler.Utils
|
||||||
import Handler.Utils.Rating as Handler.Utils hiding (extractRatings)
|
import Handler.Utils.Rating as Handler.Utils hiding (extractRatings)
|
||||||
import Handler.Utils.Submission as Handler.Utils
|
-- import Handler.Utils.Submission as Handler.Utils
|
||||||
import Handler.Utils.Sheet as Handler.Utils
|
import Handler.Utils.Sheet as Handler.Utils
|
||||||
import Handler.Utils.Templates as Handler.Utils
|
import Handler.Utils.Templates as Handler.Utils
|
||||||
import Handler.Utils.Mail as Handler.Utils
|
import Handler.Utils.Mail as Handler.Utils
|
||||||
@ -44,16 +44,19 @@ simpleLink :: Widget -> Route UniWorX -> Widget
|
|||||||
simpleLink lbl url = [whamlet|<a href=@{url}>^{lbl}|]
|
simpleLink lbl url = [whamlet|<a href=@{url}>^{lbl}|]
|
||||||
|
|
||||||
nameWidget :: Text -> Text -> Widget
|
nameWidget :: Text -> Text -> Widget
|
||||||
nameWidget displayName surname
|
nameWidget displayName surname = toWidget $ nameHtml displayName surname
|
||||||
| null surname = toWidget displayName
|
|
||||||
|
nameHtml :: Text -> Text -> Html
|
||||||
|
nameHtml displayName surname
|
||||||
|
| null surname = toHtml displayName
|
||||||
| otherwise = case reverse $ T.splitOn surname displayName of
|
| otherwise = case reverse $ T.splitOn surname displayName of
|
||||||
[_notContained] -> [whamlet|$newline never
|
[_notContained] -> [shamlet|$newline never
|
||||||
#{displayName} (
|
#{displayName} (
|
||||||
<b .surname>#{surname}
|
<b .surname>#{surname}
|
||||||
)|]
|
)|]
|
||||||
(suffix:prefixes) ->
|
(suffix:prefixes) ->
|
||||||
let prefix = T.intercalate surname $ reverse prefixes
|
let prefix = T.intercalate surname $ reverse prefixes
|
||||||
in [whamlet|$newline never
|
in [shamlet|$newline never
|
||||||
#{prefix}
|
#{prefix}
|
||||||
<b .surname>#{surname}
|
<b .surname>#{surname}
|
||||||
#{suffix}
|
#{suffix}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import Import hiding ((.=))
|
|||||||
import Text.Hamlet
|
import Text.Hamlet
|
||||||
import qualified Data.CaseInsensitive as CI
|
import qualified Data.CaseInsensitive as CI
|
||||||
|
|
||||||
import Handler.Utils.DateTime
|
import Handler.Utils
|
||||||
|
|
||||||
import Utils.Lens
|
import Utils.Lens
|
||||||
|
|
||||||
|
|||||||
@ -7,23 +7,26 @@ $newline never
|
|||||||
<dl>
|
<dl>
|
||||||
$case userInfo
|
$case userInfo
|
||||||
$of Left (Just email)
|
$of Left (Just email)
|
||||||
<dt> E-Mail
|
<dt>E-Mail
|
||||||
<dd> #{email}
|
<dd>#{email}
|
||||||
$of Left Nothing
|
$of Left Nothing
|
||||||
$of Right Nothing
|
$of Right Nothing
|
||||||
<dt> Ungültige UserId erhalten!
|
<dt>Ungültige UserId erhalten!
|
||||||
$of Right (Just (Entity _ User{..}))
|
$of Right (Just (Entity _ User{..}))
|
||||||
<dt> Name
|
<dt>Name
|
||||||
<dd> #{userDisplayName}
|
<dd>^{const (const (nameHtml userDisplayName userSurname))}
|
||||||
<dt> E-Mail
|
<dt>Identifikation
|
||||||
<dd> #{userEmail}
|
<dd>#{userIdent}
|
||||||
|
<dt>E-Mail
|
||||||
|
<dd>#{userEmail}
|
||||||
$maybe matrnr <- userMatrikelnummer
|
$maybe matrnr <- userMatrikelnummer
|
||||||
<dt> Matrikelnummer
|
<dt>Matrikelnummer
|
||||||
<dd> #{matrnr}
|
<dd>#{matrnr}
|
||||||
<dt> E-Mail Sprachen
|
$if not (null (mailLanguages userMailLanguages))
|
||||||
$forall lang <- mailLanguages userMailLanguages
|
<dt>Präferierte E-Mail Sprachen
|
||||||
<dd> #{lang}
|
$forall lang <- mailLanguages userMailLanguages
|
||||||
<dt> Zeit
|
<dd>#{lang}
|
||||||
<dd> #{rtime}
|
<dt>Zeit
|
||||||
<p style="white-space: pre">
|
<dd>#{rtime}
|
||||||
|
<p style="white-space: pre-wrap; font-family: monospace">
|
||||||
#{jHelpRequest}
|
#{jHelpRequest}
|
||||||
|
|||||||
@ -5,20 +5,8 @@
|
|||||||
<p>
|
<p>
|
||||||
#{content}
|
#{content}
|
||||||
|
|
||||||
$maybe (((_, modifyView), modifyEnctype), modifyTranss, ((_, addTransView), addTransEnctype)) <- forms
|
$maybe (messageEditModal, translationAddModal, translationsEditModal) <- forms
|
||||||
<section>
|
<section>
|
||||||
<h2>_{MsgSystemMessageEdit}
|
^{messageEditModal}
|
||||||
<form method=post action=@{MessageR cID} enctype=#{modifyEnctype}>
|
^{translationAddModal}
|
||||||
^{modifyView}
|
^{translationsEditModal}
|
||||||
|
|
||||||
<section>
|
|
||||||
<h2>_{MsgSystemMessageAddTranslation}
|
|
||||||
<form method=post action=@{MessageR cID} enctype=#{addTransEnctype}>
|
|
||||||
^{addTransView}
|
|
||||||
|
|
||||||
$if not (null modifyTranss)
|
|
||||||
<section>
|
|
||||||
<h2>_{MsgSystemMessageEditTranslations}
|
|
||||||
$forall ((_, transView), transEnctype) <- modifyTranss
|
|
||||||
<form method=post action=@{MessageR cID} enctype=#{transEnctype}>
|
|
||||||
^{transView}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user