diff --git a/messages/uniworx/de.msg b/messages/uniworx/de.msg index 5be0bb805..8ff7ed969 100644 --- a/messages/uniworx/de.msg +++ b/messages/uniworx/de.msg @@ -7,8 +7,8 @@ BtnRegister: Anmelden BtnDeregister: Abmelden BtnCourseRegister: Zum Kurs anmelden BtnCourseDeregister: Vom Kurs abmelden -BtnExamRegister: Anmelden zur Klausur -BtnExamDeregister: Von der Klausur abmelden +BtnExamRegister: Anmelden zur Prüfung +BtnExamDeregister: Von der Prüfung abmelden BtnHijack: Sitzung übernehmen BtnSave: Speichern PressSaveToSave: Änderungen werden erst durch Drücken des Knopfes "Speichern" gespeichert. @@ -316,7 +316,7 @@ UnauthorizedCourseTime: Dieses Kurs erlaubt momentan keine Anmeldungen. UnauthorizedSheetTime: Dieses Übungsblatt ist momentan nicht freigegeben. UnauthorizedMaterialTime: Dieses Material ist momentan nicht freigegeben. UnauthorizedTutorialTime: Dieses Tutorium erlaubt momentan keine Anmeldungen. -UnauthorizedExamTime: Diese Klausur ist momentan nicht freigegeben. +UnauthorizedExamTime: Diese Prüfung ist momentan nicht freigegeben. UnauthorizedSubmissionOwner: Sie sind an dieser Abgabe nicht beteiligt. UnauthorizedSubmissionRated: Diese Abgabe ist noch nicht korrigiert. UnauthorizedSubmissionCorrector: Sie sind nicht der Korrektor für diese Abgabe. @@ -395,7 +395,7 @@ TokensResetSuccess: Authorisierungs-Tokens invalidiert HomeOpenCourses: Kurse mit offener Registrierung HomeUpcomingSheets: Anstehende Übungsblätter -HomeUpcomingExams: Bevorstehende Klausuren +HomeUpcomingExams: Bevorstehende Prüfungen NumCourses num@Int64: #{num} Kurse CloseAlert: Schliessen @@ -532,7 +532,7 @@ MultiSinkException name@Text error@Text: In Abgabe #{name} ist ein Fehler aufget NoTableContent: Kein Tabelleninhalt NoUpcomingSheetDeadlines: Keine anstehenden Übungsblätter -NoUpcomingExams: In den nächsten 14 Tagen gibt es keine Klausur mit offener Registrierung in Ihren Kursen +NoUpcomingExams: In den nächsten 14 Tagen gibt es keine Prüfung mit offener Registrierung in Ihren Kursen AdminHeading: Administration AdminUserHeading: Benutzeradministration @@ -779,11 +779,11 @@ NotificationTriggerCorrectionsAssigned: Mir wurden Abgaben zur Korrektur zugetei NotificationTriggerCorrectionsNotDistributed: Nicht alle Abgaben eines meiner Übungsblätter konnten einem Korrektor zugeteilt werden NotificationTriggerUserRightsUpdate: Meine Berechtigungen wurden geändert NotificationTriggerUserAuthModeUpdate: Mein Anmelde-Modus wurde geändert -NotificationTriggerExamResult: Ich kann ein neues Klausurergebnis einsehen +NotificationTriggerExamResult: Ich kann ein neues Prüfungsergebnis einsehen NotificationTriggerKindAll: Für alle Benutzer NotificationTriggerKindCourseParticipant: Für Kursteilnehmer -NotificationTriggerKindExamParticipant: Für Klausurteilnehmer +NotificationTriggerKindExamParticipant: Für Prüfungsteilnehmer NotificationTriggerKindCorrector: Für Korrektoren NotificationTriggerKindLecturer: Für Dozenten NotificationTriggerKindAdmin: Für Administratoren @@ -945,11 +945,11 @@ MenuAuthPreds: Authorisierungseinstellungen MenuTutorialDelete: Tutorium löschen MenuTutorialEdit: Tutorium editieren MenuTutorialComm: Mitteilung an Teilnehmer -MenuExamList: Klausuren -MenuExamNew: Neue Klausur anlegen +MenuExamList: Prüfungen +MenuExamNew: Neue Prüfung anlegen MenuExamEdit: Bearbeiten MenuExamUsers: Teilnehmer -MenuExamAddMembers: Klausurteilnehmer hinzufügen +MenuExamAddMembers: Prüfungsteilnehmer hinzufügen MenuLecturerInvite: Dozenten hinzufügen AuthPredsInfo: Um eigene Veranstaltungen aus Sicht der Teilnehmer anzusehen, können Veranstalter und Korrektoren hier die Prüfung ihrer erweiterten Berechtigungen temporär deaktivieren. Abgewählte Prädikate schlagen immer fehl. Abgewählte Prädikate werden also nicht geprüft um Zugriffe zu gewähren, welche andernfalls nicht erlaubt wären. Diese Einstellungen gelten nur temporär bis Ihre Sitzung abgelaufen ist, d.h. bis ihr Browser-Cookie abgelaufen ist. Durch Abwahl von Prädikaten kann man sich höchstens temporär aussperren. @@ -968,7 +968,7 @@ AuthTagTime: Zeitliche Einschränkungen sind erfüllt AuthTagAllocationTime: Zeitliche Einschränkungen durch Zentralanmeldung sind erfüllt AuthTagCourseRegistered: Nutzer ist Kursteilnehmer AuthTagTutorialRegistered: Nutzer ist Tutoriumsteilnehmer -AuthTagExamRegistered: Nutzer ist Klausurteilnehmer +AuthTagExamRegistered: Nutzer ist Prüfungsteilnehmer AuthTagParticipant: Nutzer ist mit Kurs assoziiert AuthTagRegisterGroup: Nutzer ist nicht Mitglied eines anderen Tutoriums mit der selben Registrierungs-Gruppe AuthTagCapacity: Kapazität ist ausreichend @@ -1047,12 +1047,12 @@ TutorInviteExplanation: Sie wurden eingeladen, Tutor zu sein. ExamCorrectorInvitationAccepted examn@ExamName: Sie wurden als Korrektor für #{examn} eingetragen ExamCorrectorInvitationDeclined examn@ExamName: Sie haben die Einladung, Korrektor für #{examn} zu werden, abgelehnt ExamCorrectorInviteHeading examn@ExamName: Einladung zum Korrektor für #{examn} -ExamCorrectorInviteExplanation: Sie wurden eingeladen, Klausur-Korrektor zu sein. +ExamCorrectorInviteExplanation: Sie wurden eingeladen, Prüfungs-Korrektor zu sein. ExamRegistrationInvitationAccepted examn@ExamName: Sie wurden als Teilnehmer für #{examn} eingetragen ExamRegistrationInvitationDeclined examn@ExamName: Sie haben die Einladung, Teilnehmer für #{examn} zu werden, abgelehnt ExamRegistrationInviteHeading examn@ExamName: Einladung zum Teilnehmer für #{examn} -ExamRegistrationInviteExplanation: Sie wurden eingeladen, Klausurteilnehmer zu sein. +ExamRegistrationInviteExplanation: Sie wurden eingeladen, Prüfungsteilnehmer zu sein. SubmissionUserInvitationAccepted shn@SheetName: Sie wurden als Mitabgebende(r) für eine Abgabe zu #{shn} eingetragen SubmissionUserInvitationDeclined shn@SheetName: Sie haben die Einladung, Mitabgebende(r) für #{shn} zu werden, abgelehnt @@ -1102,7 +1102,7 @@ TutorialsHeading: Tutorien TutorialEdit: Bearbeiten TutorialDelete: Löschen -CourseExams: Klausuren +CourseExams: Prüfungen CourseTutorials: Übungen ParticipantsN n@Int: #{n} Teilnehmer @@ -1150,22 +1150,22 @@ CourseParticipantsRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wu CourseParticipantsRegistered n@Int: #{n} Teilnehmer erfolgreich angemeldet CourseParticipantsRegisterHeading: Kursteilnehmer hinzufügen -ExamRegistrationAndCourseParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zum Kurs, als auch zur Klausur angemeldet -ExamRegistrationNotRegisteredWithoutCourse n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} nicht zur Klausur angemeldet, da #{pluralDE n "er" "sie"} nicht zum Kurs angemeldet #{pluralDE n "ist" "sind"} -ExamRegistrationRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zur Klausur, als auch #{pluralDE n "ohne assoziiertes Hauptfach" "ohne assoziierte Hauptfächer"} zum Kurs angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"} -ExamRegistrationParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} zur Klausur angemeldet +ExamRegistrationAndCourseParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zum Kurs, als auch zur Prüfung angemeldet +ExamRegistrationNotRegisteredWithoutCourse n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} nicht zur Prüfung angemeldet, da #{pluralDE n "er" "sie"} nicht zum Kurs angemeldet #{pluralDE n "ist" "sind"} +ExamRegistrationRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zur Prüfung, als auch #{pluralDE n "ohne assoziiertes Hauptfach" "ohne assoziierte Hauptfächer"} zum Kurs angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"} +ExamRegistrationParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} zur Prüfung angemeldet ExamRegistrationInviteDeadline: Einladung nur gültig bis ExamRegistrationEnlistDirectly: Bekannte Nutzer sofort als Teilnehmer eintragen -ExamRegistrationEnlistDirectlyTip: Sollen, wenn manche der E-Mail Addressen bereits in Uni2work mit Nutzern assoziiert sind, jene Nutzer direkt zur Klausur hinzugefügt werden? Ansonsten werden Einladung an alle E-Mail Addressen (nicht nur unbekannte) versandt, die die Nutzer zunächst akzeptieren müssen um Klausurteilnehmer zu werden. +ExamRegistrationEnlistDirectlyTip: Sollen, wenn manche der E-Mail Addressen bereits in Uni2work mit Nutzern assoziiert sind, jene Nutzer direkt zur Prüfung hinzugefügt werden? Ansonsten werden Einladung an alle E-Mail Addressen (nicht nur unbekannte) versandt, die die Nutzer zunächst akzeptieren müssen um Prüfungsteilnehmer zu werden. ExamRegistrationRegisterCourse: Nutzer auch zum Kurs anmelden -ExamRegistrationRegisterCourseTip: Nutzer, die keine Kursteilnehmer sind, werden sonst nicht zur Klausur angemeldet. +ExamRegistrationRegisterCourseTip: Nutzer, die keine Kursteilnehmer sind, werden sonst nicht zur Prüfung angemeldet. ExamRegistrationInviteField: Einzuladende EMail Addressen -ExamParticipantsRegisterHeading: Klausurteilnehmer hinzufügen +ExamParticipantsRegisterHeading: Prüfungsteilnehmer hinzufügen ExamParticipantsInvited n@Int: #{n} #{pluralDE n "Einladung" "Einladungen"} per E-Mail verschickt ExamName: Name ExamTime: Termin -ExamsHeading: Klausuren +ExamsHeading: Prüfungen ExamNameTip: Muss innerhalb der Veranstaltung eindeutig sein ExamStart: Beginn ExamEnd: Ende @@ -1173,7 +1173,7 @@ ExamDescription: Beschreibung ExamVisibleFrom: Sichtbar ab ExamVisibleFromTip: Ohne Datum nie sichtbar und keine Anmeldung möglich ExamRegisterFrom: Anmeldung ab -ExamRegisterFromTip: Zeitpunkt ab dem sich Kursteilnehmer selbständig zur Klausur anmelden können; ohne Datum ist keine Anmeldung möglich +ExamRegisterFromTip: Zeitpunkt ab dem sich Kursteilnehmer selbständig zur Prüfung anmelden können; ohne Datum ist keine Anmeldung möglich ExamRegisterTo: Anmeldung bis ExamDeregisterUntil: Abmeldung bis ExamPublishOccurrenceAssignments: Termin- bzw. Raumzuteilung den Teilnehmern mitteilen um @@ -1181,7 +1181,7 @@ ExamPublishOccurrenceAssignmentsTip: Ab diesem Zeitpunkt Teilnehmer einsehen zu ExamPublishOccurrenceAssignmentsParticipant: Termin- bzw. Raumzuteilung einsehbar ab ExamFinished: Bewertung abgeschlossen ab ExamFinishedParticipant: Bewertung vorrausichtlich abgeschlossen -ExamFinishedTip: Zeitpunkt zu dem Klausurergebnisse den Teilnehmern gemeldet werden +ExamFinishedTip: Zeitpunkt zu dem Prüfungergebnisse den Teilnehmern gemeldet werden ExamClosed: Noten stehen fest ab ExamClosedTip: Zeitpunkt ab dem keine Änderungen an den Ergebnissen zulässig sind; Prüfungsämter bekommen Einsicht ExamShowGrades: Noten anzeigen @@ -1197,15 +1197,15 @@ Points: Punkte PointsMustBeNonNegative: Punktegrenzen dürfen nicht negativ sein PointsMustBeMonotonic: Punktegrenzen müssen aufsteigend sein GradingFrom: Ab -ExamNew: Neue Klausur -ExamBonusRule: Klausurbonus aus Übungsbetrieb +ExamNew: Neue Prüfung +ExamBonusRule: Prüfungsbonus aus Übungsbetrieb ExamNoBonus': Kein automatischer Bonus ExamBonusPoints': Umrechnung von Übungspunkten ExamEditHeading examn@ExamName: #{examn} bearbeiten -ExamBonusMaxPoints: Maximal erreichbare Klausur-Bonuspunkte -ExamBonusMaxPointsNonPositive: Maximaler Klausurbonus muss positiv und größer null sein +ExamBonusMaxPoints: Maximal erreichbare Prüfungs-Bonuspunkte +ExamBonusMaxPointsNonPositive: Maximaler Prüfungsbonus muss positiv und größer null sein ExamBonusOnlyPassed: Bonus nur nach Bestehen anrechnen ExamOccurrenceRule: Automatische Termin- bzw. Raumzuteilung @@ -1238,7 +1238,7 @@ ExamFormCorrection: Korrektur ExamFormParts: Teile ExamCorrectors: Korrektoren -ExamCorrectorAlreadyAdded: Ein Korrektor mit dieser E-Mail ist bereits für diese Klausur eingetragen +ExamCorrectorAlreadyAdded: Ein Korrektor mit dieser E-Mail ist bereits für diese Prüfung eingetragen ExamParts: Teilaufgaben ExamPartWeightNegative: Gewicht aller Teilaufgaben muss größer oder gleich Null sein @@ -1248,19 +1248,19 @@ ExamPartMaxPoints: Maximalpunktzahl ExamPartWeight: Gewichtung ExamPartResultPoints: Erreichte Punkte -ExamNameTaken exam@ExamName: Es existiert bereits eine Klausur mit Namen #{exam} +ExamNameTaken exam@ExamName: Es existiert bereits eine Prüfung mit Namen #{exam} ExamCreated exam@ExamName: #{exam} erfolgreich angelegt ExamEdited exam@ExamName: #{exam} erfolgreich bearbeitet ExamNoShow: Nicht erschienen ExamVoided: Entwertet -ExamBonusPoints possible@Points: Maximal #{showFixed True possible} Klausurpunkte -ExamBonusPointsPassed possible@Points: Maximal #{showFixed True possible} Klausurpunkte, falls die Klausur auch ohne Bonus bereits bestanden ist +ExamBonusPoints possible@Points: Maximal #{showFixed True possible} Prüfungspunkte +ExamBonusPointsPassed possible@Points: Maximal #{showFixed True possible} Prüfungspunkte, falls die Prüfung auch ohne Bonus bereits bestanden ist ExamPassed: Bestanden ExamNotPassed: Nicht bestanden -ExamResult: Klausurergebnis +ExamResult: Prüfungsergebnis ExamRegisteredSuccess exam@ExamName: Erfolgreich zur #{exam} angemeldet ExamDeregisteredSuccess exam@ExamName: Erfolgreich von der #{exam} abgemeldet @@ -1271,7 +1271,7 @@ ExamRegistration: Anmeldung ExamRegisterToMustBeAfterRegisterFrom: "Anmeldung ab" muss vor "Anmeldung bis" liegen ExamDeregisterUntilMustBeAfterRegisterFrom: "Abmeldung bis" muss nach "Anmeldung bis" liegen ExamStartMustBeAfterPublishOccurrenceAssignments: Start muss nach Veröffentlichung der Termin- bzw. Raumzuordnung liegen -ExamEndMustBeAfterStart: Beginn der Klausur muss vor ihrem Ende liegen +ExamEndMustBeAfterStart: Beginn der Prüfung muss vor ihrem Ende liegen ExamFinishedMustBeAfterEnd: "Bewertung abgeschlossen ab" muss nach Ende liegen ExamFinishedMustBeAfterStart: "Bewertung abgeschlossen ab" muss nach Start liegen ExamClosedMustBeAfterFinished: "Noten stehen fest ab" muss nach "Bewertung abgeschlossen ab" liegen @@ -1279,16 +1279,17 @@ ExamClosedMustBeAfterStart: "Noten stehen fest ab" muss nach Start liegen ExamClosedMustBeAfterEnd: "Noten stehen fest ab" muss nach Ende liegen ExamOccurrenceEndMustBeAfterStart eoName@ExamOccurrenceName: Beginn des Termins #{eoName} muss vor seinem Ende liegen -ExamOccurrenceStartMustBeAfterExamStart eoName@ExamOccurrenceName: Beginn des Termins #{eoName} muss nach Beginn der Klausur liegen -ExamOccurrenceEndMustBeBeforeExamEnd eoName@ExamOccurrenceName: Ende des Termins #{eoName} liegt nach dem Ende der Klausur +ExamOccurrenceStartMustBeAfterExamStart eoName@ExamOccurrenceName: Beginn des Termins #{eoName} muss nach Beginn der Prüfung liegen +ExamOccurrenceEndMustBeBeforeExamEnd eoName@ExamOccurrenceName: Ende des Termins #{eoName} liegt nach dem Ende der Prüfung ExamOccurrenceDuplicate eoRoom@Text eoRange@Text: Raum #{eoRoom}, Termin #{eoRange} kommt mehrfach mit der selben Beschreibung vor ExamOccurrenceDuplicateName eoName@ExamOccurrenceName: Interne Terminbezeichnung #{eoName} kommt mehrfach vor VersionHistory: Versionsgeschichte KnownBugs: Bekannte Bugs +ImplementationDetails: Implementierung -ExamUsersHeading: Klausurteilnehmer -ExamUserDeregister: Teilnehmer von Klausur abmelden +ExamUsersHeading: Prüfungsteilnehmer +ExamUserDeregister: Teilnehmer von Prüfung abmelden ExamUserAssignOccurrence: Termin/Raum zuweisen ExamUsersDeregistered count@Int64: #{show count} Teilnehmer abgemeldet ExamUsersOccurrenceUpdated count@Int64: Termin/Raum für #{show count} Teilnehmer gesetzt @@ -1321,10 +1322,10 @@ CsvColumnExamUserDegree: Abschluss, den der Teilnehmer im assoziierten Hauptfach CsvColumnExamUserSemester: Fachsemester des Teilnehmers im assoziierten Hauptfach CsvColumnExamUserOccurrence: Prüfungstermin/-Raum, zu dem der Teilnehmer angemeldet ist CsvColumnExamUserExercisePoints: Anzahl von Punkten, die der Teilnehmer im Übungsbetrieb erreicht hat -CsvColumnExamUserExercisePointsMax: Maximale Anzahl von Punkten, die der Teilnehmer im Übungsbetrieb bis zu seinem Klausurtermin erreichen hätte können +CsvColumnExamUserExercisePointsMax: Maximale Anzahl von Punkten, die der Teilnehmer im Übungsbetrieb bis zu seinem Prüfungstermin erreichen hätte können CsvColumnExamUserExercisePasses: Anzahl von Übungsblättern, die der Teilnehmer bestanden hat -CsvColumnExamUserExercisePassesMax: Maximale Anzahl von Übungsblättern, die der Teilnehmer bis zu seinem Klausurtermin bestehen hätte können -CsvColumnExamUserResult: Erreichte Klausurleistung; "passed", "failed", "no-show", "voided", oder eine Note ("1.0", "1.3", "1.7", ..., "4.0", "5.0") +CsvColumnExamUserExercisePassesMax: Maximale Anzahl von Übungsblättern, die der Teilnehmer bis zu seinem Prüfungstermin bestehen hätte können +CsvColumnExamUserResult: Erreichte Prüfungsleistung; "passed", "failed", "no-show", "voided", oder eine Note ("1.0", "1.3", "1.7", ..., "4.0", "5.0") CsvColumnExamUserCourseNote: Notizen zum Teilnehmer Action: Aktion @@ -1334,10 +1335,10 @@ DBCsvDuplicateKeyTip: Entfernen Sie eine der unten aufgeführten Zeilen aus Ihre DBCsvKeyException: Für eine Zeile der CSV-Dateien konnte nicht festgestellt werden, ob sie zu einem bestehenden internen Datensatz korrespondieren. DBCsvException: Bei der Berechnung der auszuführenden Aktionen für einen Datensatz ist ein Fehler aufgetreten. -ExamUserCsvCourseRegister: Benutzer zum Kurs und zur Klausur anmelden -ExamUserCsvRegister: Kursteilnehmer zur Klausur anmelden +ExamUserCsvCourseRegister: Benutzer zum Kurs und zur Prüfung anmelden +ExamUserCsvRegister: Kursteilnehmer zur Prüfung anmelden ExamUserCsvAssignOccurrence: Teilnehmern einen anderen Termin/Raum zuweisen -ExamUserCsvDeregister: Teilnehmer von der Klausur abmelden +ExamUserCsvDeregister: Teilnehmer von der Prüfung abmelden ExamUserCsvSetCourseField: Kurs-assoziiertes Hauptfach ändern ExamUserCsvSetResult: Ergebnis eintragen ExamUserCsvSetCourseNote: Teilnehmer-Notizen anpassen @@ -1355,7 +1356,7 @@ TableHeadingCsvExport: CSV-Export ExamResultAttended: Teilgenommen ExamResultNoShow: Nicht erschienen ExamResultVoided: Entwertet -ExamResultNone: Kein Klausurergebnis +ExamResultNone: Kein Prüfungsergebnis BtnAuthLDAP: Auf Campus-Kennung umstellen BtnAuthPWHash: Auf Uni2work-Kennung umstellen diff --git a/src/Foundation.hs b/src/Foundation.hs index 8070aa3d0..790f8c988 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -1616,13 +1616,13 @@ instance YesodBreadcrumbs UniWorX where breadcrumb (CourseR tid ssh csh CTutorialListR) = return ("Tutorien", Just $ CourseR tid ssh csh CShowR) breadcrumb (CourseR tid ssh csh CTutorialNewR) = return ("Anlegen", Just $ CourseR tid ssh csh CTutorialListR) - breadcrumb (CourseR tid ssh csh CExamListR) = return ("Klausuren", Just $ CourseR tid ssh csh CShowR) + breadcrumb (CourseR tid ssh csh CExamListR) = return ("Prüfungen", Just $ CourseR tid ssh csh CShowR) breadcrumb (CourseR tid ssh csh CExamNewR) = return ("Anlegen", Just $ CourseR tid ssh csh CExamListR) breadcrumb (CExamR tid ssh csh examn EShowR) = return (original examn, Just $ CourseR tid ssh csh CExamListR) breadcrumb (CExamR tid ssh csh examn EEditR) = return ("Bearbeiten", Just $ CExamR tid ssh csh examn EShowR) breadcrumb (CExamR tid ssh csh examn EUsersR) = return ("Teilnehmer", Just $ CExamR tid ssh csh examn EShowR) - breadcrumb (CExamR tid ssh csh examn EAddUserR) = return ("Klausurteilnehmer hinzufügen", Just $ CExamR tid ssh csh examn EUsersR) + breadcrumb (CExamR tid ssh csh examn EAddUserR) = return ("Prüfungsteilnehmer hinzufügen", Just $ CExamR tid ssh csh examn EUsersR) breadcrumb (CTutorialR tid ssh csh tutn TUsersR) = return (original tutn, Just $ CourseR tid ssh csh CTutorialListR) breadcrumb (CTutorialR tid ssh csh tutn TEditR) = return ("Bearbeiten", Just $ CTutorialR tid ssh csh tutn TUsersR) diff --git a/src/Handler/Info.hs b/src/Handler/Info.hs index fdee48ea9..260f03357 100644 --- a/src/Handler/Info.hs +++ b/src/Handler/Info.hs @@ -33,9 +33,10 @@ getInfoR :: Handler Html getInfoR = -- do siteLayoutMsg MsgInfoHeading $ do setTitleI MsgInfoHeading - let features = $(i18nWidgetFile "featureList") - changeLog = $(i18nWidgetFile "changelog") - knownBugs = $(i18nWidgetFile "knownBugs") + let features = $(i18nWidgetFile "featureList") + changeLog = $(i18nWidgetFile "changelog") + knownBugs = $(i18nWidgetFile "knownBugs") + implementation = $(i18nWidgetFile "implementation") gitInfo :: Text gitInfo = $gitDescribe <> " (" <> $gitCommitDate <> ")" $(widgetFile "versionHistory") diff --git a/src/Handler/Profile.hs b/src/Handler/Profile.hs index 5d035d293..e871575dc 100644 --- a/src/Handler/Profile.hs +++ b/src/Handler/Profile.hs @@ -89,7 +89,7 @@ notificationForm :: Maybe NotificationSettings -> AForm Handler NotificationSett notificationForm template = wFormToAForm $ do mbUid <- liftHandlerT maybeAuthId isAdmin <- hasReadAccessTo AdminR - + let sectionIsHidden :: NotificationTriggerKind -> DB Bool sectionIsHidden nt @@ -117,13 +117,13 @@ notificationForm template = wFormToAForm $ do E.where_ $ examRegistration E.^. ExamRegistrationUser E.==. E.val uid | otherwise = return False - + ntHidden <- liftHandlerT . runDB $ Set.fromList universeF & Map.fromSet sectionIsHidden & sequenceA & fmap (!) - + let nsForm nt | maybe False ntHidden $ ntSection nt @@ -147,7 +147,7 @@ notificationForm template = wFormToAForm $ do -- _other -> Nothing forcedTriggers = [NTUserRightsUpdate, NTUserAuthModeUpdate] - + aFormToWForm $ NotificationSettings <$> sectionedFuncForm ntSection nsForm (fslI MsgNotificationSettings) False @@ -274,7 +274,7 @@ makeProfileData (Entity uid User{..}) = do submissionTable <- mkSubmissionTable uid -- Tabelle mit allen Abgaben und Abgabe-Gruppen submissionGroupTable <- mkSubmissionGroupTable uid -- Tabelle mit allen Abgabegruppen correctionsTable <- mkCorrectionsTable uid -- Tabelle mit allen Korrektor-Aufgaben - let examTable = [whamlet|Klausuren werden momentan leider noch nicht unterstützt.|] + let examTable = [whamlet|Prüfungen werden hier momentan leider noch nicht unterstützt.|] let ownTutorialTable = [whamlet|Übungsgruppen werden momentan leider noch nicht unterstützt.|] let tutorialTable = [whamlet|Übungsgruppen werden momentan leider noch nicht unterstützt.|] lastLogin <- traverse (formatTime SelFormatDateTime) userLastAuthentication diff --git a/templates/adminUser.hamlet b/templates/adminUser.hamlet index 8dd325c44..bc91b4de5 100644 --- a/templates/adminUser.hamlet +++ b/templates/adminUser.hamlet @@ -13,6 +13,6 @@ Achtung, dieser Link löscht momentan noch den kompletten Benutzer unwiderruflich aus der Live-Datenbank mit DELETE CASCADE uid - \ Klausurdaten müssen jedoch langfristig gespeichert werden! + \ Prüfungs- und Klausurdaten müssen jedoch langfristig gespeichert werden!

^{modal "Benutzer löschen" (Right deleteWidget)} diff --git a/templates/course.hamlet b/templates/course.hamlet index 7e8b757e1..be6d7db32 100644 --- a/templates/course.hamlet +++ b/templates/course.hamlet @@ -106,16 +106,3 @@ $# $if NTop (Just 0) < NTop (courseCapacity course)

^{tutorialTable} - -$#
-$#
-$#
-$# ^{modal "#modal-toggler__new-sheet" Nothing} -$#

Übungsblätter -$#

TODO: Sortierbare Tabelle der bisherigen Übungsblätter -$#
-$#

Übungsgruppen -$#

TODO: Sortierbare Tabelle der Übungsgruppen -$#
-$#

Klausuren -$#
... diff --git a/templates/i18n/featureList/de.hamlet b/templates/i18n/featureList/de.hamlet index b2f1257a0..a3c2862bc 100644 --- a/templates/i18n/featureList/de.hamlet +++ b/templates/i18n/featureList/de.hamlet @@ -1,17 +1,8 @@

- Momentan noch unimplementierte Funktionalitäten + Neue geplante Funktionalitäten, moment noch nicht implementiert