From 6a10bd78f55068eca71a0c190dcee5b066430b93 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Tue, 30 Nov 2021 21:21:33 +0100 Subject: [PATCH] feat(user): add get-labels user setting --- config/settings.yml | 1 + models/users.model | 1 + src/Foundation/Yesod/Auth.hs | 1 + src/Handler/Users/Add.hs | 1 + src/Settings.hs | 1 + test/Database/Fill.hs | 8 ++++++++ 6 files changed, 13 insertions(+) diff --git a/config/settings.yml b/config/settings.yml index eaaa6483b..e7153913a 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -233,6 +233,7 @@ user-defaults: warning-days: 1209600 show-sex: false exam-office-get-synced: true + exam-office-get-labels: true # During central allocations lecturer-given ratings of applications (as # ExamGrades) are combined with a central priority. diff --git a/models/users.model b/models/users.model index 80db0f66b..80846e952 100644 --- a/models/users.model +++ b/models/users.model @@ -36,6 +36,7 @@ User json -- Each Uni2work user has a corresponding row in this table; create sex Sex Maybe showSex Bool default=false examOfficeGetSynced Bool default=true -- whether synced status should be displayed for exam results by default + examOfficeGetLabels Bool default=true -- whether labels should be displayed for exam results by default UniqueAuthentication ident -- Column 'ident' can be used as a row-key in this table UniqueEmail email -- Column 'email' can be used as a row-key in this table deriving Show Eq Ord Generic -- Haskell-specific settings for runtime-value representing a row in memory diff --git a/src/Foundation/Yesod/Auth.hs b/src/Foundation/Yesod/Auth.hs index cf2d01e53..17042dbb6 100644 --- a/src/Foundation/Yesod/Auth.hs +++ b/src/Foundation/Yesod/Auth.hs @@ -258,6 +258,7 @@ upsertCampusUser upsertMode ldapData = do , userWarningDays = userDefaultWarningDays , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels , userNotificationSettings = def , userLanguages = Nothing , userCsvOptions = def diff --git a/src/Handler/Users/Add.hs b/src/Handler/Users/Add.hs index 339f7164c..aa64839cf 100644 --- a/src/Handler/Users/Add.hs +++ b/src/Handler/Users/Add.hs @@ -76,6 +76,7 @@ postAdminUserAddR = do , userWarningDays = userDefaultWarningDays , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels , userNotificationSettings = def , userLanguages = Nothing , userCsvOptions = def diff --git a/src/Settings.hs b/src/Settings.hs index bb64d4979..3e904da07 100644 --- a/src/Settings.hs +++ b/src/Settings.hs @@ -256,6 +256,7 @@ data UserDefaultConf = UserDefaultConf , userDefaultWarningDays :: NominalDiffTime , userDefaultShowSex :: Bool , userDefaultExamOfficeGetSynced :: Bool + , userDefaultExamOfficeGetLabels :: Bool } deriving (Show) data PWHashConf = PWHashConf diff --git a/test/Database/Fill.hs b/test/Database/Fill.hs index 94f5d208e..1a3bd069c 100644 --- a/test/Database/Fill.hs +++ b/test/Database/Fill.hs @@ -151,6 +151,7 @@ fillDb = do , userSex = Just SexMale , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } fhamann <- insert User { userIdent = "felix.hamann@campus.lmu.de" @@ -181,6 +182,7 @@ fillDb = do , userSex = Just SexMale , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } jost <- insert User { userIdent = "jost@tcs.ifi.lmu.de" @@ -211,6 +213,7 @@ fillDb = do , userCsvOptions = def , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } maxMuster <- insert User { userIdent = "max@campus.lmu.de" @@ -241,6 +244,7 @@ fillDb = do , userSex = Just SexMale , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } tinaTester <- insert $ User { userIdent = "tester@campus.lmu.de" @@ -271,6 +275,7 @@ fillDb = do , userSex = Just SexNotApplicable , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } svaupel <- insert User { userIdent = "vaupel.sarah@campus.lmu.de" @@ -301,6 +306,7 @@ fillDb = do , userSex = Just SexFemale , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } sbarth <- insert User { userIdent = "Stephan.Barth@campus.lmu.de" @@ -331,6 +337,7 @@ fillDb = do , userSex = Just SexMale , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = False + , userExamOfficeGetLabels = True } let @@ -391,6 +398,7 @@ fillDb = do , userSex = Nothing , userShowSex = userDefaultShowSex , userExamOfficeGetSynced = userDefaultExamOfficeGetSynced + , userExamOfficeGetLabels = userDefaultExamOfficeGetLabels } where userIdent :: IsString t => t