diff --git a/src/Handler/Exam/Users.hs b/src/Handler/Exam/Users.hs index 3eb9fd61b..ca8599861 100644 --- a/src/Handler/Exam/Users.hs +++ b/src/Handler/Exam/Users.hs @@ -115,7 +115,24 @@ instance ToNamedRecord ExamUserTableCsv where toNamedRecord = Csv.genericToNamedRecord examUserTableCsvOptions instance FromNamedRecord ExamUserTableCsv where - parseNamedRecord = Csv.genericParseNamedRecord examUserTableCsvOptions + parseNamedRecord csv -- Manually defined awaiting issue #427 + = ExamUserTableCsv + <$> csv .:? "surname" + <*> csv .:? "first-name" + <*> csv .:? "name" + <*> csv .:? "matriculation" + <*> csv .:? "field" + <*> csv .:? "degree" + <*> csv .:? "semester" + <*> csv .:? "occurrence" + <*> csv .:? "exercise-points" + <*> csv .:? "exercise-num-passes" + <*> csv .:? "exercise-points-max" + <*> csv .:? "exercise-num-passes-max" + <*> csv .:? "exam-result" + where + (.:?) :: FromField (Maybe a) => Csv.NamedRecord -> ByteString -> Csv.Parser (Maybe a) + m .:? name = Csv.lookup m name <|> return Nothing instance DefaultOrdered ExamUserTableCsv where headerOrder = Csv.genericHeaderOrder examUserTableCsvOptions