feat(course-participants): csv export first name/surname separately
This commit is contained in:
parent
33961d1cb9
commit
1036926470
@ -2188,6 +2188,8 @@ CsvColumnExamUserParts: Erreichte Punktezahlen in den Teilprüfungen, sofern vor
|
||||
CsvColumnExamUserResult: Erreichte Prüfungsleistung; "passed", "failed", "no-show", "voided", oder eine Note ("1.0", "1.3", "1.7", ..., "4.0", "5.0")
|
||||
CsvColumnExamUserCourseNote: Notizen zum Teilnehmer
|
||||
|
||||
CsvColumnUserSurname: Nachname(n) des Teilnehmers
|
||||
CsvColumnUserFirstName: Vorname(n) des Teilnehmers
|
||||
CsvColumnUserName: Voller Name des Teilnehmers
|
||||
CsvColumnUserMatriculation: Matrikelnummer des Teilnehmers
|
||||
CsvColumnUserSex: Geschlecht
|
||||
|
||||
@ -2187,6 +2187,8 @@ CsvColumnExamUserParts: Number of points the participant achieved per exam part.
|
||||
CsvColumnExamUserResult: Exam achievement; "passed", "failed", "no-show", "voided", or any number grade ("1.0", "1.3", "1.7", ..., "4.0", "5.0")
|
||||
CsvColumnExamUserCourseNote: Course notes for the participant
|
||||
|
||||
CsvColumnUserSurname: Participant's surname
|
||||
CsvColumnUserFirstName: Participant's given name
|
||||
CsvColumnUserName: Participant's full name
|
||||
CsvColumnUserMatriculation: Participant's matriculation
|
||||
CsvColumnUserSex: Participant's sex
|
||||
|
||||
@ -167,7 +167,9 @@ colUserSheets shns = cap (Sortable Nothing caption) $ foldMap userSheetCol shns
|
||||
|
||||
|
||||
data UserTableCsv = UserTableCsv
|
||||
{ csvUserName :: UserDisplayName
|
||||
{ csvUserSurname :: UserSurname
|
||||
, csvUserFirstName :: UserFirstName
|
||||
, csvUserName :: UserDisplayName
|
||||
, csvUserSex :: Maybe Sex
|
||||
, csvUserMatriculation :: Maybe UserMatriculation
|
||||
, csvUserEmail :: UserEmail
|
||||
@ -183,7 +185,9 @@ makeLenses_ ''UserTableCsv
|
||||
|
||||
instance Csv.ToNamedRecord UserTableCsv where
|
||||
toNamedRecord UserTableCsv{..} = Csv.namedRecord $
|
||||
[ "name" Csv..= csvUserName
|
||||
[ "surname" Csv..= csvUserSurname
|
||||
, "first-name" Csv..= csvUserFirstName
|
||||
, "name" Csv..= csvUserName
|
||||
, "sex" Csv..= csvUserSex
|
||||
, "matriculation" Csv..= csvUserMatriculation
|
||||
, "email" Csv..= csvUserEmail
|
||||
@ -208,7 +212,9 @@ instance Csv.ToNamedRecord UserTableCsv where
|
||||
]
|
||||
instance CsvColumnsExplained UserTableCsv where
|
||||
csvColumnsExplanations _ = mconcat
|
||||
[ single "name" MsgCsvColumnUserName
|
||||
[ single "surname" MsgCsvColumnUserSurname
|
||||
, single "first-name" MsgCsvColumnUserFirstName
|
||||
, single "name" MsgCsvColumnUserName
|
||||
, single "sex" MsgCsvColumnUserSex
|
||||
, single "matriculation" MsgCsvColumnUserMatriculation
|
||||
, single "email" MsgCsvColumnUserEmail
|
||||
@ -231,7 +237,7 @@ instance Default UserCsvExportData where
|
||||
|
||||
userTableCsvHeader :: Bool -> [Entity Tutorial] -> [Entity Sheet] -> UserCsvExportData -> Csv.Header
|
||||
userTableCsvHeader showSex tuts sheets UserCsvExportData{..} = Csv.header $
|
||||
[ "name" ] ++
|
||||
[ "surname", "first-name", "name" ] ++
|
||||
[ "sex" | showSex ] ++
|
||||
[ "matriculation", "email", "study-features"] ++
|
||||
[ "tutorial" | hasEmptyRegGroup ] ++
|
||||
@ -460,7 +466,9 @@ makeCourseUserTable cid acts restrict colChoices psValidator csvColumns = do
|
||||
<$> apopt checkBoxField (fslI MsgCourseUserCsvIncludeSheets & setTooltip MsgCourseUserCsvIncludeSheetsTip) (Just $ csvUserIncludeSheets def)
|
||||
, dbtCsvDoEncode = \UserCsvExportData{} -> C.mapM $ \(_, row) -> flip runReaderT row $
|
||||
UserTableCsv
|
||||
<$> view (hasUser . _userDisplayName)
|
||||
<$> view (hasUser . _userSurname)
|
||||
<*> view (hasUser . _userFirstName)
|
||||
<*> view (hasUser . _userDisplayName)
|
||||
<*> view (hasUser . _userSex)
|
||||
<*> view (hasUser . _userMatrikelnummer)
|
||||
<*> view (hasUser . _userEmail)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user