refactor(messages): course finished, templates-msgs added
This commit is contained in:
parent
580c62067a
commit
ee7f32f5cc
@ -38,6 +38,9 @@ BtnSystemMessageUnhide: Nicht mehr verstecken
|
||||
|
||||
BtnCommunicationSend: Senden
|
||||
BtnCommunicationTest: Test-Nachricht verschicken
|
||||
BtnAcceptApplications: Bewerbungen akzeptieren
|
||||
BtnAcceptApplicationsTip: Mit dem untigen Knopf können Sie den Kurs (höchstens bis zur angegeben Maximalkapazität, falls eingestellt) mit Bewerbern auffüllen. Die Bewertungen der Bewerbungen werden dabei berücksichtigt (Unbewertet wird behandelt wie eine Note zwischen 2.3 und 2.7). Bewerber mit Veto oder 5.0 werden nicht angemeldet.
|
||||
|
||||
|
||||
AcceptApplicationsDirect: Direkt anmelden
|
||||
AcceptApplicationsInvite: Einladungen verschicken
|
||||
@ -55,7 +58,10 @@ TableStudyFeatureUpdate: Abgeglichen
|
||||
TableHeadingFilter: Filter
|
||||
TableTerm: Semester
|
||||
TableCourseSchool: Institut
|
||||
|
||||
TableSubmissionGroup: Feste Abgabegruppe
|
||||
TableNoSubmissionGroup: Keine feste Abgabegruppe
|
||||
TableMatrikelNr: Matrikelnummer
|
||||
TableSex: Geschlecht
|
||||
|
||||
#headings
|
||||
HeadingLegal: Rechtliche Informationen
|
||||
@ -83,12 +89,10 @@ 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
|
||||
|
||||
EmailInvitationWarning: Diese Adresse konnte keinem Uni2work-Benutzer zugeordnet werden. Es wird eine Einladung per E-Mail versandt.
|
||||
@ -99,18 +103,10 @@ FormFieldWorkflowDatasetTip: Mindestens ein gekennzeichnetes Feld pro Datensatz
|
||||
Aborted: Abgebrochen
|
||||
Remarks: Hinweise
|
||||
|
||||
NotRegistered: Sie sind zu diesem Kurs nicht angemeldet.
|
||||
|
||||
RegisterFrom: Anmeldungen von
|
||||
RegisterTo: Anmeldungen bis
|
||||
TutorialDeRegUntil: Abmeldungen bis
|
||||
|
||||
CourseRegistrationInterval: Anmeldung
|
||||
CourseDirectRegistrationInterval: Direkte Anmeldung
|
||||
CourseDeregisterUntil time@Text: Abmeldung nur bis #{time}
|
||||
|
||||
|
||||
|
||||
GenericKey: Schlüssel
|
||||
GenericShort: Kürzel
|
||||
GenericIsNew: Neu
|
||||
@ -164,13 +160,8 @@ CourseNoCapacity: In diesem Kurs sind keine Plätze mehr frei.
|
||||
TutorialNoCapacity: In dieser Übung sind keine Plätze mehr frei.
|
||||
ExamOccurrenceNoCapacity: Zu diesem Termin/Raum sind keine Plätze mehr frei.
|
||||
CourseNotEmpty: In diesem Kurs sind momentan Teilnehmer angemeldet.
|
||||
CourseVisibility: Sichtbarkeit
|
||||
CourseInvisible: Dieser Kurs ist momentan nur für Dozenten, Assistenten, Tutoren, Korrektoren, angemeldete Teilnehmer und Bewerber sichtbar.
|
||||
CourseInvisibleOverridenByAllocation: Da die Zentralanmeldung, an welcher der Kurs teilnimmt aktuell offen für Bewerbungen ist, wird die Kurssichtbarkeit während der Bewerbungsphase forciert. Außerhalb der Bewerbungsphase ist der Kurs nur für Dozenten, Assistenten, Tutoren, Korrektoren, angemeldete Teilnehmer und Bewerber sichtbar.
|
||||
CourseRegistration: Kursanmeldung
|
||||
|
||||
CourseApply: Zum Kurs bewerben
|
||||
CourseDeregisterLecturerTip: Wenn Sie den Teilnehmer vom Kurs abmelden kann es sein, dass sie Zugriff auf diese Daten verlieren
|
||||
CourseStudyFeature: Assoziiertes Studienfach
|
||||
CourseStudyFeatureTip: Dient ausschließlich der Information der Kursverwalter
|
||||
CourseStudyFeatureUpdated: Assoziiertes Studienfach geändert
|
||||
@ -186,16 +177,12 @@ CourseEditHeading tid@TermId ssh@SchoolId csh@CourseShorthand: Kurs #{tid}-#{ssh
|
||||
CourseMembers: Teilnehmer
|
||||
CourseMembersCount n@Int: #{n}
|
||||
CourseMembersCountLimited n@Int max@Int: #{n}/#{max}
|
||||
CourseMembersCountOf n@Int mbNum@(Maybe Int): #{n} Kursanmeldungen #{maybeToMessage " von " mbNum " möglichen"}
|
||||
TutorialDeregisterUntilTip: Abmeldung ist ab "Anmeldungen von" bis zu diesem Zeitpunkt erlaubt. Die Abmeldung darf auch unbegrenzt erlaubt bleiben.
|
||||
|
||||
CourseFilterNone: —
|
||||
BoolIrrelevant: —
|
||||
CourseDeleteQuestion: Wollen Sie den unten aufgeführten Kurs wirklich löschen?
|
||||
CourseDeleted: Kurs gelöscht
|
||||
CourseSingleUserExams: Prüfungen
|
||||
CourseSingleUserTutorials: Tutorien
|
||||
CourseUserCorrections: Abgaben
|
||||
CourseUserRegister: Zum Kurs anmelden
|
||||
CourseUserDeregister: Vom Kurs abmelden
|
||||
CourseUserRegisterTutorial: Zu einem Tutorium anmelden
|
||||
@ -209,10 +196,8 @@ TutorialUsersDeregistered count@Int64: #{show count} Tutorium-Teilnehmer abgemel
|
||||
CourseAllocationCourseAcceptsSubstitutesUntil: Akzeptiert Nachrücker bis
|
||||
CourseAllocationCourseAcceptsSubstitutesNever: Akzeptiert keine Nachrücker
|
||||
CourseAllocationCourseParticipants: Teilnehmer
|
||||
CourseApplicationInstructionsApplication: Anweisungen zur Bewerbung
|
||||
CourseApplicationInstructionsRegistration: Anweisungen zur Anmeldung
|
||||
CourseApplicationTemplateApplication: Bewerbungsvorlage(n)
|
||||
CourseApplicationTemplateRegistration: Anmeldungsvorlage(n)
|
||||
CourseAllocationApplicationInstructionsApplication: Anweisungen zur Bewerbung
|
||||
CourseAllocationApplicationTemplateApplication: Bewerbungsvorlage(n)
|
||||
CourseApplication: Bewerbung
|
||||
|
||||
CourseApplicationExists: Sie haben sich bereits für diesen Kurs beworben
|
||||
@ -224,7 +209,6 @@ CourseApplicationRated: Bewertung erfolgreich angepasst
|
||||
CourseApplicationRatingDeleted: Bewertung erfolgreich entfernt
|
||||
CourseApplicationDeleted csh@CourseShorthand: Bewerbung zu #{csh} erfolgreich zurückgezogen
|
||||
|
||||
CourseApplicationDeleteToEdit: Um Ihre Bewerbung zu editieren müssen Sie sie zunächst zurückziehen und sich erneut bewerben.
|
||||
CourseRegistrationDeleteToEdit: Um Ihre Anmeldungsdaten zu editieren müssen Sie sich zunächst ab- und dann erneut anmelden.
|
||||
|
||||
CourseLoginToApply: Um sich zum Kurz zu bewerben müssen Sie sich zunächst in Uni2work anmelden
|
||||
@ -553,17 +537,11 @@ NumCourses num@Int64: #{num} #{pluralDE num "Kurs" "Kurse"}
|
||||
CloseAlert: Schliessen
|
||||
|
||||
Name: Name
|
||||
MatrikelNr: Matrikelnummer
|
||||
Surname: Nachname(n)
|
||||
FirstName: Vorname(n)
|
||||
Title: Titel
|
||||
LdapSynced: LDAP-Synchronisiert
|
||||
LdapSyncedBefore: Letzte LDAP-Synchronisation vor
|
||||
NoMatrikelKnown: Keine Matrikelnummer
|
||||
|
||||
Plugin: Plugin
|
||||
|
||||
|
||||
Settings: Individuelle Benutzereinstellungen
|
||||
SettingsUpdate: Einstellungen erfolgreich gespeichert
|
||||
NotificationSettingsUpdate: Benachrichtigungs-Einstellungen erfolgreich gespeichert
|
||||
@ -728,12 +706,6 @@ AdminUserRightsHeading: Benutzerrechte
|
||||
AdminUserAuthHeading: Benutzer-Authentifizierung
|
||||
AdminUserHeadingFor: Benutzerprofil für
|
||||
AdminFor: Administrator
|
||||
LecturerFor: Dozent
|
||||
LecturersFor: Dozenten
|
||||
AssistantFor: Assistent
|
||||
AssistantsFor: Assistenten
|
||||
TutorsFor n@Int: #{pluralDE n "Tutor" "Tutoren"}
|
||||
CorrectorsFor n@Int: #{pluralDE n "Korrektor" "Korrektoren"}
|
||||
UserListTitle: Komprehensive Benutzerliste
|
||||
AccessRightsSaved: Berechtigungen erfolgreich verändert
|
||||
AccessRightsNotChanged: Berechtigungen wurden nicht verändert
|
||||
@ -860,9 +832,7 @@ SubmissionUpdated: Abgabe erfolgreich ersetzt
|
||||
ColumnStudyFeatures: Studiendaten
|
||||
|
||||
AdminFeaturesHeading: Studiengänge
|
||||
StudyTerms: Studiengänge
|
||||
|
||||
NoStudyTermsKnown: Keine Studiengänge bekannt
|
||||
StudyFeaturesDegrees: Abschlüsse
|
||||
StudyFeaturesTerms: Studiengänge
|
||||
StudyFeaturesNameCandidates: Namens-Kandidaten
|
||||
@ -1373,9 +1343,6 @@ TutorialDelete: Löschen
|
||||
TutorialTutorControlled: Tutoren dürfen Tutorium editieren
|
||||
TutorialTutorControlledTip: Sollen Tutoren beliebige Aspekte dieses Tutoriums (Name, Registrierungs-Gruppe, Raum, Zeit, andere Tutoren, ...) beliebig editieren dürfen?
|
||||
|
||||
CourseExams: Prüfungen
|
||||
CourseTutorials: Tutorien
|
||||
|
||||
ParticipantsN n@Int: #{n} Teilnehmer
|
||||
TutorialDeleteQuestion: Wollen Sie das unten aufgeführte Tutorium wirklich löschen?
|
||||
TutorialDeleted: Tutorium gelöscht
|
||||
@ -1418,9 +1385,7 @@ HealthSMTPConnect: SMTP-Server kann erreicht werden
|
||||
HealthWidgetMemcached: Memcached-Server liefert Widgets korrekt aus
|
||||
HealthActiveJobExecutors: Anteil der job-workers, die neue Befehle annehmen
|
||||
|
||||
CourseParticipantsHeading: Kursteilnehmer
|
||||
CourseParticipantsCount n@Int: #{n}
|
||||
CourseParticipantsCountOf n@Int m@Int: #{n} von #{m}
|
||||
|
||||
CourseParticipants n@Int: Derzeit #{n} angemeldete Kursteilnehmer
|
||||
CourseParticipantsRegisteredWithoutField n@Int: #{n} Teilnehmer #{pluralDE n "wurde ohne assoziiertes Studienfach" "wurden ohne assoziierte Studienfächer"} angemeldet, da #{pluralDE n "kein eindeutiges Hauptfach bestimmt werden konnte" "keine eindeutigen Hauptfächer bestimmt werden konnten"}
|
||||
ExamRegistrationAndCourseParticipantsRegistered n@Int: #{n} Teilnehmer #{pluralDE n "wurde" "wurden"} sowohl zum Kurs, als auch zur Prüfung angemeldet
|
||||
@ -1672,9 +1637,6 @@ ExamUsersResultSet count@Int64: Prüfungsergebnis für #{show count} Teilnehmer
|
||||
ExamUsersExamDataRequiresRegistration: Wenn Prüfungsbezogene Daten (Teil-/Ergebnis, Termin/Raum, Bonus) gesetzt bzw. angepasst werden sollen, muss der jeweilige Teilnehmer zur Prüfung angemeldet sein bzw. werden.
|
||||
CourseUserSetSubmissionGroup: Feste Abgabegruppe setzen/entfernen
|
||||
|
||||
SubmissionGroup: Feste Abgabegruppe
|
||||
NoSubmissionGroup: Keine feste Abgabegruppe
|
||||
|
||||
ExamUserSynchronised: Synchronisiert
|
||||
ExamUserSyncOfficeName: Name
|
||||
ExamUserSyncTime: Zeitpunkt
|
||||
@ -2062,11 +2024,6 @@ AuthKindPWHash: Uni2work-Kennung
|
||||
UserAdded: Benutzer erfolgreich angelegt
|
||||
UserCollision: Benutzer konnte wegen Eindeutigkeit nicht angelegt werden
|
||||
|
||||
CourseAllocationsBounds n@Int: Voraussichtliche Zuteilungen durch #{pluralDE n "Zentralanmeldung" "Zentralanmeldungen"}
|
||||
CourseAllocationsBoundCoincide numFirstChoice@Int: Vstl. #{numFirstChoice} Teilnehmer
|
||||
CourseAllocationsBound numApps@Int numFirstChoice@Int: Vstl. zwischen #{numFirstChoice} und #{numApps} Teilnehmer
|
||||
CourseAllocationsBoundCapped: Die obige Anzeige wurde durch die aktuell angegebene Kurskapazität reduziert.
|
||||
CourseAllocationsBoundWarningOpen: Diese Informationen entsprechen nur dem aktuellen Stand der Bewerbungen und können sich noch ändern.
|
||||
|
||||
BtnSetDisplayEmail: E-Mail-Adresse setzen
|
||||
UserDisplayEmailChanged: Öffentliche E-Mail-Adresse erfolgreich gesetzt
|
||||
@ -2092,19 +2049,6 @@ LecturerInfoTooltipProblem: Feature mit bekannten Problemen
|
||||
LecturerInfoTooltipPlanned: Geplantes Feature
|
||||
LecturerInfoTooltipNewU2W: Unterschied zu UniWorX
|
||||
|
||||
BtnAcceptApplications: Bewerbungen akzeptieren
|
||||
BtnAcceptApplicationsTip: Mit dem untigen Knopf können Sie den Kurs (höchstens bis zur angegeben Maximalkapazität, falls eingestellt) mit Bewerbern auffüllen. Die Bewertungen der Bewerbungen werden dabei berücksichtigt (Unbewertet wird behandelt wie eine Note zwischen 2.3 und 2.7). Bewerber mit Veto oder 5.0 werden nicht angemeldet.
|
||||
|
||||
|
||||
CourseMaterial: Material
|
||||
|
||||
CourseMaterialNotFree: Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer, Tutoren, Korrektoren und Verwalter.
|
||||
|
||||
CourseSheetsFoundHere: Die Übungsblatter zum Kurs finden Sie hier
|
||||
CourseSheetsNoneVisible: Aktuell gibt es zu diesem Kurs keine Übungsblätter, oder nur Übungsblätter auf die Sie keinen Zugriff haben (z.B. aufgrund von Fristen bzgl. der Sichtbarkeit).
|
||||
CourseMaterialsFoundHere: Material zum Kurs finden Sie hier
|
||||
CourseMaterialsNoneVisible: Aktuell gibt es zu diesem Kurs kein Material, oder nur Material auf das Sie keinen Zugriff haben (z.B. aufgrund von Fristen bzgl. der Sichtbarkeit).
|
||||
|
||||
MailSubjectAllocationResults allocation@AllocationName: Plätze für Zentralanmeldung „#{allocation}“ wurden verteilt
|
||||
AllocationResultsLecturer: Im Rahmen der oben genannten Zentralanmeldung wurden Plätze zugewiesen, wie folgt:
|
||||
AllocationResultLecturer csh@CourseShorthand count@Int64 count2@Int64: #{count} Teilnehmer (von insgesamt #{count2}) für #{csh}
|
||||
@ -2131,7 +2075,6 @@ FavouritesUnavailableTip: Das Schnellzugriffsmenü für diesen Kurs ist aktuell
|
||||
UserSimplifiedFeaturesOfStudyCsv: Vereinfachte Studiengangsdaten
|
||||
UserSimplifiedFeaturesOfStudyCsvTip: Sollen Abschluss, Studiengang und Semester zur einfacheren Verarbeitung als separate Spalten exportiert werden? Es wird dann nur jeweils das Fach exportiert, dass der Student bei der Anmeldung ausgewählt hat.
|
||||
|
||||
Sex: Geschlecht
|
||||
SexNotKnown: Unbekannt
|
||||
SexMale: Männlich
|
||||
SexFemale: Weiblich
|
||||
|
||||
@ -38,6 +38,9 @@ BtnSystemMessageUnhide: Unhide
|
||||
|
||||
BtnCommunicationSend: Send
|
||||
BtnCommunicationTest: Send test message
|
||||
BtnAcceptApplications: Accept applications
|
||||
BtnAcceptApplicationsTip: By clicking the button below you may fill the course with applicants (only up to the maximum capacity if configured). Grading of applications will be considered (no grading is treated as if graded between 2.3 and 2.7). Vetoed applicants and applications graded 5.0 will not be enrolled.
|
||||
|
||||
|
||||
AcceptApplicationsDirect: Enroll directly
|
||||
AcceptApplicationsInvite: Send invitations
|
||||
@ -55,7 +58,10 @@ TableStudyTerm: Field of study
|
||||
TableHeadingFilter: Filter
|
||||
TableTerm: Semester
|
||||
TableCourseSchool: Department
|
||||
|
||||
TableSubmissionGroup: Registered submission group
|
||||
TableNoSubmissionGroup: No registered submission group
|
||||
TableMatrikelNr: Matriculation
|
||||
TableSex: Sex
|
||||
|
||||
#headings
|
||||
HeadingLegal: Legal
|
||||
@ -83,12 +89,10 @@ 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
|
||||
|
||||
#general warnings
|
||||
@ -101,16 +105,10 @@ FormFieldWorkflowDatasetTip: At least one of the marked fields must be filled
|
||||
Aborted: Aborted
|
||||
Remarks: Remarks
|
||||
|
||||
NotRegistered: Note enrolled for this course
|
||||
|
||||
RegisterFrom: Enrolment starts
|
||||
RegisterTo: Enrolment ends
|
||||
TutorialDeRegUntil: Deregistration until
|
||||
|
||||
CourseRegistrationInterval: Enrolment
|
||||
CourseDirectRegistrationInterval: Direct enrolment
|
||||
CourseDeregisterUntil time: Deregistration only until #{time}
|
||||
|
||||
GenericKey: Key
|
||||
GenericShort: Shorthand
|
||||
GenericIsNew: New
|
||||
@ -164,13 +162,8 @@ CourseNoCapacity: Course has reached maximum capacity
|
||||
TutorialNoCapacity: Tutorial has reached maximum capacity
|
||||
ExamOccurrenceNoCapacity: Occurrence/Room has reached maximum capacity
|
||||
CourseNotEmpty: There are currently no participants enrolled for this course.
|
||||
CourseVisibility: Visibility
|
||||
CourseInvisible: This course is currently only visible to lecturers, assistants, tutors, correctors, enrolled participants and applicants.
|
||||
CourseInvisibleOverridenByAllocation: Because the allocation this course participates in is currently open for application, the course is forced to be visible. After the application phase, the course will only be visible to lecturers, assistants, tutors, correctors, enrolled participants and applicants.
|
||||
CourseRegistration: Enrolment
|
||||
|
||||
CourseApply: Apply for course
|
||||
CourseDeregisterLecturerTip: If you deregister the participant you might loose access to this data
|
||||
CourseStudyFeature: Associated subject
|
||||
CourseStudyFeatureTip: For information purposes only (visible to course administrators)
|
||||
CourseStudyFeatureUpdated: Successfully updated associated subject
|
||||
@ -187,7 +180,6 @@ CourseEditHeading tid ssh csh: Edit course #{tid}-#{ssh}-#{csh}
|
||||
CourseMembers: Participants
|
||||
CourseMembersCount n: #{n}
|
||||
CourseMembersCountLimited n max: #{n}/#{max}
|
||||
CourseMembersCountOf n mbNum: #{n} #{maybeToMessage "of " mbNum " "}participants
|
||||
TutorialRegisterFromTip: When left empty students will not be able to enrol themselves
|
||||
TutorialRegisterToTip: May be left empty to allow enrolment indefinitely
|
||||
TutorialDeregisterUntilTip: Participants may deregister from immediately after registration starts up to this time. May be left empty to allow deregistration indefinitely.
|
||||
@ -197,9 +189,6 @@ BoolIrrelevant: —
|
||||
CourseDeleteQuestion: Are you sure you want to delete the below-mentioned course?
|
||||
CourseDeleted: Course deleted
|
||||
CourseUserRegister: Enrol for course
|
||||
CourseSingleUserExams: Exams
|
||||
CourseSingleUserTutorials: Tutorials
|
||||
CourseUserCorrections: Submissions
|
||||
CourseUserDeregister: Deregister from course
|
||||
CourseUserRegisterTutorial: Register for a tutorial
|
||||
CourseUserRegisterExam: Register for an exam
|
||||
@ -212,10 +201,8 @@ TutorialUsersDeregistered count: Successfully deregistered #{show count} partici
|
||||
CourseAllocationCourseAcceptsSubstitutesUntil: Accepts substitutes until
|
||||
CourseAllocationCourseAcceptsSubstitutesNever: Does not accept substitutes
|
||||
CourseAllocationCourseParticipants: Participants
|
||||
CourseApplicationInstructionsApplication: Instructions for application
|
||||
CourseApplicationInstructionsRegistration: Instructions for registration
|
||||
CourseApplicationTemplateApplication: Application template(s)
|
||||
CourseApplicationTemplateRegistration: Registration template(s)
|
||||
CourseAllocationApplicationInstructionsApplication: Instructions for application
|
||||
CourseAllocationApplicationTemplateApplication: Application template(s)
|
||||
CourseApplication: Application
|
||||
|
||||
CourseApplicationExists: You already applied for this course
|
||||
@ -226,7 +213,6 @@ CourseApplicationNotEdited csh: Application for #{csh} not changed
|
||||
CourseApplicationRated: Successfully edited rating
|
||||
CourseApplicationRatingDeleted: Successfully deleted rating
|
||||
CourseApplicationDeleted csh: Successfully withdrew application for #{csh}
|
||||
CourseApplicationDeleteToEdit: You need to withdraw your application and reapply to edit your application.
|
||||
CourseRegistrationDeleteToEdit: You need to deregister and reregister to edit your registration.
|
||||
|
||||
CourseLoginToApply: You need to login to Uni2work before you can apply for this course.
|
||||
@ -550,17 +536,11 @@ NumCourses num: #{num} #{pluralEN num "course" "courses"}
|
||||
CloseAlert: Close
|
||||
|
||||
Name: Name
|
||||
MatrikelNr: Matriculation
|
||||
Surname: Surname(s)
|
||||
FirstName: Given name(s)
|
||||
Title: Title
|
||||
LdapSynced: LDAP-synchronised
|
||||
LdapSyncedBefore: Last LDAP-synchronisation before
|
||||
NoMatrikelKnown: No matriculation
|
||||
|
||||
Plugin: Plugin
|
||||
|
||||
|
||||
Settings: Settings
|
||||
SettingsUpdate: Successfully updated settings
|
||||
NotificationSettingsUpdate: Successfully updated notification settings
|
||||
@ -724,12 +704,6 @@ AdminUserRightsHeading: User permissions
|
||||
AdminUserAuthHeading: User authentication
|
||||
AdminUserHeadingFor: Profile of
|
||||
AdminFor: Administrator
|
||||
LecturerFor: Lecturer
|
||||
LecturersFor: Lecturers
|
||||
AssistantFor: Assistant
|
||||
AssistantsFor: Assistants
|
||||
TutorsFor n: #{pluralEN n "Tutor" "Tutors"}
|
||||
CorrectorsFor n: #{pluralEN n "Corrector" "Correctors"}
|
||||
UserListTitle: Comprehensive list of users
|
||||
AccessRightsSaved: Successfully updated permissions
|
||||
AccessRightsNotChanged: Permissions left unchanged
|
||||
@ -858,9 +832,7 @@ SubmissionUpdated: Successfully replaced submission
|
||||
ColumnStudyFeatures: Features of study
|
||||
|
||||
AdminFeaturesHeading: Features of study
|
||||
StudyTerms: Fields of study
|
||||
|
||||
NoStudyTermsKnown: No known features of study
|
||||
StudyFeaturesDegrees: Degrees
|
||||
StudyFeaturesTerms: Terms of Study
|
||||
StudyFeaturesNameCandidates: Name candidates
|
||||
@ -1366,9 +1338,6 @@ TutorialDelete: Delete
|
||||
TutorialTutorControlled: Tutors may edit tutorial
|
||||
TutorialTutorControlledTip: Should tutors be allowed to edit arbitrary aspects of this tutorial (name, registration group, room, time, other tutors, ...) at will?
|
||||
|
||||
CourseExams: Exams
|
||||
CourseTutorials: Tutorials
|
||||
|
||||
ParticipantsN n: #{n} #{pluralEN n "participant" "participants"}
|
||||
TutorialDeleteQuestion: Do you really want to delete the tutorial listed below?
|
||||
TutorialDeleted: Tutorial deleted
|
||||
@ -1411,9 +1380,7 @@ HealthSMTPConnect: SMTP server is reachable
|
||||
HealthWidgetMemcached: Memcached server is serving widgets correctly
|
||||
HealthActiveJobExecutors: Proportion of job workers accepting new jobs
|
||||
|
||||
CourseParticipantsHeading: Course participants
|
||||
CourseParticipantsCount n: #{n}
|
||||
CourseParticipantsCountOf n m: #{n} of #{m}
|
||||
|
||||
CourseParticipants n: Currently #{n} course #{pluralEN n "participant" "participants"}
|
||||
CourseParticipantsRegisteredWithoutField n: #{n} #{pluralEN n "participant was" "participants were"} registered without #{pluralEN n "an associated field of study" "associated fields of study"}, because #{pluralEN n "it" "they"} could not be determined uniquely.
|
||||
ExamRegistrationAndCourseParticipantsRegistered n: Registered #{n} #{pluralEN n "participant" "participants"} for the exam as well as for the course
|
||||
@ -1665,8 +1632,6 @@ ExamUsersResultSet count: Sucessfully modified exam result for #{show count} #{p
|
||||
ExamUsersExamDataRequiresRegistration: If exam data (part-/result, occurrence/room, bonus) is to be modified/set, the relenvant participant needs to be registered for the exam.
|
||||
CourseUserSetSubmissionGroup: Set/Unset registered submission group
|
||||
|
||||
SubmissionGroup: Registered submission group
|
||||
NoSubmissionGroup: No registered submission group
|
||||
|
||||
ExamUserSynchronised: Synchronised
|
||||
ExamUserSyncOfficeName: Name
|
||||
@ -2055,12 +2020,6 @@ AuthKindPWHash: Uni2work account
|
||||
UserAdded: Successfully added user
|
||||
UserCollision: Could not create user due to uniqueness constraint
|
||||
|
||||
CourseAllocationsBounds n: Expected number of alloctions due to #{pluralEN n "central allocation" "central allocations"}
|
||||
CourseAllocationsBoundCoincide numFirstChoice: Est. #{numFirstChoice} #{pluralEN numFirstChoice "participant" "participants"}
|
||||
CourseAllocationsBound numApps numFirstChoice: Est. between #{numFirstChoice} and #{numApps} #{pluralEN numApps "participant" "participants"}
|
||||
CourseAllocationsBoundCapped: The numbers listed above were modified based on the currently configured course capacity.
|
||||
CourseAllocationsBoundWarningOpen: The information listed above represents only the current state of applications and is subject to change.
|
||||
|
||||
BtnSetDisplayEmail: Set email address
|
||||
UserDisplayEmailChanged: Successfully set display email
|
||||
TitleChangeUserDisplayEmail: Set display email
|
||||
@ -2085,20 +2044,6 @@ LecturerInfoTooltipProblem: Feature with known issues
|
||||
LecturerInfoTooltipPlanned: Planned feature
|
||||
LecturerInfoTooltipNewU2W: Unlike UniWorX
|
||||
|
||||
BtnAcceptApplications: Accept applications
|
||||
BtnAcceptApplicationsTip: By clicking the button below you may fill the course with applicants (only up to the maximum capacity if configured). Grading of applications will be considered (no grading is treated as if graded between 2.3 and 2.7). Vetoed applicants and applications graded 5.0 will not be enrolled.
|
||||
|
||||
|
||||
|
||||
CourseMaterial: Material
|
||||
|
||||
CourseMaterialNotFree: Course material is only accessible to members of the course, e.g. for participants, tutors, correctors or administratiors.
|
||||
|
||||
CourseSheetsFoundHere: Exercise sheets for this course are available here
|
||||
CourseSheetsNoneVisible: Currently there are no exercise sheets for this course or only exercise sheets to which you don't have access (e.g. because of visibility settings)
|
||||
CourseMaterialsFoundHere: Material for this course is available here
|
||||
CourseMaterialsNoneVisible: Currently there is no material for this course or only material to which you don't have access (e.g. because of visibility settings)
|
||||
|
||||
MailSubjectAllocationResults allocation: Placements have been made for the central allocation “#{allocation}”
|
||||
AllocationResultsLecturer: In the course of the central allocations placements have been made as follows:
|
||||
AllocationResultLecturer csh count count2: #{count} #{pluralEN count "participant" "participants"} (of #{count2}) for #{csh}
|
||||
@ -2125,7 +2070,6 @@ FavouritesUnavailableTip: Quick Actions for this course are currently not availa
|
||||
UserSimplifiedFeaturesOfStudyCsv: Simplified features of study
|
||||
UserSimplifiedFeaturesOfStudyCsvTip: Should field of study, degree, and semester be exported in separate columns for ease of processing? If so only the field of study associated by the user with their course registration will be exported.
|
||||
|
||||
Sex: Sex
|
||||
SexNotKnown: Unknown
|
||||
SexMale: Male
|
||||
SexFemale: Female
|
||||
|
||||
@ -177,4 +177,59 @@ CourseUsersExamRegistered count@Int64: #{show count} Teilnehmer:innen zur Prüfu
|
||||
CourseUsersSubmissionGroupSetNew count@Int64: #{show count} Benutzer:innen der festen Abgabegruppe zugeordnet
|
||||
CourseUsersSubmissionGroupUnset count@Int64: #{show count} Benutzer:innen aus ihren jeweiligen festen Abgabegruppen entfernt
|
||||
CourseUsersStateSet count@Int64: Zustand von #{show count} #{pluralDE count "Benutzer:in" "Benutzer:innen"} angepasst
|
||||
HeadingCourseMembers: Kursteilnehmer:innen
|
||||
HeadingCourseMembers: Kursteilnehmer:innen
|
||||
|
||||
#templates/course.hamlet
|
||||
LecturerFor: Dozent:in
|
||||
LecturersFor: Dozierende
|
||||
AssistantFor: Assistent:in
|
||||
AssistantsFor: Assistent:innen
|
||||
TutorsFor n@Int: #{pluralDE n "Tutor:in" "Tutor:innen"}
|
||||
CorrectorsFor n@Int: #{pluralDE n "Korrektor:in" "Korrektor:innen"}
|
||||
CourseParticipantsHeading: Kursteilnehmer:innen
|
||||
CourseParticipantsCount n@Int: #{n}
|
||||
CourseParticipantsCountOf n@Int m@Int: #{n} von #{m}
|
||||
CourseVisibility: Sichtbarkeit
|
||||
CourseInvisible: Dieser Kurs ist momentan nur für Dozierende, Assistent:innen, Tutor:innen, Korrektor:innen, angemeldete Teilnehmer:innen und Bewerber:innen sichtbar.
|
||||
CourseInvisibleOverridenByAllocation: Da die Zentralanmeldung, an welcher der Kurs teilnimmt aktuell offen für Bewerbungen ist, wird die Kurssichtbarkeit während der Bewerbungsphase forciert. Außerhalb der Bewerbungsphase ist der Kurs nur für Dozierende, Assistent:innen, Tutor:innen, Korrektor:innen, angemeldete Teilnehmer:innen und Bewerber:innen sichtbar.
|
||||
CourseRegistrationInterval: Anmeldung
|
||||
CourseDirectRegistrationInterval: Direkte Anmeldung
|
||||
CourseDeregisterUntil time@Text: Abmeldung nur bis #{time}
|
||||
CourseApplicationInstructionsApplication: Anweisungen zur Bewerbung
|
||||
CourseApplicationInstructionsRegistration: Anweisungen zur Anmeldung
|
||||
CourseApplicationTemplateApplication: Bewerbungsvorlage(n)
|
||||
CourseApplicationTemplateRegistration: Anmeldungsvorlage(n)
|
||||
CourseRegistration: Kursanmeldung
|
||||
NotRegistered: Sie sind zu diesem Kurs nicht angemeldet.
|
||||
CourseApplicationDeleteToEdit: Um Ihre Bewerbung zu editieren müssen Sie sie zunächst zurückziehen und sich erneut bewerben.
|
||||
CourseMaterial: Material
|
||||
CourseMaterialNotFree: Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer:innen, Tutor:innen, Korrektor:innen und Verwalter:innen.
|
||||
CourseMaterialsFoundHere: Material zum Kurs finden Sie hier
|
||||
CourseMaterialsNoneVisible: Aktuell gibt es zu diesem Kurs kein Material, oder nur Material auf das Sie keinen Zugriff haben (z.B. aufgrund von Fristen bzgl. der Sichtbarkeit).
|
||||
CourseSheetsFoundHere: Die Übungsblatter zum Kurs finden Sie hier
|
||||
CourseSheetsNoneVisible: Aktuell gibt es zu diesem Kurs keine Übungsblätter, oder nur Übungsblätter auf die Sie keinen Zugriff haben (z.B. aufgrund von Fristen bzgl. der Sichtbarkeit).
|
||||
SheetListCourse: Übungsblätter
|
||||
CourseExams: Prüfungen
|
||||
CourseTutorials: Tutorien
|
||||
|
||||
#templates course/user
|
||||
CourseUserCorrections: Abgaben
|
||||
CourseSubmissionGradingSummaryTitle intgr@Integer: #{intgr} #{pluralDE intgr "Abgabe" "Abgaben"}
|
||||
CourseSingleUserExams: Prüfungen
|
||||
CourseSingleUserTutorials: Tutorien
|
||||
Surname: Nachname(n)
|
||||
FirstName: Vorname(n)
|
||||
Title: Titel
|
||||
NoMatrikelKnown: Keine Matrikelnummer
|
||||
CourseDeregisterLecturerTip: Wenn Sie den/die Teilnehmer/Teilnehmerin vom Kurs abmelden kann es sein, dass sie Zugriff auf diese Daten verlieren
|
||||
StudyTerms: Studiengänge
|
||||
NoStudyTermsKnown: Keine Studiengänge bekannt
|
||||
CourseMembersCountOf n@Int mbNum@(Maybe Int): #{n} Kursanmeldungen #{maybeToMessage " von " mbNum " möglichen"}
|
||||
|
||||
#template course/application
|
||||
CourseAllocationsBounds n@Int: Voraussichtliche Zuteilungen durch #{pluralDE n "Zentralanmeldung" "Zentralanmeldungen"}
|
||||
CourseAllocationsBoundCoincide numFirstChoice@Int: Vstl. #{numFirstChoice} #{pluralDE numFirstChoice "Teinehmer:in" "Teinehmer:innen"}
|
||||
CourseAllocationsBound numApps@Int numFirstChoice@Int: Vstl. zwischen #{numFirstChoice} und #{numApps} #{pluralDE numApps "Teinehmer:in" "Teinehmer:innen"}
|
||||
CourseAllocationsBoundCapped: Die obige Anzeige wurde durch die aktuell angegebene Kurskapazität reduziert.
|
||||
CourseAllocationsBoundWarningOpen: Diese Informationen entsprechen nur dem aktuellen Stand der Bewerbungen und können sich noch ändern.
|
||||
CourseApplications: Bewerbungen
|
||||
|
||||
@ -177,4 +177,59 @@ CourseUsersExamRegistered count: Successfully registered #{show count} users for
|
||||
CourseUsersSubmissionGroupSetNew count: Successfully added #{show count} #{pluralEN count "user" "users"} to submission group
|
||||
CourseUsersSubmissionGroupUnset count: Successfully removed #{show count} #{pluralEN count "user" "users"} from their #{pluralEN count "submission group" "respective submission groups"}
|
||||
CourseUsersStateSet count: Successfully changed state of #{show count} #{pluralEN count "user" "users"}
|
||||
HeadingCourseMembers: Participants
|
||||
HeadingCourseMembers: Participants
|
||||
|
||||
#templates/course.hamlet
|
||||
LecturerFor: Lecturer
|
||||
LecturersFor: Lecturers
|
||||
AssistantFor: Assistant
|
||||
AssistantsFor: Assistants
|
||||
TutorsFor n: #{pluralEN n "Tutor" "Tutors"}
|
||||
CorrectorsFor n: #{pluralEN n "Corrector" "Correctors"}
|
||||
CourseParticipantsHeading: Course participants
|
||||
CourseParticipantsCount n: #{n}
|
||||
CourseParticipantsCountOf n m: #{n} of #{m}
|
||||
CourseVisibility: Visibility
|
||||
CourseInvisible: This course is currently only visible to lecturers, assistants, tutors, correctors, enrolled participants and applicants.
|
||||
CourseInvisibleOverridenByAllocation: Because the allocation this course participates in is currently open for application, the course is forced to be visible. After the application phase, the course will only be visible to lecturers, assistants, tutors, correctors, enrolled participants and applicants.
|
||||
CourseRegistrationInterval: Enrolment
|
||||
CourseDirectRegistrationInterval: Direct enrolment
|
||||
CourseDeregisterUntil time: Deregistration only until #{time}
|
||||
CourseApplicationInstructionsApplication: Instructions for application
|
||||
CourseApplicationInstructionsRegistration: Instructions for registration
|
||||
CourseApplicationTemplateApplication: Application template(s)
|
||||
CourseApplicationTemplateRegistration: Registration template(s)
|
||||
CourseRegistration: Enrolment
|
||||
NotRegistered: Note enrolled for this course
|
||||
CourseApplicationDeleteToEdit: You need to withdraw your application and reapply to edit your application.
|
||||
CourseMaterial: Material
|
||||
CourseMaterialNotFree: Course material is only accessible to members of the course, e.g. for participants, tutors, correctors or administratiors.
|
||||
CourseMaterialsFoundHere: Material for this course is available here
|
||||
CourseMaterialsNoneVisible: Currently there is no material for this course or only material to which you don't have access (e.g. because of visibility settings)
|
||||
CourseSheetsFoundHere: Exercise sheets for this course are available here
|
||||
CourseSheetsNoneVisible: Currently there are no exercise sheets for this course or only exercise sheets to which you don't have access (e.g. because of visibility settings)
|
||||
SheetListCourse: Exercise sheets
|
||||
CourseExams: Exams
|
||||
CourseTutorials: Tutorials
|
||||
|
||||
#templates course/user
|
||||
CourseUserCorrections: Submissions
|
||||
CourseSubmissionGradingSummaryTitle intgr: #{intgr} #{pluralEN intgr "submission" "submissions"}
|
||||
CourseSingleUserExams: Exams
|
||||
CourseSingleUserTutorials: Tutorials
|
||||
Surname: Surname(s)
|
||||
FirstName: Given name(s)
|
||||
Title: Title
|
||||
NoMatrikelKnown: No matriculation
|
||||
CourseDeregisterLecturerTip: If you deregister the participant you might loose access to this data
|
||||
StudyTerms: Fields of study
|
||||
NoStudyTermsKnown: No known features of study
|
||||
CourseMembersCountOf n mbNum: #{n} #{maybeToMessage "of " mbNum " "}participants
|
||||
|
||||
#template course/application
|
||||
CourseAllocationsBounds n: Expected number of alloctions due to #{pluralEN n "central allocation" "central allocations"}
|
||||
CourseAllocationsBoundCoincide numFirstChoice: Est. #{numFirstChoice} #{pluralEN numFirstChoice "participant" "participants"}
|
||||
CourseAllocationsBound numApps numFirstChoice: Est. between #{numFirstChoice} and #{numApps} #{pluralEN numApps "participant" "participants"}
|
||||
CourseAllocationsBoundCapped: The numbers listed above were modified based on the currently configured course capacity.
|
||||
CourseAllocationsBoundWarningOpen: The information listed above represents only the current state of applications and is subject to change.
|
||||
CourseApplications: Applications
|
||||
|
||||
@ -148,7 +148,7 @@ allocationApplicationsForm aId courses FieldSettings{..} fvRequired = formToAFor
|
||||
\ ^{iconOK}
|
||||
$if is _Just mApplicationTemplate || is _Just courseApplicationsInstructions
|
||||
<div .allocation-course__instructions-label .allocation__label>
|
||||
_{MsgCourseApplicationInstructionsApplication}
|
||||
_{MsgCourseAllocationApplicationInstructionsApplication}
|
||||
<div .allocation-course__instructions>
|
||||
$maybe aInst <- courseApplicationsInstructions
|
||||
<p>
|
||||
@ -156,7 +156,7 @@ allocationApplicationsForm aId courses FieldSettings{..} fvRequired = formToAFor
|
||||
$maybe templateUrl <- mApplicationTemplate
|
||||
<p>
|
||||
<a href=#{templateUrl}>
|
||||
#{iconRegisterTemplate} _{MsgCourseApplicationTemplateApplication}
|
||||
#{iconRegisterTemplate} _{MsgCourseAllocationApplicationTemplateApplication}
|
||||
<div .allocation-course__application-label .interactive-fieldset__target .allocation__label uw-interactive-fieldset data-conditional-input=#{maybe "" fvId afvPriority} data-conditional-value="" data-conditional-negated>
|
||||
_{MsgCourseApplication}
|
||||
<div .allocation-course__application .interactive-fieldset__target uw-interactive-fieldset data-conditional-input=#{maybe "" fvId afvPriority} data-conditional-value="" data-conditional-negated>
|
||||
|
||||
@ -257,7 +257,7 @@ courseUserSubmissionsSection (Entity cid Course{..}) (Entity uid _) = do
|
||||
] -- Continue here
|
||||
filterUI = Just $ \mPrev -> mconcat
|
||||
[ prismAForm (singletonFilter "user-name-email") mPrev $ aopt textField (fslI MsgCourseCourseMembers)
|
||||
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgMatrikelNr)
|
||||
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgTableMatrikelNr)
|
||||
-- "pseudonym" TODO DB only stores Word24
|
||||
, Map.singleton "sheet-search" . maybeToList <$> aopt textField (fslI MsgSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev)))
|
||||
, prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgCorrector)
|
||||
|
||||
@ -148,7 +148,7 @@ colUserSex' :: IsDBTable m c => Colonnade Sortable UserTableData (DBCell m c)
|
||||
colUserSex' = colUserSex $ hasUser . _userSex
|
||||
|
||||
colUserSubmissionGroup :: IsDBTable m c => Colonnade Sortable UserTableData (DBCell m c)
|
||||
colUserSubmissionGroup = sortable (Just "submission-group") (i18nCell MsgSubmissionGroup) $
|
||||
colUserSubmissionGroup = sortable (Just "submission-group") (i18nCell MsgTableSubmissionGroup) $
|
||||
foldMap (cell . toWidget) . preview (_userSubmissionGroup . _entityVal . _submissionGroupName)
|
||||
|
||||
colUserSheets :: forall m c. IsDBTable m c => [SheetName] -> Cornice Sortable ('Cap 'Base) UserTableData (DBCell m c)
|
||||
@ -429,7 +429,7 @@ makeCourseUserTable cid acts restrict colChoices psValidator csvColumns = do
|
||||
, fltrUserMatriclenrUI mPrev
|
||||
] ++
|
||||
[ fltrUserSexUI mPrev | showSex ] ++
|
||||
[ prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgSubmissionGroup)
|
||||
[ prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup)
|
||||
, prismAForm (singletonFilter "tutorial") mPrev $ aopt textField (fslI MsgCourseUserTutorial)
|
||||
, prismAForm (singletonFilter "exam") mPrev $ aopt textField (fslI MsgCourseUserExam)
|
||||
, fltrRelevantStudyFeaturesDegreeUI mPrev
|
||||
@ -588,7 +588,7 @@ postCUsersR tid ssh csh = do
|
||||
, pure . singletonMap CourseUserRegisterExam $ CourseUserRegisterExamData <$>
|
||||
multiActionAOpts examOccActs examActs (fslI MsgCourseExam) Nothing
|
||||
, pure . singletonMap CourseUserSetSubmissionGroup $ CourseUserSetSubmissionGroupData . assertM (not . Text.null . CI.original)
|
||||
<$> aopt (textField & cfStrip & cfCI & addDatalist submissionGroupOpts) (fslI MsgSubmissionGroup & setTooltip MsgSubmissionGroupEmptyIsUnsetTip) Nothing
|
||||
<$> aopt (textField & cfStrip & cfCI & addDatalist submissionGroupOpts) (fslI MsgTableSubmissionGroup & setTooltip MsgSubmissionGroupEmptyIsUnsetTip) Nothing
|
||||
, guardOn mayRegister . singletonMap CourseUserDeregister $ courseUserDeregisterForm cid
|
||||
, guardOn mayRegister . singletonMap CourseUserReRegister $ pure CourseUserReRegisterData
|
||||
, guardOn (not $ null personalisedSheets) . singletonMap CourseUserDownloadPersonalisedSheetFiles $
|
||||
|
||||
@ -136,13 +136,13 @@ colSubmittors = sortable (Just "submittors") (i18nCell MsgSubmissionUsers) $ \DB
|
||||
| otherwise -> mempty
|
||||
|
||||
colSMatrikel :: IsDBTable m a => Colonnade Sortable CorrectionTableData (DBCell m a)
|
||||
colSMatrikel = sortable (Just "submittors-matriculation") (i18nCell MsgMatrikelNr) $ \DBRow{ dbrOutput=(_, _, (_, csh, tid, ssh), _, _, users, _, hasAccess) } ->
|
||||
colSMatrikel = sortable (Just "submittors-matriculation") (i18nCell MsgTableMatrikelNr) $ \DBRow{ dbrOutput=(_, _, (_, csh, tid, ssh), _, _, users, _, hasAccess) } ->
|
||||
let protoCell = listCell (Map.toList $ Map.mapMaybe (\x@(User{userMatrikelnummer}, _, _) -> (x,) <$> assertM (not . null) userMatrikelnummer) users) $ \(userId, (_, matr)) -> anchorCellCM $cacheIdentHere (CourseR tid ssh csh . CUserR <$> encrypt userId) matr
|
||||
in if | hasAccess -> protoCell & cellAttrs <>~ [("class", "list--inline list--comma-separated")]
|
||||
| otherwise -> mempty
|
||||
|
||||
colSGroups :: IsDBTable m a => Colonnade Sortable CorrectionTableData (DBCell m a)
|
||||
colSGroups = sortable (Just "submittors-group") (i18nCell MsgSubmissionGroup) $ \DBRow{ dbrOutput=(_, Entity _ Sheet{..}, _, _, _, users, _, hasAccess) } ->
|
||||
colSGroups = sortable (Just "submittors-group") (i18nCell MsgTableSubmissionGroup) $ \DBRow{ dbrOutput=(_, Entity _ Sheet{..}, _, _, _, users, _, hasAccess) } ->
|
||||
let protoCell = listCell (nubOn (view _2) . Map.toList $ Map.mapMaybe (view _3) users) $ \(_, sGroup) -> cell $ toWidget sGroup
|
||||
in if | hasAccess
|
||||
, is _RegisteredGroups sheetGrouping
|
||||
@ -697,13 +697,13 @@ postCCorrectionsR tid ssh csh = do
|
||||
] -- Continue here
|
||||
filterUI = Just $ \mPrev -> mconcat
|
||||
[ prismAForm (singletonFilter "user-name-email") mPrev $ aopt textField (fslI MsgCourseMembers)
|
||||
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgMatrikelNr)
|
||||
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgTableMatrikelNr)
|
||||
-- "pseudonym" TODO DB only stores Word24
|
||||
, Map.singleton "sheet-search" . maybeToList <$> aopt textField (fslI MsgSheet) (Just <$> listToMaybe =<< ((Map.lookup "sheet-search" =<< mPrev) <|> (Map.lookup "sheet" =<< mPrev)))
|
||||
, prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgCorrector)
|
||||
, prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgHasCorrector)
|
||||
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime)
|
||||
, prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgSubmissionGroup)
|
||||
, prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup)
|
||||
, prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgSubmission)
|
||||
]
|
||||
psValidator = def & defaultPagesize PagesizeAll -- Assisstant always want to see them all at once anyway
|
||||
@ -731,11 +731,11 @@ postSSubsR tid ssh csh shn = do
|
||||
]
|
||||
filterUI = Just $ \mPrev -> mconcat
|
||||
[ prismAForm (singletonFilter "user-name-email") mPrev $ aopt textField (fslI MsgCourseMembers)
|
||||
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgMatrikelNr)
|
||||
, prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgTableMatrikelNr)
|
||||
, prismAForm (singletonFilter "corrector-name-email") mPrev $ aopt textField (fslI MsgCorrector)
|
||||
, prismAForm (singletonFilter "isassigned" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgHasCorrector)
|
||||
, prismAForm (singletonFilter "israted" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgRatingTime)
|
||||
, prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgSubmissionGroup)
|
||||
, prismAForm (singletonFilter "submission-group") mPrev $ aopt textField (fslI MsgTableSubmissionGroup)
|
||||
, prismAForm (singletonFilter "submission") mPrev $ aopt (lift `hoistField` textField) (fslI MsgSubmission)
|
||||
-- "pseudonym" TODO DB only stores Word24
|
||||
]
|
||||
|
||||
@ -78,7 +78,7 @@ postUsersR = do
|
||||
, sortable (Just "name") (i18nCell MsgName) $ \DBRow{ dbrOutput = Entity uid User{..} } -> anchorCellM
|
||||
(AdminUserR <$> encrypt uid)
|
||||
(nameWidget userDisplayName userSurname)
|
||||
, sortable (Just "matriculation") (i18nCell MsgMatrikelNr) $ \DBRow{ dbrOutput = Entity uid User{..} } -> anchorCellM
|
||||
, sortable (Just "matriculation") (i18nCell MsgTableMatrikelNr) $ \DBRow{ dbrOutput = Entity uid User{..} } -> anchorCellM
|
||||
(AdminUserR <$> encrypt uid)
|
||||
(toWgt userMatrikelnummer)
|
||||
-- , sortable (Just "last-name") (i18nCell MsgName) $ \DBRow{ dbrOutput = Entity uid User{..} } -> anchorCellM
|
||||
@ -192,8 +192,8 @@ postUsersR = do
|
||||
]
|
||||
, dbtFilterUI = \mPrev -> mconcat
|
||||
[ prismAForm (singletonFilter "user-search") mPrev $ aopt textField (fslI MsgName)
|
||||
-- , prismAForm (singletonFilter "matriculation" ) mPrev $ aopt textField (fslI MsgMatrikelNr)
|
||||
, prismAForm (singletonFilter "matriculation") mPrev $ aopt matriculationField (fslI MsgMatrikelNr)
|
||||
-- , prismAForm (singletonFilter "matriculation" ) mPrev $ aopt textField (fslI MsgTableMatrikelNr)
|
||||
, prismAForm (singletonFilter "matriculation") mPrev $ aopt matriculationField (fslI MsgTableMatrikelNr)
|
||||
, prismAForm (singletonFilter "auth-ldap" . maybePrism _PathPiece) mPrev $ aopt (lift `hoistField` selectFieldList [(MsgAuthPWHash "", False), (MsgAuthLDAP, True)]) (fslI MsgAuthModeSet)
|
||||
, prismAForm (singletonFilter "school") mPrev $ aopt (lift `hoistField` selectFieldList schoolOptions) (fslI MsgCourseSchool)
|
||||
, prismAForm (singletonFilter "ldap-sync" . maybePrism _PathPiece) mPrev $ aopt utcTimeField (fslI MsgLdapSyncedBefore)
|
||||
|
||||
@ -457,7 +457,7 @@ fltrUserNameUI' mPrev = prismAForm (singletonFilter "user-name") mPrev $ aopt te
|
||||
colUserSex :: OpticColonnade (Maybe Sex)
|
||||
colUserSex resultSex = Colonnade.singleton (fromSortable header) body
|
||||
where
|
||||
header = Sortable (Just "user-sex") (i18nCell MsgSex)
|
||||
header = Sortable (Just "user-sex") (i18nCell MsgTableSex)
|
||||
body = views resultSex $ maybe mempty i18nCell
|
||||
|
||||
sortUserSex :: OpticSortColumn (Maybe Sex)
|
||||
@ -467,7 +467,7 @@ fltrUserSex :: OpticFilterColumn' t (Set Sex) (E.SqlExpr (E.Value (Maybe Sex)))
|
||||
fltrUserSex querySex = singletonMap "user-sex" . FilterColumn $ mkExactFilterWith Just (view querySex)
|
||||
|
||||
fltrUserSexUI :: DBFilterUI
|
||||
fltrUserSexUI mPrev = prismAForm (singletonFilter "user-sex" . maybePrism _PathPiece) mPrev $ aopt (hoistField liftHandler $ selectField optionsFinite :: Field _ Sex) (fslI MsgSex)
|
||||
fltrUserSexUI mPrev = prismAForm (singletonFilter "user-sex" . maybePrism _PathPiece) mPrev $ aopt (hoistField liftHandler $ selectField optionsFinite :: Field _ Sex) (fslI MsgTableSex)
|
||||
|
||||
|
||||
colUserName :: (IsDBTable m c, HasUser a) => Colonnade Sortable a (DBCell m c)
|
||||
@ -570,7 +570,7 @@ fltrUserMatriculationUI mPrev = prismAForm (singletonFilter "user-matriculation"
|
||||
|
||||
|
||||
colUserMatriclenr :: (IsDBTable m c, HasUser a) => Colonnade Sortable a (DBCell m c)
|
||||
colUserMatriclenr = sortable (Just "user-matriclenumber") (i18nCell MsgMatrikelNr) cellHasMatrikelnummer
|
||||
colUserMatriclenr = sortable (Just "user-matriclenumber") (i18nCell MsgTableMatrikelNr) cellHasMatrikelnummer
|
||||
|
||||
sortUserMatriclenr :: IsString d => (t -> E.SqlExpr (Entity User)) -> (d, SortColumn t r')
|
||||
sortUserMatriclenr queryUser = ("user-matriclenumber", SortColumn $ queryUser >>> (E.^. UserMatrikelnummer))
|
||||
@ -584,7 +584,7 @@ fltrUserMatriclenr queryUser = ("user-matriclenumber", FilterColumn . mkContains
|
||||
|
||||
fltrUserMatriclenrUI :: Maybe (Map FilterKey [Text]) -> AForm (YesodDB UniWorX) (Map FilterKey [Text])
|
||||
fltrUserMatriclenrUI mPrev =
|
||||
prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgMatrikelNr)
|
||||
prismAForm (singletonFilter "user-matriclenumber") mPrev $ aopt textField (fslI MsgTableMatrikelNr)
|
||||
|
||||
|
||||
----------------
|
||||
|
||||
@ -203,13 +203,13 @@ $# $if NTop (Just 0) < NTop (courseCapacity course)
|
||||
|
||||
$maybe mGroup <- submissionGroup
|
||||
<dt .deflist__dt>
|
||||
_{MsgSubmissionGroup}
|
||||
_{MsgTableSubmissionGroup}
|
||||
<dd .deflist__dd>
|
||||
$maybe groupName <- mGroup
|
||||
#{groupName}
|
||||
$nothing
|
||||
<i>
|
||||
_{MsgNoSubmissionGroup}
|
||||
_{MsgTableNoSubmissionGroup}
|
||||
|
||||
$if registrationOpen || isJust registration
|
||||
<dt .deflist__dt>
|
||||
|
||||
@ -2,4 +2,4 @@ $newline never
|
||||
<section>
|
||||
<h2>_{MsgCourseUserCorrections}
|
||||
^{cWdgt}
|
||||
^{gradeSummaryWidget MsgSubmissionGradingSummaryTitle statistics}
|
||||
^{gradeSummaryWidget MsgCourseSubmissionGradingSummaryTitle statistics}
|
||||
|
||||
@ -9,14 +9,14 @@ $newline never
|
||||
<dd .deflist__dd>#{userSurname}
|
||||
<dt .deflist__dt>_{MsgFirstName}
|
||||
<dd .deflist__dd>#{userFirstName}
|
||||
<dt .deflist__dt>_{MsgMatrikelNr}
|
||||
<dt .deflist__dt>_{MsgTableMatrikelNr}
|
||||
<dd .deflist__dd>
|
||||
$maybe matnr <- userMatrikelnummer
|
||||
#{matnr}
|
||||
$nothing
|
||||
_{MsgNoMatrikelKnown}
|
||||
$maybe sex <- guardOn showSex =<< userSex
|
||||
<dt .deflist__dt>_{MsgSex}
|
||||
<dt .deflist__dt>_{MsgTableSex}
|
||||
<dd .deflist__dd>_{sex}
|
||||
<dt .deflist__dt>_{MsgTableEmail}
|
||||
<dd .deflist__dd>#{mailtoHtml userEmail}
|
||||
|
||||
@ -15,7 +15,7 @@ $newline never
|
||||
^{nameWidget userDisplayName userSurname}
|
||||
$maybe matnr <- userMatrikelnummer
|
||||
<dt .deflist__dt>
|
||||
_{MsgMatrikelNr}
|
||||
_{MsgTableMatrikelNr}
|
||||
<dd .deflist__dd>
|
||||
#{matnr}
|
||||
<dt .deflist__dt>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user