Profile: theme select form available, but still buggy somehow

This commit is contained in:
SJost 2018-06-26 12:05:19 +02:00
parent 5ff0a3524d
commit 097e0c45e7
3 changed files with 28 additions and 8 deletions

View File

@ -77,6 +77,8 @@ Theme: Oberflächen Design
Favoriten: Anzahl gespeicherter Favoriten
Plugin: Plugin
Ident: Identifizierung
Settings: Individuelle Benutzereinstellungen
SettingsUpdate: Einstellungen wurden gespeichert.
SheetExercise: Aufgabenstellung
SheetHint: Hinweise

View File

@ -39,9 +39,24 @@ makeSettingForm template = identForm FIDsettings $ \html -> do
getProfileR :: Handler Html
getProfileR = do
(uid, User{..}) <- requireAuthPair
-- mr <- getMessageRender
(admin_rights,lecturer_rights,lecture_owner,lecture_corrector,participant,studies) <- runDB $ (,,,,,) <$>
(uid, User{..}) <- requireAuthPair
let settingsTemplate = Just $ SettingsForm
{ stgMaxFavourties = userMaxFavourites
, stgTheme = userTheme
}
((res,formWidget), formEnctype) <- runFormPost $ makeSettingForm settingsTemplate
case res of
(FormSuccess SettingsForm{..}) -> do
runDB $ update uid [ UserMaxFavourites =. userMaxFavourites
, UserTheme =. userTheme
]
addMessage "info" $ toHtml $ "LOG:" ++ display userMaxFavourites ++ display userTheme
addMessageI "info" $ MsgSettingsUpdate
(FormFailure msgs) -> forM_ msgs $ (addMessage "warning") . toHtml
_ -> return ()
(admin_rights,lecturer_rights,lecture_owner,lecture_corrector,participant,studies) <- runDB $ (,,,,,) <$>
(E.select $ E.from $ \(adright `E.InnerJoin` school) -> do
E.where_ $ adright ^. UserAdminUser E.==. E.val uid
E.on $ adright ^. UserAdminSchool E.==. school ^. SchoolId
@ -81,11 +96,13 @@ getProfileR = do
,studyfeat ^. StudyFeaturesType
,studyfeat ^. StudyFeaturesSemester)
)
defaultLayout $ do
setTitle . toHtml $ userIdent <> "'s User page"
$(widgetFile "profile")
$(widgetFile "dsgvDisclaimer")
let formText = Just MsgSettings
actionUrl = ProfileR
settingsForm = $(widgetFile "formPageI18n")
defaultLayout $ do
setTitle . toHtml $ userIdent <> "'s User page"
$(widgetFile "profile")
$(widgetFile "dsgvDisclaimer")
postProfileR :: Handler Html
postProfileR = do

View File

@ -76,3 +76,4 @@
<a href=@{CourseR tid csh CShowR}>#{display tid} - #{csh}
seit #{display regSince}
^{settingsForm}