chore: add default schedule view to user settings

This commit is contained in:
Sarah Vaupel 2020-10-26 11:09:19 +01:00
parent 0d8a613ad6
commit 913320a2e9
8 changed files with 21 additions and 0 deletions

View File

@ -212,6 +212,7 @@ user-defaults:
download-files: false
warning-days: 1209600
show-sex: false
schedule-view: view-week
# During central allocations lecturer-given ratings of applications (as
# ExamGrades) are combined with a central priority.

View File

@ -35,6 +35,7 @@ User json -- Each Uni2work user has a corresponding row in this table; create
csvOptions CsvOptions "default='{}'::jsonb"
sex Sex Maybe
showSex Bool default=false
scheduleView ScheduleView default='ScheduleViewWeek'
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

View File

@ -256,6 +256,7 @@ upsertCampusUser upsertMode ldapData = do
, userDownloadFiles = userDefaultDownloadFiles
, userWarningDays = userDefaultWarningDays
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
, userNotificationSettings = def
, userLanguages = Nothing
, userCsvOptions = def

View File

@ -75,6 +75,7 @@ postAdminUserAddR = do
, userDownloadFiles = userDefaultDownloadFiles
, userWarningDays = userDefaultWarningDays
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
, userNotificationSettings = def
, userLanguages = Nothing
, userCsvOptions = def

View File

@ -21,6 +21,8 @@ import Settings.Cluster (ClusterSettingsKey)
import Text.Blaze (ToMarkup(..))
import Utils.Schedule.Types.ScheduleView
-- You can define all of your database entities in the entities file.
-- You can find more information on persistent and how to declare entities

View File

@ -28,6 +28,7 @@ import qualified Data.Aeson as JSON
import Database.Persist.Sql (PersistFieldSql(..))
import Utils.Lens.TH
import Utils.Schedule.Types.ScheduleView
import Web.HttpApiData
@ -280,3 +281,8 @@ instance ToHttpApiData TokenBucketIdent where
toUrlPiece = toPathPiece
instance FromHttpApiData TokenBucketIdent where
parseUrlPiece = maybe (Left "Could not parse TokenBucketIdent") Right . fromPathPiece
pathPieceJSON ''ScheduleView
pathPieceJSONKey ''ScheduleView
derivePersistField "ScheduleView"

View File

@ -75,6 +75,7 @@ import qualified Network.Minio as Minio
import Data.Conduit.Algorithms.FastCDC
import Utils.Schedule.Types.ScheduleView
-- | Runtime settings to configure this application. These settings can be
-- loaded from various sources: defaults, environment variables, config files,
@ -211,6 +212,7 @@ data UserDefaultConf = UserDefaultConf
, userDefaultDownloadFiles :: Bool
, userDefaultWarningDays :: NominalDiffTime
, userDefaultShowSex :: Bool
, userDefaultScheduleView :: ScheduleView
} deriving (Show)
data PWHashConf = PWHashConf

View File

@ -123,6 +123,7 @@ fillDb = do
, userCsvOptions = def { csvFormat = csvPreset # CsvPresetRFC }
, userSex = Just SexMale
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
fhamann <- insert User
{ userIdent = "felix.hamann@campus.lmu.de"
@ -152,6 +153,7 @@ fillDb = do
, userCsvOptions = def { csvFormat = csvPreset # CsvPresetExcel }
, userSex = Just SexMale
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
jost <- insert User
{ userIdent = "jost@tcs.ifi.lmu.de"
@ -181,6 +183,7 @@ fillDb = do
, userSex = Just SexMale
, userCsvOptions = def
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
maxMuster <- insert User
{ userIdent = "max@campus.lmu.de"
@ -210,6 +213,7 @@ fillDb = do
, userCsvOptions = def
, userSex = Just SexMale
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
tinaTester <- insert $ User
{ userIdent = "tester@campus.lmu.de"
@ -239,6 +243,7 @@ fillDb = do
, userCsvOptions = def
, userSex = Just SexNotApplicable
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
svaupel <- insert User
{ userIdent = "vaupel.sarah@campus.lmu.de"
@ -268,6 +273,7 @@ fillDb = do
, userCsvOptions = def
, userSex = Just SexFemale
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
let
@ -327,6 +333,7 @@ fillDb = do
, userCsvOptions = def
, userSex = Nothing
, userShowSex = userDefaultShowSex
, userScheduleView = userDefaultScheduleView
}
where
userIdent :: IsString t => t