diff --git a/messages/uniworx/categories/courses/exam/exam_office/de-de-formal.msg b/messages/uniworx/categories/courses/exam/exam_office/de-de-formal.msg index 39d033ade..6f5442534 100644 --- a/messages/uniworx/categories/courses/exam/exam_office/de-de-formal.msg +++ b/messages/uniworx/categories/courses/exam/exam_office/de-de-formal.msg @@ -58,3 +58,11 @@ ExamOfficeFieldForced: Forcierte Einsicht ExamOfficeGetSynced: Synchronisiert-Status in Prüfungsliste anzeigen ExamOfficeGetSyncedTip: Soll unter „Prüfungen“ der Synchronisiert-Status zu jeder Prüfung angezeigt werden? (Ein Deaktivieren dieser Option kann zu kürzeren Ladezeiten der Prüfungsliste führen.) +ExamOfficeGetLabels: Labels in Prüfungsliste anzeigen +ExamOfficeGetLabelsTip: Sollen unter „Prüfungen“ die gesetzten Labels zu jeder Prüfung angezeigt werden? + +ExamOfficeSettings: Prüfungsliste („Prüfungen“) +ExamOfficeSettingsGetSynced: Synchronisiert-Status anzeigen +ExamOfficeSettingsGetSyncedTip: Soll der Synchronisiert-Status zu jeder Prüfung angezeigt werden? (Ein Deaktivieren dieser Option kann die Ladezeiten der Prüfungsliste verkürzen.) +ExamOfficeSettingsGetLabels: Labels anzeigen +ExamOfficeSettingsGetLabelsTip: Sollen die gesetzten Labels zu jeder Prüfung angezeigt werden? diff --git a/messages/uniworx/categories/courses/exam/exam_office/en-eu.msg b/messages/uniworx/categories/courses/exam/exam_office/en-eu.msg index b8cd4743e..4194f8905 100644 --- a/messages/uniworx/categories/courses/exam/exam_office/en-eu.msg +++ b/messages/uniworx/categories/courses/exam/exam_office/en-eu.msg @@ -56,3 +56,11 @@ ExamOfficeFieldForced: Forced access ExamOfficeGetSynced: Show synchronised status in exam list ExamOfficeGetSyncedTip: Should the synchronised status be displayed in “Exams”? (Disabling this option may lead to shorter loading times of the exam list.) +ExamOfficeGetLabels: Show labels in exam list +ExamOfficeGetLabelsTip: Should the labels of each exam be displayed in “Exams”? + +ExamOfficeSettings: Exam list (“Exams”) +ExamOfficeSettingsGetSynced: Show synchronised status +ExamOfficeSettingsGetSyncedTip: Should the synchronised status be displayed for each exam? (Disabling this option may lead to shorter loading times of the exam list.) +ExamOfficeSettingsGetLabels: Show labels +ExamOfficeSettingsGetLabelsTip: Should the labels of each exam be displayed? diff --git a/src/Handler/Profile.hs b/src/Handler/Profile.hs index 4a9e12dea..90dbdaa76 100644 --- a/src/Handler/Profile.hs +++ b/src/Handler/Profile.hs @@ -314,13 +314,16 @@ allocationNotificationForm = maybe (pure mempty) allocationNotificationForm' . ( examOfficeForm :: Maybe ExamOfficeSettings -> AForm Handler ExamOfficeSettings examOfficeForm template = wFormToAForm $ do - (_uid, User{userExamOfficeGetSynced}) <- requireAuthPair + (_uid, User{userExamOfficeGetSynced,userExamOfficeGetLabels}) <- requireAuthPair userIsExamOffice <- liftHandler . hasReadAccessTo $ ExamOfficeR EOExamsR if userIsExamOffice - then aFormToWForm . fmap ExamOfficeSettings $ - aformSection MsgFormExamOffice - *> apopt checkBoxField (fslI MsgExamOfficeGetSynced & setTooltip MsgExamOfficeGetSyncedTip) (eosettingsGetSynced <$> template) - else return . pure . fromMaybe (ExamOfficeSettings userExamOfficeGetSynced) $ template + then aFormToWForm $ liftA2 ExamOfficeSettings + ( aformSection MsgFormExamOffice + *> apopt checkBoxField (fslI MsgExamOfficeGetSynced & setTooltip MsgExamOfficeGetSyncedTip) (eosettingsGetSynced <$> template) + ) + ( apopt checkBoxField (fslI MsgExamOfficeGetLabels & setTooltip MsgExamOfficeGetLabelsTip) (eosettingsGetLabels <$> template) + ) + else return . pure . fromMaybe (ExamOfficeSettings userExamOfficeGetSynced userExamOfficeGetLabels) $ template validateSettings :: User -> FormValidator SettingsForm Handler () @@ -377,6 +380,7 @@ postProfileR = do , stgShowSex = userShowSex , stgExamOfficeSettings = ExamOfficeSettings { eosettingsGetSynced = userExamOfficeGetSynced + , eosettingsGetLabels = userExamOfficeGetLabels } , stgAllocationNotificationSettings = allocs } diff --git a/src/Handler/Utils/Profile.hs b/src/Handler/Utils/Profile.hs index 95fe228cb..2a5c2a1f6 100644 --- a/src/Handler/Utils/Profile.hs +++ b/src/Handler/Utils/Profile.hs @@ -36,7 +36,8 @@ validDisplayName (fmap Text.strip -> mTitle) (Text.strip -> fName) (Text.strip - addLetters = Set.fromList [' '] -newtype ExamOfficeSettings +data ExamOfficeSettings = ExamOfficeSettings { eosettingsGetSynced :: Bool + , eosettingsGetLabels :: Bool }