feat(external-exams): add actions to EEUsers
This commit is contained in:
parent
5090cca98b
commit
2cf4895231
@ -1729,6 +1729,9 @@ ExamUserSyncLastChange: Zuletzt geändert
|
||||
ExamUserMarkSynchronised: Prüfungsleistung als synchronisiert markieren
|
||||
ExternalExamUserMarkSynchronised: Prüfungsleistung als synchronisiert markieren
|
||||
ExternalExamUserMarkSynchronisedTip: Sollen beim CSV-Export automatisch alle heruntergeladenen Prüfungsleistungen als synchronisiert markiert werden? Diese Markierung dient als Hinweis an andere Prüfungsbeauftragte und die Kursverwalter, dass die Leistung an der korrekten Stelle vermerkt wurde und keiner weiteren Handlung bedarf.
|
||||
ExternalExamUserEditOccurrence: Termin ändern
|
||||
ExternalExamUserEditResult: Prüfungsergebnis ändern
|
||||
ExternalExamUserDelete: Prüfungsteilnehmer entfernen
|
||||
|
||||
ExamUserMarkSynchronisedCsv: Prüfungsleistungen beim Export als synchronisiert markieren
|
||||
ExamUserMarkSynchronisedCsvTip: Sollen beim CSV-Export automatisch alle heruntergeladenen Prüfungsleistungen als synchronisiert markiert werden? Diese Markierung dient als Hinweis an andere Prüfungsbeauftragte und die Kursverwalter, dass die Leistung an der korrekten Stelle vermerkt wurde und keiner weiteren Handlung bedarf.
|
||||
@ -2370,4 +2373,4 @@ AllocationPrioritiesTitle tid@TermId ssh@SchoolId ash@AllocationShorthand: #{tid
|
||||
AllocationPrioritiesFile: CSV-Datei
|
||||
AllocationPrioritiesSunk num@Int64: Zentrale Prioritäten für #{num} Bewerber erfolgreich hinterlegt
|
||||
AllocationPrioritiesMissing num@Int64: Für #{num} Bewerber ist keine zentrale Priorität hinterlegt, da in der hochgeladenen CSV-Datei die #{pluralDE num "entsprechende Matrikelnummer" "entsprechenden Matrikelnummern"} nicht gefunden #{pluralDE num "wurde" "wurden"}
|
||||
AllocationMissingPrioritiesIgnored: Bewerber, für die keine zentrale Priorität angegeben wird, werden bei der Vergabe ignoriert!
|
||||
AllocationMissingPrioritiesIgnored: Bewerber, für die keine zentrale Priorität angegeben wird, werden bei der Vergabe ignoriert!
|
||||
|
||||
@ -1721,6 +1721,9 @@ ExamUserSyncLastChange: Last changed
|
||||
ExamUserMarkSynchronised: Mark exam achievements as synchronised
|
||||
ExternalExamUserMarkSynchronised: Mark exam achievements as synchronised
|
||||
ExternalExamUserMarkSynchronisedTip: Should all exam achievements, that are included in the download, be marked as synchronised? Marking exam achievemnts as synchronised serves as a notice to other exam offices and course administrators, that the exam achievement has been dealt with properly such that no further action is required.
|
||||
ExternalExamUserEditOccurrence: Edit occurrence
|
||||
ExternalExamUserEditResult: Edit exam result
|
||||
ExternalExamUserDelete: Delete exam participant
|
||||
|
||||
ExamUserMarkSynchronisedCsv: Mark exam achievements as synchronised while exporting
|
||||
ExamUserMarkSynchronisedCsvTip: Should all exam achievements, that are included in the download, be marked as synchronised? Marking exam achievemnts as synchronised serves as a notice to other exam offices and course administrators, that the exam achievement has been dealt with properly such that no further action is required.
|
||||
@ -2335,4 +2338,4 @@ InfoLecturerExams: Exams
|
||||
InfoLecturerAllocations: Central allocations
|
||||
|
||||
ParticipantsIntersectCourseOption tid@TermId ssh@SchoolId coursen@CourseName: #{tid} - #{ssh} - #{coursen}
|
||||
ParticipantsIntersectCourses: Courses
|
||||
ParticipantsIntersectCourses: Courses
|
||||
|
||||
@ -21,6 +21,9 @@ postEEGradesR tid ssh coursen examn = do
|
||||
return . Just $ do
|
||||
addMessageI Success $ MsgExamUserMarkedSynchronised (length selectedResults)
|
||||
redirect $ EExamR tid ssh coursen examn EEGradesR
|
||||
(ExternalExamUserEditOccurrenceData _, _) -> error "EditOccurrence not implemented"
|
||||
(ExternalExamUserEditResultData _, _) -> error "EditResult not implemented"
|
||||
(ExternalExamUserDeleteData, _) -> error "Delete not implemented"
|
||||
|
||||
return (usersResult', examUsersTable)
|
||||
|
||||
|
||||
@ -107,6 +107,9 @@ instance CsvColumnsExplained ExternalExamUserTableCsv where
|
||||
|
||||
data ExternalExamUserAction
|
||||
= ExternalExamUserMarkSynchronised
|
||||
| ExternalExamUserEditOccurrence
|
||||
| ExternalExamUserEditResult
|
||||
| ExternalExamUserDelete
|
||||
deriving (Eq, Ord, Enum, Bounded, Read, Show, Generic, Typeable)
|
||||
instance Universe ExternalExamUserAction
|
||||
instance Finite ExternalExamUserAction
|
||||
@ -115,6 +118,9 @@ embedRenderMessage ''UniWorX ''ExternalExamUserAction id
|
||||
|
||||
data ExternalExamUserActionData
|
||||
= ExternalExamUserMarkSynchronisedData
|
||||
| ExternalExamUserEditOccurrenceData UTCTime
|
||||
| ExternalExamUserEditResultData ExamResultPassedGrade
|
||||
| ExternalExamUserDeleteData
|
||||
|
||||
newtype ExternalExamUserCsvExportDataGrades = ExternalExamUserCsvExportDataGrades
|
||||
{ csvEEUserMarkSynchronised :: Bool
|
||||
@ -303,7 +309,14 @@ makeExternalExamUsersTable mode (Entity eeId ExternalExam{..}) = do
|
||||
(res, formWgt) <- multiActionM actionMap (fslI MsgAction) Nothing csrf
|
||||
let formRes = (, mempty) . First . Just <$> res
|
||||
return (formRes, formWgt)
|
||||
_other -> \csrf -> return (FormMissing, toWidget csrf)
|
||||
EEUMUsers -> \csrf -> do
|
||||
let
|
||||
actionMap :: Map ExternalExamUserAction (AForm Handler ExternalExamUserActionData)
|
||||
actionMap = Map.fromList
|
||||
[]
|
||||
(res, formWgt) <- multiActionM actionMap (fslI MsgAction) Nothing csrf
|
||||
let formRes = (, mempty) . First . Just <$> res
|
||||
return (formRes, formWgt)
|
||||
, dbParamsFormEvaluate = liftHandler . runFormPost
|
||||
, dbParamsFormResult = id
|
||||
, dbParamsFormIdent = def
|
||||
|
||||
Loading…
Reference in New Issue
Block a user