diff --git a/messages/uniworx/misc/de-de-formal.msg b/messages/uniworx/misc/de-de-formal.msg index baf2bacc7..62ac5af4c 100644 --- a/messages/uniworx/misc/de-de-formal.msg +++ b/messages/uniworx/misc/de-de-formal.msg @@ -39,13 +39,47 @@ BtnSystemMessageUnhide: Nicht mehr verstecken BtnCommunicationSend: Senden BtnCommunicationTest: Test-Nachricht verschicken -EmailTable: Email -StudyTermTable: Studiengang -StudyFeatureAgeTable: Fachsemester -StudyFeatureDegreeTable: Abschluss -StudyFeatureTypeTable: -StudyFeatureValidTable: Aktiv -StudyFeatureUpdateTable: Abgeglichen +TableEmail: Email +TableStudyTerm: Studiengang +TableStudyFeatureAge: Fachsemester +TableStudyFeatureDegree: Abschluss +TableStudyFeatureType: +TableStudyFeatureValid: Aktiv +TableStudyFeatureUpdate: Abgeglichen +TableHeadingFilter: Filter + +HeadingLegal: Rechtliche Informationen +SubmissionNew: Abgabe anlegen +ParticipantsList: Kursteilnehmerlisten +ParticipantsIntersect: Überschneidung von Kursteilnehmer:innen +HeadingProfileData: Persönliche Daten +HeadingSchoolList: Institute +HeadingAdminCrontab: Crontab +HeadingAdminTokens: Tokens ausstellen +HeadingAllocationAccept: Platzvergabe akzeptieren +HeadingAllocationCompute: Platzvergabe berechnen +HeadingAllocationInfo: Hinweise zum Ablauf einer Zentralanmeldung +AllocationPriorities: Zentrale Dringlichkeiten +AllocationUsers: Bewerber:innen +HeadingCourseMembers: Kursteilnehmer:innen +HeadingCourseExamOffice: Prüfungsbeauftragte +HeadingExamList: Prüfungen +HeadingExamOfficeFields: Fächer +HeadingExamOfficeUsers: Benutzer:innen +HeadingExternalExamList: Externe Prüfungen +HeadingExternalExamNew: Neue externe Prüfung +SheetPersonalisedFilesDownload: Personalisierte Dateien herunterladen +HeadingCorrectionsAssign: Zuteilung der Korrekturen +HeadingUserAdd: Benutzer:in anlegen +CorrectorsChange: Korrektoren ändern +MaterialList: Material +SheetListCourse: Übungsblätter +HeadingDataProt: Datenschutzerklärung +HeadingTermsUse: Nutzungsbedingungen +HeadingCopyright: Urheberrecht +HeadingImprint: Impressum +CourseApplications: Bewerbungen +CourseNew: Neuen Kurs anlegen FormFieldWorkflowDatasetTip: Mindestens ein gekennzeichnetes Feld pro Datensatz muss ausgefüllt werden @@ -152,7 +186,6 @@ CourseEditDupShort tid@TermId ssh@SchoolId csh@CourseShorthand: Kurs #{tid}-#{ss FFSheetName: Name TermCourseListHeading tid@TermId: Kursübersicht #{tid} TermSchoolCourseListHeading tid@TermId school@SchoolName: Kursübersicht #{tid} für #{school} -CourseListTitle: Alle Kurse TermCourseListTitle tid@TermId: Kurse #{tid} TermSchoolCourseListTitle tid@TermId school@SchoolName: Kurse #{tid} für #{school} CourseNewHeading: Neuen Kurs anlegen @@ -1935,7 +1968,7 @@ CourseApplicationsTableCsvExceptionNoMatchingUser: Bewerber konnte nicht eindeut CourseApplicationsTableCsvExceptionNoMatchingAllocation: Zentralanmeldung konnte nicht eindeutig identifiziert werden CourseApplicationsTableCsvExceptionNoMatchingStudyFeatures: Das angegebene Studienfach konnte keinem Studienfach des Kursteilnehmers zugeordnet werden -TableHeadingFilter: Filter + TableHeadingCsvImport: CSV-Import TableHeadingCsvExport: CSV-Export diff --git a/messages/uniworx/misc/en-eu.msg b/messages/uniworx/misc/en-eu.msg index 1dbf8099a..99aba688b 100644 --- a/messages/uniworx/misc/en-eu.msg +++ b/messages/uniworx/misc/en-eu.msg @@ -39,13 +39,47 @@ BtnSystemMessageUnhide: Unhide BtnCommunicationSend: Send BtnCommunicationTest: Send test message -EmailTable: Email -StudyFeatureTypeTable: -StudyFeatureValidTable: Valid -StudyFeatureUpdateTable: Updated -StudyFeatureAgeTable: Semester -StudyFeatureDegreeTable: Degree -StudyTermTable: Field of study +TableEmail: Email +TableStudyFeatureType: +TableStudyFeatureValid: Valid +TableStudyFeatureUpdate: Updated +TableStudyFeatureAge: Semester +TableStudyFeatureDegree: Degree +TableStudyTerm: Field of study +TableHeadingFilter: Filter + +HeadingLegal: Legal +SubmissionNew: Create submission +ParticipantsList: Lists of course participants +ParticipantsIntersect: Common course participants +HeadingProfileData: Personal information +HeadingSchoolList: Departments +HeadingAdminCrontab: Crontab +HeadingAdminTokens: Issue tokens +HeadingAllocationAccept: Accept allocation +HeadingAllocationCompute: Compute allocation +HeadingAllocationInfo: Information regarding central allocations +AllocationPriorities: Central priorities +AllocationUsers: Applicants +HeadingCourseMembers: Participants +HeadingCourseExamOffice: Exam offices +HeadingExamList: Exams +HeadingExamOfficeFields: Fields of study +HeadingExamOfficeUsers: Users +HeadingExternalExamList: External exams +HeadingExternalExamNew: New external exam +SheetPersonalisedFilesDownload: Download personalised sheet files +HeadingCorrectionsAssign: Assign corrections +HeadingUserAdd: Add user +CorrectorsChange: Adjust correctors +MaterialList: Material +SheetListCourse: Exercise sheets +HeadingDataProt: Data protection +HeadingTermsUse: Terms of use +HeadingCopyright: Copyright +HeadingImprint: Imprint +CourseApplications: Applications +CourseNew: Create new course FormFieldWorkflowDatasetTip: At least one of the marked fields must be filled @@ -152,7 +186,7 @@ CourseEditDupShort tid ssh csh: Could not edit course #{tid}-#{ssh}-#{csh}. Anot FFSheetName: Name TermCourseListHeading tid: Courses #{tid} TermSchoolCourseListHeading tid school: Courses #{tid}, #{school} -CourseListTitle: All courses + TermCourseListTitle tid: Courses #{tid} TermSchoolCourseListTitle tid school: Courses #{tid}, #{school} CourseNewHeading: Create new course @@ -1928,7 +1962,7 @@ CourseApplicationsTableCsvExceptionNoMatchingUser: Applicant could not be identi CourseApplicationsTableCsvExceptionNoMatchingAllocation: Central allocation could not be identified uniquely CourseApplicationsTableCsvExceptionNoMatchingStudyFeatures: The specified field did not match with any of the participant's fields of study -TableHeadingFilter: Filter + TableHeadingCsvImport: CSV import TableHeadingCsvExport: CSV export diff --git a/messages/uniworx/uniworx_new/courses/de-de-formal.msg b/messages/uniworx/uniworx_new/courses/de-de-formal.msg new file mode 100644 index 000000000..71f514117 --- /dev/null +++ b/messages/uniworx/uniworx_new/courses/de-de-formal.msg @@ -0,0 +1 @@ +CourseListTitle: Alle Kurse diff --git a/messages/uniworx/uniworx_new/courses/en-eu.msg b/messages/uniworx/uniworx_new/courses/en-eu.msg new file mode 100644 index 000000000..8a7999378 --- /dev/null +++ b/messages/uniworx/uniworx_new/courses/en-eu.msg @@ -0,0 +1 @@ +CourseListTitle: All courses diff --git a/messages/uniworx/uniworx_new/navigation/menu/de-de-formal.msg b/messages/uniworx/uniworx_new/navigation/menu/de-de-formal.msg index 7abcc28dd..56a5c48a8 100644 --- a/messages/uniworx/uniworx_new/navigation/menu/de-de-formal.msg +++ b/messages/uniworx/uniworx_new/navigation/menu/de-de-formal.msg @@ -1,13 +1,13 @@ MenuAdminHeading: Administration MenuAdminFeaturesHeading: Studiengänge -MenuInfoLecturerTitle: Hinweise für Veranstalter +MenuInfoLecturerTitle: Hinweise für Veranstalter:innen MenuInfoLecturerCourses: Veranstaltungen MenuInfoLecturerExercises: Übungsbetrieb MenuInfoLecturerTutorials: Tutorien MenuInfoLecturerExams: Prüfungen MenuInfoLecturerAllocations: Zentralanmeldungen MenuCsvOptions: CSV-Optionen -MenuCorrectorAssignTitle: Korrektor zuweisen +MenuCorrectorAssignTitle: Korrektor:in zuweisen MenuOpenCourses: Kurse mit offener Registrierung MenuOpenAllocations: Aktive Zentralanmeldungen MenuNews: Aktuell @@ -26,15 +26,15 @@ MenuLogin: Login MenuLogout: Logout MenuAllocationList: Zentralanmeldungen MenuCourseList: Kurse -MenuCourseMembers: Kursteilnehmer -MenuCourseAddMembers: Kursteilnehmer hinzufügen +MenuCourseMembers: Kursteilnehmer:innen +MenuCourseAddMembers: KursteilnehmerInnen hinzufügen MenuCourseCommunication: Kursmitteilung (E-Mail) MenuCourseApplications: Bewerbungen MenuCourseExamOffice: Prüfungsbeauftragte MenuTermShow: Semester MenuSubmissionDelete: Abgabe löschen -MenuUsers: Benutzer -MenuUserAdd: Benutzer anlegen +MenuUsers: Benutzer:in +MenuUserAdd: Benutzer:in anlegen MenuUserNotifications: Benachrichtigungs-Einstellungen MenuUserPassword: Passwort MenuAdminTest: Admin-Demo @@ -59,14 +59,13 @@ MenuTutorialList: Tutorien MenuTutorialNew: Neues Tutorium anlegen MenuSheetNew: Neues Übungsblatt anlegen MenuSheetCurrent: Aktuelles Übungsblatt -MenuSheetOldUnassigned: Abgaben ohne Korrektor +MenuSheetOldUnassigned: Abgaben ohne Korrektor:in MenuCourseEdit: Kurs editieren MenuCourseClone: Als neuen Kurs klonen MenuCourseDelete: Kurs löschen MenuSubmissionNew: Abgabe anlegen MenuSubmissionOwn: Abgabe -MenuCorrectors: Korrektoren -MenuCorrectorsChange: Korrektoren ändern +MenuCorrectors: Korrektor:innen MenuSheetEdit: Übungsblatt editieren MenuSheetDelete: Übungsblatt löschen MenuSheetClone: Als neues Übungsblatt klonen @@ -79,35 +78,35 @@ MenuCorrectionsAssignSheet name@Text: Zuteilung der Korrekturen von #{name} MenuAuthPreds: Authorisierungseinstellungen MenuTutorialDelete: Tutorium löschen MenuTutorialEdit: Tutorium editieren -MenuTutorialComm: Mitteilung an Teilnehmer +MenuTutorialComm: Mitteilung an Teilnehmer:innen MenuExamList: Prüfungen MenuExamNew: Neue Prüfung anlegen MenuExamEdit: Prüfung bearbeiten -MenuExamUsers: Teilnehmer +MenuExamUsers: Teilnehmer:innen MenuExamGrades: Prüfungsleistungen MenuExamAddMembers: Prüfungsteilnehmer hinzufügen MenuExamCorrect: Prüfungsergebnisse eintragen MenuExamOfficeExams: Prüfungen MenuExamOfficeFields: Fächer -MenuExamOfficeUsers: Benutzer +MenuExamOfficeUsers: Benutzer:innen MenuLecturerInvite: Funktionäre hinzufügen MenuAllocationInfo: Hinweise zum Ablauf einer Zentralanmeldung MenuCourseApplicationsFiles: Dateien aller Bewerbungen MenuSchoolList: Institute MenuSchoolNew: Neues Institut anlegen MenuExternalExamGrades: Prüfungsleistungen -MenuExternalExamUsers: Teilnehmer +MenuExternalExamUsers: Teilnehmer:innen MenuExternalExamEdit: Bearbeiten MenuExternalExamNew: Neue externe Prüfung MenuExternalExamList: Externe Prüfungen MenuExternalExamCorrect: Prüfungsleistungen eintragen MenuParticipantsList: Kursteilnehmerlisten -MenuParticipantsIntersect: Überschneidung von Kursteilnehmern -MenuAllocationUsers: Bewerber +MenuParticipantsIntersect: Überschneidung von Kursteilnehmer:innen +MenuAllocationUsers: Bewerber:innen MenuAllocationPriorities: Zentrale Dringlichkeiten MenuAllocationCompute: Platzvergabe berechnen -MenuAllocationAccept: Platzvergabe akzeptieren -MenuAllocationAddUser: Bewerber hinzufügen + +MenuAllocationAddUser: Bewerber:in hinzufügen MenuFaq: FAQ MenuSheetPersonalisedFiles: Personalisierte Dateien herunterladen MenuCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen diff --git a/messages/uniworx/uniworx_new/navigation/menu/en-eu.msg b/messages/uniworx/uniworx_new/navigation/menu/en-eu.msg index f4935a7b3..828ca3c32 100644 --- a/messages/uniworx/uniworx_new/navigation/menu/en-eu.msg +++ b/messages/uniworx/uniworx_new/navigation/menu/en-eu.msg @@ -66,7 +66,7 @@ MenuCourseDelete: Delete course MenuSubmissionNew: Create submission MenuSubmissionOwn: Submission MenuCorrectors: Correctors -MenuCorrectorsChange: Adjust correctors + MenuSheetEdit: Edit exercise sheet MenuSheetDelete: Delete exercise sheet MenuSheetClone: Clone exercise sheet @@ -106,7 +106,7 @@ MenuParticipantsIntersect: Common course participants MenuAllocationUsers: Applicants MenuAllocationPriorities: Central priorities MenuAllocationCompute: Compute allocation -MenuAllocationAccept: Accept allocation + MenuAllocationAddUser: Add applicant MenuFaq: FAQ MenuSheetPersonalisedFiles: Download personalised sheet files diff --git a/src/Foundation/I18n.hs b/src/Foundation/I18n.hs index 10c540a10..fce9dff7f 100644 --- a/src/Foundation/I18n.hs +++ b/src/Foundation/I18n.hs @@ -5,6 +5,7 @@ module Foundation.I18n ( appLanguages, appLanguagesOpts , UniWorXMessage(..), UniWorXTestMessage(..), UniWorXSettingsMessage(..) , UniWorXHelpMessage(..), UniWorXNavigationMessage(..), UniWorXWorkflowMessage(..) + , UniWorXCourseMessage(..) , ShortTermIdentifier(..) , MsgLanguage(..) , ShortSex(..) @@ -138,6 +139,7 @@ mkMessageAddition ''UniWorX "Settings" "messages/uniworx/uniworx_new/settings" " mkMessageAddition ''UniWorX "Help" "messages/uniworx/uniworx_new/help" "de-de-formal" mkMessageAddition ''UniWorX "Navigation" "messages/uniworx/uniworx_new/navigation" "de-de-formal" mkMessageAddition ''UniWorX "Workflow" "messages/uniworx/uniworx_new/workflows" "de-de-formal" +mkMessageAddition ''UniWorX "Course" "messages/uniworx/uniworx_new/courses" "de-de-formal" mkMessageVariant ''UniWorX ''CampusMessage "messages/auth/campus" "de" mkMessageVariant ''UniWorX ''DummyMessage "messages/auth/dummy" "de" mkMessageVariant ''UniWorX ''PWHashMessage "messages/auth/pw-hash" "de" diff --git a/src/Handler/Admin/Crontab.hs b/src/Handler/Admin/Crontab.hs index 18225b5cb..2f83e2eaf 100644 --- a/src/Handler/Admin/Crontab.hs +++ b/src/Handler/Admin/Crontab.hs @@ -46,8 +46,8 @@ getAdminCrontabR = do encodeBearer =<< bearerToken (HashSet.singleton . Left $ toJSON UserGroupCrontab) Nothing (HashMap.singleton BearerTokenRouteEval $ HashSet.singleton AdminCrontabR) Nothing (Just Nothing) Nothing - siteLayoutMsg MsgMenuAdminCrontab $ do - setTitleI MsgMenuAdminCrontab + siteLayoutMsg MsgHeadingAdminCrontab $ do + setTitleI MsgHeadingAdminCrontab [whamlet| $newline never $maybe t <- crontabBearer diff --git a/src/Handler/Admin/Tokens.hs b/src/Handler/Admin/Tokens.hs index f78bb5c1b..1fb765236 100644 --- a/src/Handler/Admin/Tokens.hs +++ b/src/Handler/Admin/Tokens.hs @@ -88,8 +88,8 @@ postAdminTokensR = do fmap Just . encodeBearer . set _bearerRestrictions btfRestrict =<< bearerToken btfAuthority' Nothing (maybe HashMap.empty (HashMap.singleton BearerTokenRouteEval) btfRoutes) btfAddAuth btfExpiresAt btfStartsAt - siteLayoutMsg MsgMenuAdminTokens $ do - setTitleI MsgMenuAdminTokens + siteLayoutMsg MsgHeadingAdminTokens $ do + setTitleI MsgHeadingAdminTokens let bearerForm = wrapForm bearerView def { formMethod = POST diff --git a/src/Handler/Allocation/Accept.hs b/src/Handler/Allocation/Accept.hs index 865f356f0..b148122ea 100644 --- a/src/Handler/Allocation/Accept.hs +++ b/src/Handler/Allocation/Accept.hs @@ -157,8 +157,8 @@ postAAcceptR tid ssh ash = do addMessageI Success MsgAllocationAccepted redirect $ AllocationR tid ssh ash AUsersR - siteLayoutMsg MsgMenuAllocationAccept $ do - setTitleI MsgMenuAllocationAccept + siteLayoutMsg MsgHeadingAllocationAccept $ do + setTitleI MsgHeadingAllocationAccept wrapForm' BtnAllocationAccept acceptView def { formEncoding = acceptEnctype diff --git a/src/Handler/Allocation/Compute.hs b/src/Handler/Allocation/Compute.hs index bf13fa05a..3f92a055d 100644 --- a/src/Handler/Allocation/Compute.hs +++ b/src/Handler/Allocation/Compute.hs @@ -142,8 +142,8 @@ postAComputeR tid ssh ash = do return (aEnt, formRes) - siteLayoutMsg MsgMenuAllocationCompute $ do - setTitleI MsgMenuAllocationCompute + siteLayoutMsg MsgHeadingAllocationCompute $ do + setTitleI MsgHeadingAllocationCompute wrapForm' BtnAllocationCompute computeFormView def { formEncoding = computeFormEnctype diff --git a/src/Handler/Allocation/Info.hs b/src/Handler/Allocation/Info.hs index f6aacf063..ddabf2e75 100644 --- a/src/Handler/Allocation/Info.hs +++ b/src/Handler/Allocation/Info.hs @@ -8,6 +8,6 @@ import Handler.Utils getInfoAllocationR :: Handler Html getInfoAllocationR = - siteLayoutMsg MsgMenuAllocationInfo $ do - setTitleI MsgMenuAllocationInfo + siteLayoutMsg MsgHeadingAllocationInfo $ do + setTitleI MsgHeadingAllocationInfo $(i18nWidgetFile "allocation-info") diff --git a/src/Handler/Allocation/Prios.hs b/src/Handler/Allocation/Prios.hs index 9d5621c1e..092aed617 100644 --- a/src/Handler/Allocation/Prios.hs +++ b/src/Handler/Allocation/Prios.hs @@ -83,7 +83,7 @@ postAPriosR tid ssh ash = do addMessageI Error $ MsgAllocationPrioritiesMissing matrMissing redirect $ AllocationR tid ssh ash AUsersR - siteLayoutMsg MsgMenuAllocationPriorities $ do + siteLayoutMsg MsgAllocationPriorities $ do setTitleI $ MsgAllocationPrioritiesTitle tid ssh ash let priosForm = wrapForm priosView def diff --git a/src/Handler/Allocation/Show.hs b/src/Handler/Allocation/Show.hs index c5fab129a..3c0f0fd85 100644 --- a/src/Handler/Allocation/Show.hs +++ b/src/Handler/Allocation/Show.hs @@ -198,7 +198,7 @@ postAShowR tid ssh ash = do ^{wdgt} |] let daysToRegistrationStart = assertM (>0) $ (`diffUTCTime` now) <$> allocationRegisterFrom - allocationInfoModal = modal [whamlet|_{MsgMenuAllocationInfo}|] $ Left $ SomeRoute InfoAllocationR + allocationInfoModal = modal [whamlet|_{MsgHeadingAllocationInfo}|] $ Left $ SomeRoute InfoAllocationR numCourses = length courses numAppliedCourses = lengthOf (folded . _2 . _Just) courses $(widgetFile "allocation/show") diff --git a/src/Handler/Allocation/Users.hs b/src/Handler/Allocation/Users.hs index b3db4fca5..104d0193b 100644 --- a/src/Handler/Allocation/Users.hs +++ b/src/Handler/Allocation/Users.hs @@ -335,7 +335,7 @@ postAUsersR tid ssh ash = do , formEncoding = acceptEnctype } - siteLayoutMsg MsgMenuAllocationUsers $ do + siteLayoutMsg MsgAllocationUsers $ do setTitleI $ MsgAllocationUsersTitle tid ssh ash $(widgetFile "allocation/users") diff --git a/src/Handler/Course/Users.hs b/src/Handler/Course/Users.hs index 0115cf78a..9f5bd47e2 100644 --- a/src/Handler/Course/Users.hs +++ b/src/Handler/Course/Users.hs @@ -684,7 +684,7 @@ postCUsersR tid ssh csh = do sendResponse <=< serveZipArchive' archiveName $ sourcePersonalisedSheetFiles cid (Just shId) (Just selectedUsers) anonMode Set.empty - let headingLong = [whamlet|_{MsgMenuCourseMembers} #{courseName} #{tid}|] + let headingLong = [whamlet|_{MsgHeadingCourseMembers} #{courseName} #{tid}|] headingShort = prependCourseTitle tid ssh csh MsgCourseMembers siteLayout headingLong $ do setTitleI headingShort diff --git a/src/Handler/ExamOffice/Course.hs b/src/Handler/ExamOffice/Course.hs index 6ed103c3d..651ede248 100644 --- a/src/Handler/ExamOffice/Course.hs +++ b/src/Handler/ExamOffice/Course.hs @@ -61,8 +61,8 @@ postCExamOfficeR tid ssh csh = do , formAttrs = [ asyncSubmitAttr | isModal ] } - siteLayoutMsg MsgMenuCourseExamOffice $ do - setTitleI MsgMenuCourseExamOffice + siteLayoutMsg MsgHeadingCourseExamOffice $ do + setTitleI MsgHeadingCourseExamOffice let explanation = $(i18nWidgetFile "course-exam-office-explanation") diff --git a/src/Handler/ExamOffice/Exams.hs b/src/Handler/ExamOffice/Exams.hs index 7b98ed007..888800eff 100644 --- a/src/Handler/ExamOffice/Exams.hs +++ b/src/Handler/ExamOffice/Exams.hs @@ -222,6 +222,6 @@ getEOExamsR = do dbTableWidget' examsDBTableValidator examsDBTable - siteLayoutMsg MsgMenuExamList $ do - setTitleI MsgMenuExamList + siteLayoutMsg MsgHeadingExamList $ do + setTitleI MsgHeadingExamList examsTable diff --git a/src/Handler/ExamOffice/Fields.hs b/src/Handler/ExamOffice/Fields.hs index 53395acfc..bd69d7b5d 100644 --- a/src/Handler/ExamOffice/Fields.hs +++ b/src/Handler/ExamOffice/Fields.hs @@ -104,8 +104,8 @@ postEOFieldsR = do , formEncoding = fieldsEnc } - siteLayoutMsg MsgMenuExamOfficeFields $ do - setTitleI MsgMenuExamOfficeFields + siteLayoutMsg MsgHeadingExamOfficeFields $ do + setTitleI MsgHeadingExamOfficeFields [whamlet| $newline never diff --git a/src/Handler/ExamOffice/Users.hs b/src/Handler/ExamOffice/Users.hs index d3ca9e274..c12090101 100644 --- a/src/Handler/ExamOffice/Users.hs +++ b/src/Handler/ExamOffice/Users.hs @@ -174,8 +174,8 @@ postEOUsersR = do , formEncoding = usersEnc } - siteLayoutMsg MsgMenuExamOfficeUsers $ do - setTitleI MsgMenuExamOfficeUsers + siteLayoutMsg MsgHeadingExamOfficeUsers $ do + setTitleI MsgHeadingExamOfficeUsers [whamlet| $newline never diff --git a/src/Handler/ExternalExam/List.hs b/src/Handler/ExternalExam/List.hs index 738ef5fe1..112a9a3ce 100644 --- a/src/Handler/ExternalExam/List.hs +++ b/src/Handler/ExternalExam/List.hs @@ -77,7 +77,7 @@ getEExamListR = do examTable <- runDB $ dbTableWidget' examDBTableValidator examDBTable - let heading = MsgMenuExternalExamList + let heading = MsgHeadingExternalExamList siteLayoutMsg heading $ do setTitleI heading diff --git a/src/Handler/ExternalExam/New.hs b/src/Handler/ExternalExam/New.hs index e4f7dffac..c509705c3 100644 --- a/src/Handler/ExternalExam/New.hs +++ b/src/Handler/ExternalExam/New.hs @@ -62,7 +62,7 @@ postEExamNewR = do addMessageI Success $ MsgExternalExamCreated eefCourseName eefExamName redirect $ EExamR eefTerm eefSchool eefCourseName eefExamName EEShowR - let heading = MsgMenuExternalExamNew + let heading = MsgHeadingExternalExamNew siteLayoutMsg heading $ do setTitleI heading diff --git a/src/Handler/Info.hs b/src/Handler/Info.hs index f12f96e44..2dc046526 100644 --- a/src/Handler/Info.hs +++ b/src/Handler/Info.hs @@ -27,7 +27,7 @@ getVersionR = selectRep $ do -- | Datenschutzerklaerung und Aufbewahrungspflichten, Nutzungsbedingungen, Urheberrecht, Impressum getLegalR :: Handler Html getLegalR = - siteLayoutMsg MsgMenuLegal $ do + siteLayoutMsg MsgHeadingLegal $ do setTitleI MsgLegalHeading let dataProtection = $(i18nWidgetFile "data-protection") termsUse = $(i18nWidgetFile "terms-of-use") diff --git a/src/Handler/News.hs b/src/Handler/News.hs index ab8c765b4..500a81d58 100644 --- a/src/Handler/News.hs +++ b/src/Handler/News.hs @@ -151,7 +151,7 @@ newsUpcomingSheets uid = do Nothing -> cell $ do let submitRoute = CSheetR tid ssh csh shn SubmissionNewR whenM (hasWriteAccessTo submitRoute) $ - modal [whamlet|_{MsgMenuSubmissionNew}|] . Left $ SomeRoute submitRoute + modal [whamlet|_{MsgSubmissionNew}|] . Left $ SomeRoute submitRoute (Just sid) -> anchorCellM (CSubmissionR tid ssh csh shn <$> encrypt sid <*> pure SubShowR) (hasTickmark True) ] diff --git a/src/Handler/Participants.hs b/src/Handler/Participants.hs index 1bd09384c..7d2f6ee82 100644 --- a/src/Handler/Participants.hs +++ b/src/Handler/Participants.hs @@ -56,8 +56,8 @@ getParticipantsListR = do let schoolTerms :: Set (SchoolId, TermId) schoolTerms = setOf (folded . $(multifocusG 2) (_1 . _Value) (_2 . _Value)) schoolTerms' - siteLayoutMsg MsgMenuParticipantsList $ do - setTitleI MsgMenuParticipantsList + siteLayoutMsg MsgParticipantsList $ do + setTitleI MsgParticipantsList let schools :: Set SchoolId schools = Set.map (view _1) schoolTerms @@ -130,6 +130,6 @@ postParticipantsIntersectR = do lIxed = zip [0..] - siteLayoutMsg MsgMenuParticipantsIntersect $ do - setTitleI MsgMenuParticipantsIntersect + siteLayoutMsg MsgParticipantsIntersect $ do + setTitleI MsgParticipantsIntersect $(widgetFile "participants-intersect") diff --git a/src/Handler/Profile.hs b/src/Handler/Profile.hs index e57de169b..13a4369f2 100644 --- a/src/Handler/Profile.hs +++ b/src/Handler/Profile.hs @@ -449,7 +449,7 @@ getProfileDataR = do userEnt <- requireAuth dataWidget <- runDB $ makeProfileData userEnt defaultLayout $ do - setTitleI MsgMenuProfileData + setTitleI MsgHeadingProfileData dataWidget makeProfileData :: Entity User -> DB Widget diff --git a/src/Handler/School.hs b/src/Handler/School.hs index 7d590b6c4..db3e696f7 100644 --- a/src/Handler/School.hs +++ b/src/Handler/School.hs @@ -55,7 +55,7 @@ getSchoolListR = do table <- runDB $ dbTableWidget' psValidator DBTable{..} - let title = MsgMenuSchoolList + let title = MsgHeadingSchoolList siteLayoutMsg title $ do setTitleI title table diff --git a/src/Handler/Sheet/Form.hs b/src/Handler/Sheet/Form.hs index f70b3d473..c6a1befa7 100644 --- a/src/Handler/Sheet/Form.hs +++ b/src/Handler/Sheet/Form.hs @@ -111,7 +111,7 @@ makeSheetForm cId msId template = identifyForm FIDsheet . validateForm validateS = [whamlet| $newline never #{iconFileZip} - \ _{MsgMenuSheetPersonalisedFiles} + \ _{MsgSheetPersonalisedFilesDownload} |] listRoute <- for mbSheet $ \(sheetName -> shn) -> toTextUrl ( CourseR courseTerm courseSchool courseShorthand CUsersR diff --git a/src/Handler/Sheet/PersonalisedFiles.hs b/src/Handler/Sheet/PersonalisedFiles.hs index 6e97c10d8..c406f083d 100644 --- a/src/Handler/Sheet/PersonalisedFiles.hs +++ b/src/Handler/Sheet/PersonalisedFiles.hs @@ -402,8 +402,8 @@ getPersonalFilesR cId mbsid = do isModal <- hasCustomHeader HeaderIsModal - fmap toTypedContent . siteLayoutMsg MsgMenuSheetPersonalisedFiles $ do - setTitleI MsgMenuSheetPersonalisedFiles + fmap toTypedContent . siteLayoutMsg MsgSheetPersonalisedFiles $ do + setTitleI MsgSheetPersonalisedFiles wrapForm psfWdgt def { formMethod = GET , formAction = SomeRoute <$> cRoute diff --git a/src/Handler/Submission/Assign.hs b/src/Handler/Submission/Assign.hs index 929df786e..3b5e42a30 100644 --- a/src/Handler/Submission/Assign.hs +++ b/src/Handler/Submission/Assign.hs @@ -259,8 +259,8 @@ assignHandler tid ssh csh cid assignSids = do showAvgsDays :: Maybe NominalDiffTime -> Integer -> Text showAvgsDays Nothing _ = mempty showAvgsDays (Just dt) n = formatDiffDays $ dt / fromIntegral n - let headingShort = MsgMenuCorrectionsAssign - headingLong = prependCourseTitle tid ssh csh MsgMenuCorrectionsAssign + let headingShort = MsgHeadingCorrectionsAssign + headingLong = prependCourseTitle tid ssh csh MsgHeadingCorrectionsAssign unassignableSheets = filter (`Map.notMember` assignment) assignSheetNames unless (null unassignableSheets) $ addMessageI Warning $ MsgSheetsUnassignable $ Text.intercalate ", " $ fmap CI.original unassignableSheets diff --git a/src/Handler/Users/Add.hs b/src/Handler/Users/Add.hs index ab7364388..01196e7ec 100644 --- a/src/Handler/Users/Add.hs +++ b/src/Handler/Users/Add.hs @@ -110,8 +110,8 @@ postAdminUserAddR = do Nothing -> addMessageI Error MsgUserCollision - siteLayoutMsg MsgMenuUserAdd $ do - setTitleI MsgMenuUserAdd + siteLayoutMsg MsgHeadingUserAdd $ do + setTitleI MsgHeadingUserAdd wrapForm userView def { formAction = Just $ SomeRoute AdminUserAddR , formEncoding = userEnctype diff --git a/src/Handler/Utils.hs b/src/Handler/Utils.hs index d80ed079d..a44d3a5d1 100644 --- a/src/Handler/Utils.hs +++ b/src/Handler/Utils.hs @@ -89,7 +89,7 @@ studyFeaturesWidget featId = do (StudyFeatures{studyFeaturesSemester}, (degree, terms)) <- liftHandler . runDB . ($ featId) . runKleisli $ Kleisli getJust >>> Kleisli return &&& Kleisli (getJust . studyFeaturesDegree) &&& Kleisli (getJust . studyFeaturesField) [whamlet| $newline never - _{StudyDegreeTerm degree terms}, _{MsgStudyFeatureAgeTable} #{studyFeaturesSemester} + _{StudyDegreeTerm degree terms}, _{MsgTableStudyFeatureAge} #{studyFeaturesSemester} |] diff --git a/src/Handler/Utils/Table/Columns.hs b/src/Handler/Utils/Table/Columns.hs index 8182899a1..a3963ea54 100644 --- a/src/Handler/Utils/Table/Columns.hs +++ b/src/Handler/Utils/Table/Columns.hs @@ -590,7 +590,7 @@ fltrUserMatriclenrUI mPrev = ---------------- -- User E-Mail colUserEmail :: (IsDBTable m c, HasUser a) => Colonnade Sortable a (DBCell m c) -colUserEmail = sortable (Just "user-email") (i18nCell MsgEmailTable) cellHasEMail +colUserEmail = sortable (Just "user-email") (i18nCell MsgTableEmail) cellHasEMail sortUserEmail :: IsString d => (t -> E.SqlExpr (Entity User)) -> (d, SortColumn t r') sortUserEmail queryUser = ( "user-email", SortColumn $ queryUser >>> (E.^. UserEmail)) @@ -604,7 +604,7 @@ fltrUserEmail queryUser = ("user-email", FilterColumn . mkContainsFilter $ query fltrUserEmailUI :: Maybe (Map FilterKey [Text]) -> AForm (YesodDB UniWorX) (Map FilterKey [Text]) fltrUserEmailUI mPrev = - prismAForm (singletonFilter "user-email") mPrev $ aopt textField (fslI MsgEmailTable) + prismAForm (singletonFilter "user-email") mPrev $ aopt textField (fslI MsgTableEmail) -------------------- @@ -614,7 +614,7 @@ fltrUserEmailUI mPrev = colStudyDegree :: OpticColonnade StudyDegree colStudyDegree resultDegree = Colonnade.singleton (fromSortable header) body where - header = Sortable (Just "features-degree") (i18nCell MsgStudyFeatureDegreeTable) + header = Sortable (Just "features-degree") (i18nCell MsgTableStudyFeatureDegree) body = views resultDegree $ \StudyDegree{..} -> cell . maybe (toWidget $ toMarkup studyDegreeKey) toWidget $ studyDegreeShorthand <|> studyDegreeName @@ -648,13 +648,13 @@ fltrStudyDegree queryDegree = singletonMap "features-degree" . FilterColumn $ an unSqlProject' = E.unSqlProject (Proxy @StudyDegree) (Proxy @studyDegree) fltrStudyDegreeUI :: DBFilterUI -fltrStudyDegreeUI mPrev = prismAForm (singletonFilter "features-degree") mPrev $ aopt textField (fslI MsgStudyFeatureDegreeTable) +fltrStudyDegreeUI mPrev = prismAForm (singletonFilter "features-degree") mPrev $ aopt textField (fslI MsgTableStudyFeatureDegree) colStudyTerms :: OpticColonnade StudyTerms colStudyTerms resultTerms = Colonnade.singleton (fromSortable header) body where - header = Sortable (Just "features-terms") (i18nCell MsgStudyTermTable) + header = Sortable (Just "features-terms") (i18nCell MsgTableStudyTerm) body = views resultTerms $ \StudyTerms{..} -> cell . maybe (toWidget $ toMarkup studyTermsKey) toWidget $ studyTermsShorthand <|> studyTermsName @@ -688,13 +688,13 @@ fltrStudyTerms queryTerms = singletonMap "features-terms" . FilterColumn $ anyFi unSqlProject' = E.unSqlProject (Proxy @StudyTerms) (Proxy @studyTerms) fltrStudyTermsUI :: DBFilterUI -fltrStudyTermsUI mPrev = prismAForm (singletonFilter "features-terms") mPrev $ aopt textField (fslI MsgStudyTermTable) +fltrStudyTermsUI mPrev = prismAForm (singletonFilter "features-terms") mPrev $ aopt textField (fslI MsgTableStudyTerm) colStudyFeaturesSemester :: OpticColonnade Int colStudyFeaturesSemester resultSemester = Colonnade.singleton (fromSortable header) body where - header = Sortable (Just "features-semester") (i18nCell MsgStudyFeatureAgeTable) + header = Sortable (Just "features-semester") (i18nCell MsgTableStudyFeatureAge) body = views resultSemester $ cell . toWidget . toMarkup sortStudyFeaturesSemester :: forall semester. PersistField semester => OpticSortColumn semester @@ -711,11 +711,11 @@ fltrStudyFeaturesSemester querySemester = singletonMap "features-semester" . Fil unSqlProject' = E.unSqlProject (Proxy @StudyFeatures) (Proxy @studyFeatures) fltrStudyFeaturesSemesterUI :: DBFilterUI -fltrStudyFeaturesSemesterUI mPrev = prismAForm (singletonFilter "features-semester" . maybePrism _PathPiece) mPrev $ aopt (intField :: Field _ Int) (fslI MsgStudyFeatureAgeTable) +fltrStudyFeaturesSemesterUI mPrev = prismAForm (singletonFilter "features-semester" . maybePrism _PathPiece) mPrev $ aopt (intField :: Field _ Int) (fslI MsgTableStudyFeatureAge) colFeaturesSemester :: (IsDBTable m c, HasStudyFeatures x) => Getting (Leftmost x) a x -> Colonnade Sortable a (DBCell m c) -colFeaturesSemester feature = sortable (Just "features-semester") (i18nCell MsgStudyFeatureAgeTable) $ maybe mempty cellHasSemester . firstOf feature +colFeaturesSemester feature = sortable (Just "features-semester") (i18nCell MsgTableStudyFeatureAge) $ maybe mempty cellHasSemester . firstOf feature sortFeaturesSemester :: IsString d => (t -> E.SqlExpr (Maybe (Entity StudyFeatures))) -> (d, SortColumn t r') sortFeaturesSemester queryFeatures = ("features-semester", SortColumn $ queryFeatures >>> (E.?. StudyFeaturesSemester)) @@ -729,11 +729,11 @@ fltrFeaturesSemester queryFeatures = ("features-semester", FilterColumn . mkExac fltrFeaturesSemesterUI :: Maybe (Map FilterKey [Text]) -> AForm (YesodDB UniWorX) (Map FilterKey [Text]) fltrFeaturesSemesterUI mPrev = - prismAForm (singletonFilter "features-semester" . maybePrism _PathPiece) mPrev $ aopt (intField :: Field (YesodDB UniWorX) Int) (fslI MsgStudyFeatureAgeTable) + prismAForm (singletonFilter "features-semester" . maybePrism _PathPiece) mPrev $ aopt (intField :: Field (YesodDB UniWorX) Int) (fslI MsgTableStudyFeatureAge) colField :: (IsDBTable m c, HasStudyTerms x) => Getting (Leftmost x) a x -> Colonnade Sortable a (DBCell m c) -colField terms = sortable (Just "terms") (i18nCell MsgStudyTermTable) $ maybe mempty cellHasField . firstOf terms +colField terms = sortable (Just "terms") (i18nCell MsgTableStudyTerm) $ maybe mempty cellHasField . firstOf terms sortField :: IsString d => (t -> E.SqlExpr (Maybe (Entity StudyTerms))) -> (d, SortColumn t r') sortField queryTerms = ("terms", SortColumn $ queryTerms >>> (E.?. StudyTermsName)) @@ -753,7 +753,7 @@ fltrField queryFeatures = ( "terms" fltrFieldUI :: Maybe (Map FilterKey [Text]) -> AForm (YesodDB UniWorX) (Map FilterKey [Text]) fltrFieldUI mPrev = - prismAForm (singletonFilter "terms") mPrev $ aopt textField (fslI MsgStudyTermTable) + prismAForm (singletonFilter "terms") mPrev $ aopt textField (fslI MsgTableStudyTerm) colDegreeShort :: (IsDBTable m c, HasStudyDegree x) => Getting (Leftmost x) a x -> Colonnade Sortable a (DBCell m c) diff --git a/templates/corrections-overview.hamlet b/templates/corrections-overview.hamlet index d3a45dc65..52aaf7f22 100644 --- a/templates/corrections-overview.hamlet +++ b/templates/corrections-overview.hamlet @@ -133,7 +133,7 @@ $newline never $maybe CorrectionInfo{ciSubmissions} <- Map.lookup shn sheetMap
diff --git a/templates/course/applications-list.hamlet b/templates/course/applications-list.hamlet
index cc6a07744..13166ffd4 100644
--- a/templates/course/applications-list.hamlet
+++ b/templates/course/applications-list.hamlet
@@ -24,6 +24,6 @@ $if mayAccept
^{acceptWgt}
_{MsgMenuCourseApplications}
+
_{MsgCourseApplications}
^{notification NotificationBroad =<< messageWidget Warning studyFeaturesWarning}
^{table}
diff --git a/templates/course/user/profile.hamlet b/templates/course/user/profile.hamlet
index f81c4f92a..c7735544e 100644
--- a/templates/course/user/profile.hamlet
+++ b/templates/course/user/profile.hamlet
@@ -18,7 +18,7 @@ $newline never
$maybe sex <- guardOn showSex =<< userSex
- _{MsgStudyTermTable}
- _{MsgStudyFeatureDegreeTable}
- _{MsgStudyFeatureTypeTable}
- _{MsgStudyFeatureAgeTable}
- _{MsgStudyFeatureValidTable}
- _{MsgStudyFeatureUpdateTable}
+ _{MsgTableStudyTerm}
+ _{MsgTableStudyFeatureDegree}
+ _{MsgTableStudyFeatureType}
+ _{MsgTableStudyFeatureAge}
+ _{MsgTableStudyFeatureValid}
+ _{MsgTableStudyFeatureUpdate}
$forall ((Entity _ StudyFeatures{studyFeaturesType, studyFeaturesSemester, studyFeaturesValid, studyFeaturesFirstObserved, studyFeaturesLastObserved}), (Entity _ degree), (Entity _ field)) <- studies
_{field}
diff --git a/templates/legal.hamlet b/templates/legal.hamlet
index 19da4cf8d..e4794ca5d 100644
--- a/templates/legal.hamlet
+++ b/templates/legal.hamlet
@@ -2,20 +2,20 @@ $newline never
- _{MsgMenuDataProt}
+ _{MsgHeadingDataProt}
^{dataProtection}
- _{MsgMenuTermsUse}
+ _{MsgHeadingTermsUse}
^{termsUse}
- _{MsgMenuCopyright}
+ _{MsgHeadingCopyright}
^{copyright}
- _{MsgMenuImprint}
+ _{MsgHeadingImprint}
^{imprint}
diff --git a/templates/mail/allocationStaffRegister.hamlet b/templates/mail/allocationStaffRegister.hamlet
index bdea14cca..36f911e11 100644
--- a/templates/mail/allocationStaffRegister.hamlet
+++ b/templates/mail/allocationStaffRegister.hamlet
@@ -30,7 +30,7 @@ $newline never
_{SomeMessage MsgMailAllocationStaffRegisterNewCourse}
- _{SomeMessage MsgMenuCourseNew}
+ _{SomeMessage MsgCourseNew}
$if doRegisterDeadlines
$if singleRegisterDeadline
diff --git a/templates/profileData.hamlet b/templates/profileData.hamlet
index 9b4beac6d..3495b36b9 100644
--- a/templates/profileData.hamlet
+++ b/templates/profileData.hamlet
@@ -19,7 +19,7 @@ $newline never
- _{MsgStudyTermTable}
- _{MsgStudyFeatureDegreeTable}
- _{MsgStudyFeatureTypeTable}
- _{MsgStudyFeatureAgeTable}
- _{MsgStudyFeatureValidTable}
- _{MsgStudyFeatureUpdateTable}
+ _{MsgTableStudyTerm}
+ _{MsgTableStudyFeatureDegree}
+ _{MsgTableStudyFeatureType}
+ _{MsgTableStudyFeatureAge}
+ _{MsgTableStudyFeatureValid}
+ _{MsgTableStudyFeatureUpdate}
$forall ((Entity _ StudyFeatures{studyFeaturesType, studyFeaturesSemester, studyFeaturesValid, studyFeaturesFirstObserved, studyFeaturesLastObserved}), (Entity _ degree), (Entity _ field)) <- studies