diff --git a/messages/uniworx/de-de-formal.msg b/messages/uniworx/de-de-formal.msg index 0baaa428f..9992ad69a 100644 --- a/messages/uniworx/de-de-formal.msg +++ b/messages/uniworx/de-de-formal.msg @@ -1739,6 +1739,9 @@ ExamUserMarkedSynchronised n@Int: #{n} #{pluralDE n "Prüfungsleistung" "Prüfun ExternalExamUserMarkSynchronisedCsv: Prüfungsleistungen beim Export als synchronisiert markieren ExternalExamUserMarkedSynchronised n@Int: #{n} #{pluralDE n "Prüfungsleistung" "Prüfungsleistungen"} als synchronisiert markiert +ExternalExamOccurrenceEdited n@Int: #{n} Termine editiert +ExternalExamResultEdited n@Int: #{n} Prüfungsergebnisse editiert +ExternalExamUserDeleted n@Int: #{n} Prüfungsteilnehmer entfernt ExamOfficeExamUsersHeading: Prüfungsleistungen diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index 3c551257c..d11a41bf9 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -1730,7 +1730,10 @@ ExamUserMarkSynchronisedCsvTip: Should all exam achievements, that are included ExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam achievement" "exam achievements"} as synchronised ExternalExamUserMarkSynchronisedCsv: Mark exam achievements as synchronised while exporting -ExternalExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam achievement" "exam achievements"} as synchronised +ExternalExamUserMarkedSynchronised n: Successfully marked #{n} #{pluralEN n "exam result" "exam results"} as synchronised +ExternalExamOccurrenceEdited n: Successfully edited #{n} #{pluralEN n "occurrence" "occurrences"} +ExternalExamResultEdited n: Successfully edited #{n} #{pluralEN n "exam result" "exam results"} +ExternalExamUserDeleted n: Successfully deleted #{n} #{pluralEN n "exam participant" "exam participants"} ExamOfficeExamUsersHeading: Exam achievements diff --git a/src/Handler/ExamOffice/ExternalExam.hs b/src/Handler/ExamOffice/ExternalExam.hs index c3ae6c290..28fa71e37 100644 --- a/src/Handler/ExamOffice/ExternalExam.hs +++ b/src/Handler/ExamOffice/ExternalExam.hs @@ -21,9 +21,27 @@ 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" + + (ExternalExamUserEditOccurrenceData occ, selectedResults) -> do + -- TODO work in progress + forM_ selectedResults $ externalExamEditOccurrence occ + return . Just $ do + addMessageI Success $ MsgExternalExamOccurrenceEdited $ length selectedResults + redirect $ EExamR tid ssh coursen examn EEGradesR + + (ExternalExamUserEditResultData examResult, selectedResults) -> do + -- TODO work in progress + forM_ selectedResults $ externalExamEditResult examResult + return . Just $ do + addMessageI Success $ MsgExternalExamResultEdited $ length selectedResults + redirect $ EExamR tid ssh coursen examn EEGradesR + + (ExternalExamUserDeleteData, selectedResults) -> do + -- TODO work in progress + forM_ selectedResults externalExamDeleteUser + return . Just $ do + addMessageI Success $ MsgExternalExamUserDeleted $ length selectedResults + redirect $ EExamR tid ssh coursen examn EEGradesR return (usersResult', examUsersTable) diff --git a/src/Handler/Utils/ExternalExam/Users.hs b/src/Handler/Utils/ExternalExam/Users.hs index c3b27b7cd..84112e019 100644 --- a/src/Handler/Utils/ExternalExam/Users.hs +++ b/src/Handler/Utils/ExternalExam/Users.hs @@ -482,3 +482,22 @@ externalExamResultMarkSynchronised resId = do } | Entity _ UserFunction{..} <- userFunctions ] + +externalExamEditOccurrence :: UTCTime -> ExternalExamResultId -> DB () +externalExamEditOccurrence _ _ = do + --uid <- requireAuthId + --now <- liftIO getCurrentTime + -- TODO work in progress + return () + +externalExamEditResult :: ExamResultPassedGrade -> ExternalExamResultId -> DB () +externalExamEditResult _ _ = do + --uid <- requireAuthId + --now <- liftIO getCurrentTime + -- TODO work in progress + return () + +externalExamDeleteUser :: ExternalExamResultId -> DB () +externalExamDeleteUser _ = do + -- TODO work in progress + return ()