feat(exam-users): allow missing columns in csv import
This commit is contained in:
parent
e955788371
commit
e242013087
@ -115,7 +115,24 @@ instance ToNamedRecord ExamUserTableCsv where
|
|||||||
toNamedRecord = Csv.genericToNamedRecord examUserTableCsvOptions
|
toNamedRecord = Csv.genericToNamedRecord examUserTableCsvOptions
|
||||||
|
|
||||||
instance FromNamedRecord ExamUserTableCsv where
|
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
|
instance DefaultOrdered ExamUserTableCsv where
|
||||||
headerOrder = Csv.genericHeaderOrder examUserTableCsvOptions
|
headerOrder = Csv.genericHeaderOrder examUserTableCsvOptions
|
||||||
|
|||||||
Reference in New Issue
Block a user