From f452b2b24f60e3d2cfefee0501d9833e2f7665db Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 7 Aug 2020 20:51:53 +0200 Subject: [PATCH] feat(personalised-sheet-files): i18n --- messages/uniworx/en-eu.msg | 29 +++++++++++++++++++++ src/Handler/Sheet/PersonalisedFiles.hs | 2 -- src/Handler/Sheet/PersonalisedFiles/Meta.hs | 6 +---- test/Handler/Sheet/PersonalisedFilesSpec.hs | 2 +- 4 files changed, 31 insertions(+), 8 deletions(-) diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index 5ab56356b..1fc3b99ee 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -337,6 +337,7 @@ SheetRequiredExam: Exam SheetShowRequiredExam: Required exam registration SheetSubmissionExamRegistrationRequired: Registration for the specified exam is required to download files associated with this exercise sheet and to submit. SheetFilesExamRegistrationRequired: To download files for this exercise sheet or to submit you must first register for the exam mentioned above. +SheetFilesMissingPersonalisedFiles: To submit a course administrator has to first assign you some personalised exercise sheet files. SheetArchiveFileTypeDirectoryExercise: exercise SheetArchiveFileTypeDirectoryHint: hint @@ -475,6 +476,7 @@ UnauthorizedTutorialTime: This tutorial does not currently allow registration. UnauthorizedCourseNewsTime: This news item is not currently available. UnauthorizedExamTime: This exam is not currently available. UnauthorizedSubmissionOwner: You are no submittor for this submission. +UnauthorizedSubmissionPersonalisedSheetFiles: You were not assigned any personalised exercise sheet files and submission is not permitted without them. UnauthorizedSubmissionRated: This submission is not yet marked. UnauthorizedSubmissionCorrector: You are no corrector for this submission. UnauthorizedUserSubmission: Users may not directly submit for this exercise sheet. @@ -1340,6 +1342,8 @@ MenuAllocationPriorities: Central priorities MenuAllocationCompute: Compute allocation MenuAllocationAccept: Accept allocation MenuFaq: FAQ +MenuSheetPersonalisedFiles: Download personalised sheet files +MenuCourseSheetPersonalisedFiles: Download template for personalised sheet files MenuAdminCrontab: Crontab BreadcrumbSubmissionFile: File @@ -1412,6 +1416,8 @@ BreadcrumbAllocationCompute: Compute allocation BreadcrumbAllocationAccept: Accept allocation BreadcrumbMessageHide: Hide BreadcrumbFaq: FAQ +BreadcrumbSheetPersonalisedFiles: Download personalised sheet files +BreadcrumbCourseSheetPersonalisedFiles: Download template for personalised sheet files BreadcrumbAdminCrontab: Crontab ExternalExamEdit coursen examn: Edit: #{coursen}, #{examn} @@ -1454,6 +1460,7 @@ AuthTagCapacity: Capacity is sufficient AuthTagEmpty: Course is empty AuthTagMaterials: Course material is publicly accessable AuthTagOwner: User is owner +AuthTagPersonalisedSheetFiles: User has been assigned personalised sheet files AuthTagRated: Submission is marked AuthTagUserSubmissions: Submissions are made by course participants AuthTagCorrectorSubmissions: Submissions are registered by correctors @@ -2668,7 +2675,29 @@ SubmissionDoneAlways: Always CorrUploadSubmissionDoneMode: Rating finished CorrUploadSubmissionDoneModeTip: Should uploaded corrections be marked as finished? The rating is only visible to the submittors and considered for any exam bonuses if it is finished. +SheetPersonalisedFiles: Personalised sheet files +SheetPersonalisedFilesTip: Should, in addition to the files configured above, each course participant be assigned some personalised sheet files? Only the user to which a file has been assigned may view it. +SheetPersonalisedFilesUpload: Personalised sheet files +SheetPersonalisedFilesUploadTip: Download the template for a ZIP-archive of personalised sheet files, move some files into the directories corresponding to the desired users and upload the archive again. +SheetPersonalisedFilesKeepExisting: Keep existing files +SheetPersonalisedFilesKeepExistingTip: Should the personalised files you upload be added to the already existing ones, if applicable? Otherwise the files you upload will completely replace any existing files. +SheetPersonalisedFilesAllowNonPersonalisedSubmission: Allow non-personalised submission +SheetPersonalisedFilesAllowNonPersonalisedSubmissionTip: Should course participants, to whom no personalised files were assigned, be allowed to submit anyway? +SheetPersonalisedFilesDownloadTemplateHere: You can download a template for a ZIP-archive of personalised sheet files with the structure that Uni2work expects here: +PersonalisedSheetFilesDownloadAnonymous: Anonymised +PersonalisedSheetFilesDownloadSurnames: With surnames +PersonalisedSheetFilesDownloadMatriculations: With matriculation numbers +PersonalisedSheetFilesDownloadGroups: With registered submission groups +CoursePersonalisedSheetFilesArchiveName tid ssh csh: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-personalised_files +PersonalisedSheetFilesArchiveName tid ssh csh shn: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase csh}-#{foldedCase shn}-personalised_files + PersonalisedSheetFilesMetaFilename uid: meta-information_#{toPathPiece uid}.yaml +PersonalisedSheetFilesDownloadAnonymousField: Anonymisation +PersonalisedSheetFilesDownloadAnonymousFieldTip: Should the ZIP-archive of personalised files be anonymised (it would then contain no immediately identifiable information regard the course participants) or should directory names be decorated with an identifiable feature of the user and the files of meta information contain additional personal data? +PersonalisedSheetFilesIgnored count: #{count} uploaded #{pluralEN count "file was" "files were"} ignored because #{pluralEN count "it" "they"} could not be associated with both a sheet file type and a course participant. +PersonalisedSheetFilesIgnoredIntro: The following files were ignored: +CourseUserHasPersonalisedSheetFilesFilter: Participant has personalised sheet files for +SheetPersonalisedFilesUsersList: List of course participants who have personalised sheet files AdminCrontabNotGenerated: Crontab not (yet) generated CronMatchAsap: ASAP diff --git a/src/Handler/Sheet/PersonalisedFiles.hs b/src/Handler/Sheet/PersonalisedFiles.hs index 5c5885df8..cb31b63ff 100644 --- a/src/Handler/Sheet/PersonalisedFiles.hs +++ b/src/Handler/Sheet/PersonalisedFiles.hs @@ -1,5 +1,3 @@ -{-# OPTIONS_GHC -Wno-error=redundant-constraints -Wno-error=unused-top-binds #-} - module Handler.Sheet.PersonalisedFiles ( sinkPersonalisedSheetFiles , getSPersonalFilesR, getCPersonalFilesR diff --git a/src/Handler/Sheet/PersonalisedFiles/Meta.hs b/src/Handler/Sheet/PersonalisedFiles/Meta.hs index 973f18d80..dbbf5f7b2 100644 --- a/src/Handler/Sheet/PersonalisedFiles/Meta.hs +++ b/src/Handler/Sheet/PersonalisedFiles/Meta.hs @@ -1,5 +1,3 @@ -{-# OPTIONS_GHC -Wno-error=redundant-constraints #-} - module Handler.Sheet.PersonalisedFiles.Meta ( formatPersonalisedSheetFilesMeta ) where @@ -33,9 +31,7 @@ data PrettifyState formatPersonalisedSheetFilesMeta - :: ( MonadHandler m - , HandlerSite m ~ UniWorX - ) + :: MonadIO m => PersonalisedSheetFilesDownloadAnonymous -> CourseParticipant -> CryptoFileNameUser diff --git a/test/Handler/Sheet/PersonalisedFilesSpec.hs b/test/Handler/Sheet/PersonalisedFilesSpec.hs index 6ad294f6b..0abcfd34b 100644 --- a/test/Handler/Sheet/PersonalisedFilesSpec.hs +++ b/test/Handler/Sheet/PersonalisedFilesSpec.hs @@ -38,7 +38,7 @@ instance Arbitrary PersonalisedSheetFilesDownloadAnonymous where spec :: Spec -spec = withApp . focus . describe "Personalised sheet file zip encoding" $ do +spec = withApp . describe "Personalised sheet file zip encoding" $ do it "roundtrips" . replicateM_ 10 . runHandler . Yesod.runDB $ do term <- liftIO $ generate arbitrary tid <- insert term