diff --git a/messages/uniworx/de.msg b/messages/uniworx/de.msg index 570730adf..22c502e1f 100644 --- a/messages/uniworx/de.msg +++ b/messages/uniworx/de.msg @@ -409,6 +409,7 @@ NrSubmissionsNewlyAssigned: Neu zugeteilt NrSubmissionsNotAssigned: Nicht zugeteilt NrSubmissionsNotCorrected: Unkorrigiert CorrectionTime: Korrekturdauer (Min/Avg/Max) +AssignSubmissionsRandomWarning: Die Zuteilungsvorschau kann geringfügig von der tatsächlichen Zuteilung abweichen, da die Zuteilung ein randomisierter Prozess ist. Mehrfaches neues Laden dieser Seite vor Betätigung des Zuteilungsknopfes kann dies sichtbar machen. CorrectionsUploaded num@Int64: #{display num} Korrekturen wurden gespeichert: NoCorrectionsUploaded: In der hochgeladenen Datei wurden keine Korrekturen gefunden. @@ -836,7 +837,8 @@ MenuCorrectionsUpload: Korrekturen hochladen MenuCorrectionsDownload: Offene Abgaben herunterladen MenuCorrectionsCreate: Abgaben registrieren MenuCorrectionsGrade: Abgaben online korrigieren -MenuCorrectionsAssign: Abgaben automatisch zuteilen +MenuCorrectionsAssign: Zuteilung Korrekturen +MenuCorrectionsAssignSheet name@Text: Zuteilung Korrekturen von #{name} MenuAuthPreds: Authorisierungseinstellungen MenuTutorialDelete: Tutorium löschen MenuTutorialEdit: Tutorium editieren diff --git a/src/Foundation.hs b/src/Foundation.hs index 7ce7a5eed..ad0d88b3c 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -1427,7 +1427,7 @@ instance YesodBreadcrumbs UniWorX where breadcrumb (CourseR tid ssh csh CInviteR) = return ("Einladung", Just $ CourseR tid ssh csh CShowR) breadcrumb (CourseR tid ssh csh (CUserR _)) = return ("Teilnehmer" , Just $ CourseR tid ssh csh CUsersR) breadcrumb (CourseR tid ssh csh CCorrectionsR) = return ("Abgaben" , Just $ CourseR tid ssh csh CShowR) - breadcrumb (CourseR tid ssh csh CAssignR) = return ("Zuteilen" , Just $ CourseR tid ssh csh CCorrectionsR) + breadcrumb (CourseR tid ssh csh CAssignR) = return ("Korrektur" , Just $ CourseR tid ssh csh CCorrectionsR) breadcrumb (CourseR tid ssh csh SheetListR) = return ("Übungen" , Just $ CourseR tid ssh csh CShowR) breadcrumb (CourseR tid ssh csh SheetNewR ) = return ("Neu", Just $ CourseR tid ssh csh SheetListR) breadcrumb (CourseR tid ssh csh SheetCurrentR) = return ("Aktuelles Blatt", Just $ CourseR tid ssh csh SheetListR) diff --git a/src/Handler/Corrections.hs b/src/Handler/Corrections.hs index 35cc932c8..b64959f0c 100644 --- a/src/Handler/Corrections.hs +++ b/src/Handler/Corrections.hs @@ -1054,7 +1054,7 @@ postSAssignR tid ssh csh shn = do (shid,cid) <- runDB $ fetchSheetIdCourseId tid ssh csh shn assignHandler tid ssh csh cid [shid] --- DEPRECATED assignHandler' +-- DEPRECATED assignHandler', delete me soonish assignHandler' :: TermId -> SchoolId -> CourseShorthand -> CourseId -> [SheetId] -> Handler Html assignHandler' tid ssh csh _cid rawSids = do -- gather data @@ -1175,7 +1175,10 @@ assignHandler tid ssh csh cid assignSids = do infoMap = List.foldl (flip buildS) emptySheets submissions -- ensure that all sheets are shown, including those without any submissions - emptySheets = foldl (\m sid -> Map.insert (sheetName $ sheets ! sid) Map.empty m) Map.empty sheetIds + emptySheets = foldl (\m sid -> Map.insert (sheetName $ sheets ! sid) emptyCorrs m) Map.empty sheetIds + emptyCorrs = foldl (\m uid -> let cic = Just uid in + Map.insert cic mempty{ciCorrector=cic} m) Map.empty $ Map.keys correctorMap + buildS :: (Entity Submission, E.Value Int64) -> Map SheetName (Map (Maybe UserId) CorrectionInfo) -> Map SheetName (Map (Maybe UserId) CorrectionInfo) buildS (Entity _sheetId Submission{..}, E.Value nrSbmtrs) m = @@ -1184,7 +1187,7 @@ assignHandler tid ssh csh cid assignSids = do cinf = Map.singleton submissionRatingBy $ CorrectionInfo { ciSubmittors = fromIntegral nrSbmtrs , ciSubmissions = 1 - , ciAssigned = maybe 0 (const 1) submissionRatingBy + , ciAssigned = maybe 0 (const 1) submissionRatingBy -- only used in sheetMap , ciCorrected = maybe 0 (const 1) submissionRatingTime , ciCorrector = submissionRatingBy , ciMin = corTime @@ -1229,7 +1232,9 @@ assignHandler tid ssh csh cid assignSids = do showAvgsDays (Just dt) n = formatDiffDays $ dt / fromIntegral n heat :: Integer -> Integer -> Double heat full achieved = roundToDigits 3 $ cutOffPercent 0.4 (fromIntegral full) (fromIntegral achieved) - let headingShort = MsgMenuCorrectionsAssign + let headingShort + | 0 < Map.size assignment = MsgMenuCorrectionsAssignSheet $ Text.intercalate ", " $ fmap CI.original $ Map.keys assignment + | otherwise = MsgMenuCorrectionsAssign headingLong = prependCourseTitle tid ssh csh MsgMenuCorrectionsAssign siteLayoutMsg headingShort $ do setTitleI headingLong diff --git a/templates/corrections-overview.hamlet b/templates/corrections-overview.hamlet index 33f5b1e0a..19d13e265 100644 --- a/templates/corrections-overview.hamlet +++ b/templates/corrections-overview.hamlet @@ -6,7 +6,7 @@
_{MsgAssignSubmissionsRandomWarning} \ No newline at end of file