feat(i18n): additional en-eu

This commit is contained in:
Gregor Kleen 2019-10-29 14:21:23 +01:00
parent 4ff50b0147
commit 83a458ddf5
30 changed files with 2049 additions and 62 deletions

View File

@ -868,9 +868,9 @@ MailSubjectExamOfficeUserInvitation displayName@Text: Berücksichtigung von Prü
MailSubjectPasswordReset: Uni2work-Passwort ändern bzw. setzen
SheetGrading: Bewertung
SheetGradingPoints maxPoints@Points: #{maxPoints} Punkte
SheetGradingPassPoints maxPoints@Points passingPoints@Points: Bestanden ab #{passingPoints} von #{maxPoints} Punkten
SheetGradingPassBinary: Bestanden/Nicht Bestanden
SheetGradingPoints maxPoints@Points: #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkte"}
SheetGradingPassPoints maxPoints@Points passingPoints@Points: Bestanden ab #{passingPoints} von #{maxPoints} #{pluralDE maxPoints "Punkt" "Punkten"}
SheetGradingPassBinary: Bestanden/Nicht Bestanden
SheetGradingInfo: "Bestanden nach Punkten" zählt sowohl zur maximal erreichbaren Gesamtpunktzahl also auch zur Anzahl der zu bestehenden Blätter.
SheetGradingCount': Anzahl
@ -924,10 +924,10 @@ NotificationTriggerExamRegistrationSoonInactive: Ich kann mich bald nicht mehr f
NotificationTriggerExamDeregistrationSoonInactive: Ich kann mich bald nicht mehr von einer Prüfung abmelden
NotificationTriggerExamResult: Ich kann ein neues Prüfungsergebnis einsehen
NotificationTriggerAllocationStaffRegister: Ich kann Kurse bei einer neuen Zentralanmeldung eintragen
NotificationTriggerAllocationAllocation: Ich kann Zentralanmeldung-Bewerbungen für einen meiner Kurse bewerten
NotificationTriggerAllocationAllocation: Ich kann Zentralanmeldungs-Bewerbungen für einen meiner Kurse bewerten
NotificationTriggerAllocationRegister: Ich kann mich bei einer neuen Zentralanmeldung bewerben
NotificationTriggerAllocationOutdatedRatings: Zentralanmeldung-Bewerbungen für einen meiner Kurse wurden verändert, nachdem sie bewertet wurden
NotificationTriggerAllocationUnratedApplications: Bewertungen zu Zentralanmeldung-Bewerbungen für einen meiner Kurse stehen aus
NotificationTriggerAllocationOutdatedRatings: Zentralanmeldungs-Bewerbungen für einen meiner Kurse wurden verändert, nachdem sie bewertet wurden
NotificationTriggerAllocationUnratedApplications: Bewertungen zu Zentralanmeldungs-Bewerbungen für einen meiner Kurse stehen aus
NotificationTriggerAllocationResults: Plätze wurden für eine meiner Zentralanmeldungen verteilt
NotificationTriggerExamOfficeExamResults: Ich kann neue Prüfungsergebnisse einsehen
NotificationTriggerExamOfficeExamResultsChanged: Prüfungsergebnisse wurden verändert
@ -1041,7 +1041,6 @@ EncodedSecretBoxCouldNotDecodeNonce: Konnte secretbox-nonce nicht dekodieren
EncodedSecretBoxCouldNotOpenSecretBox: Konnte libsodium-secretbox nicht öffnen (Verschlüsselte Daten sind nicht authentisch)
EncodedSecretBoxCouldNotDecodePlaintext aesonErr@String: Konnte Klartext nicht JSON-dekodieren: #{aesonErr}
ErrMsgHeading: Fehlermeldung entschlüsseln
ErrorCryptoIdMismatch: Verschlüsselte Id der Abgabe passte nicht zu anderen Daten
InvalidRoute: Konnte URL nicht interpretieren
@ -1122,7 +1121,7 @@ MenuExamAddMembers: Prüfungsteilnehmer hinzufügen
MenuExamOfficeExams: Prüfungen
MenuExamOfficeFields: Fächer
MenuExamOfficeUsers: Benutzer
MenuLecturerInvite: Dozenten hinzufügen
MenuLecturerInvite: Funktionäre hinzufügen
MenuAllocationInfo: Hinweise zum Ablauf einer Zentralanmeldung
MenuCourseApplicationsFiles: Dateien aller Bewerbungen
MenuSchoolList: Institute
@ -1262,7 +1261,7 @@ RGTutorialParticipants: Tutorium-Teilnehmer
MultiSelectFieldTip: Mehrfach-Auswahl ist möglich (Umschalt bzw. Strg)
MultiEmailFieldTip: Es sind mehrere, Komma-separierte, E-Mail-Addressen möglich
EmailInvitationWarning: Dem System ist kein Nutzer mit dieser Addresse bekannt. Es wird eine Einladung per E-Mail versandt.
EmailInvitationWarning: Es konnte kein Nutzer mit dieser Addresse im System gefunden werden (ggf. unter gewissen Einschränkungen). Es wird eine Einladung per E-Mail versandt.
LecturerInvitationAccepted lType@Text csh@CourseShorthand: Sie wurden als #{lType} für #{csh} eingetragen
LecturerInvitationDeclined csh@CourseShorthand: Sie haben die Einladung, Kursverwalter für #{csh} zu werden, abgelehnt
@ -1355,7 +1354,7 @@ 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: Übungen
CourseTutorials: Tutorien
ParticipantsN n@Int: #{n} Teilnehmer
TutorialDeleteQuestion: Wollen Sie das unten aufgeführte Tutorium wirklich löschen?
@ -1478,7 +1477,7 @@ ExamBonusRoundNonPositive: Vielfaches, auf das gerundet werden soll, muss positi
ExamBonusRoundTip: Bonuspunkte werden kaufmännisch auf ein Vielfaches der angegeben Zahl gerundet.
ExamAutomaticOccurrenceAssignment: Automatische Termin- bzw. Raumzuteilung
ExamAutomaticOccurrenceAssignmentTip: Sollen Prüfungsteilnehmer zum Zeitpunkt der Bekanntgabe der Raum- bzw. Terminzuteilung automatisch auf die zur Verfügung stehenden Räume bzw. Termine verteilt werden? Manuelle Umverteilung bzw. vorheriges Festlegen von Zuteilungen einzelner Teilnehmer ist trotzdem möglich.
ExamAutomaticOccurrenceAssignmentTip: Sollen Prüfungsteilnehmer automatisch auf die zur Verfügung stehenden Räume bzw. Termine verteilt werden? Manuelle Umverteilung bzw. vorheriges Festlegen von Zuteilungen einzelner Teilnehmer ist trotzdem möglich.
ExamOccurrenceRule: Verfahren
ExamOccurrenceRuleParticipant: Termin- bzw. Raumzuteilungsverfahren
ExamRoomManual': Keine automatische Zuteilung
@ -1523,7 +1522,7 @@ ExamPartName: Titel
ExamPartNameTip: Wird den Studierenden angezeigt
ExamPartMaxPoints: Maximalpunktzahl
ExamPartWeight: Gewichtung
ExamPartWeightTip: Wird vor Anzeige oder Notenberechnung mit der erreichten Punktzahl und der Maximalpunktzahl multipliziert; Änderungen hier passen auch bestehende Korrekturergebnisse an
ExamPartWeightTip: Wird vor Anzeige oder automatischen Notenberechnung mit der erreichten Punktzahl und der Maximalpunktzahl multipliziert; Änderungen hier passen also auch bestehende Korrekturergebnisse an (derart geänderte Noten müssen erneut manuell übernommen werden)
ExamPartResultPoints: Erreichte Punkte
ExamNameTaken exam@ExamName: Es existiert bereits eine Prüfung mit Namen #{exam}
@ -1945,7 +1944,7 @@ AcceptApplicationsSecondaryRandom: Zufällig
AcceptApplicationsSecondaryTime: Nach Zeitpunkt der Bewerbung
CsvOptions: CSV-Optionen
CsvOptionsTip: Diese Einstellungen betreffen nur den CSV-Export; beim Import werden die verwendeten Einstellungen automatisch ermittelt. Als Zeichenkodierung wird beim Import stets Unicode erwartet.
CsvOptionsTip: Diese Einstellungen betreffen primär den CSV-Export; beim Import werden die meisten Einstellungen automatisch ermittelt. Als Zeichenkodierung wird beim Import die selbe Kodierung wie beim Export erwartet.
CsvFormatOptions: Dateiformat
CsvTimestamp: Zeitstempel
CsvTimestampTip: Soll an den Namen jeder exportierten CSV-Datei ein Zeitstempel vorne angehängt werden?
@ -1964,6 +1963,7 @@ CsvDelimiterNull: Null-Byte
CsvDelimiterTab: Tabulator
CsvDelimiterComma: Komma
CsvDelimiterColon: Doppelpunkt
CsvDelimiterSemicolon: Strichpunkt
CsvDelimiterBar: Senkrechter Strich
CsvDelimiterSpace: Leerzeichen
CsvDelimiterUnitSep: Teilgruppentrennzeichen

File diff suppressed because it is too large Load Diff

View File

@ -272,6 +272,17 @@ noneMoreEN num noneText someText
| num == 0 = noneText
| otherwise = someText
ordinalEN :: ToMessage a
=> a
-> Text
ordinalEN (toMessage -> numStr) = case lastChar of
Just '1' -> [st|#{numStr}st|]
Just '2' -> [st|#{numStr}nd|]
Just '3' -> [st|#{numStr}rd|]
_other -> [st|#{numStr}th|]
where
lastChar = last <$> fromNullable numStr
-- Convenience Type for Messages, since Yesod messages cannot deal with compound type identifiers
type IntMaybe = Maybe Int

View File

@ -1235,13 +1235,14 @@ csvFormatOptionsForm fs mPrev = hoistAForm liftHandler . multiActionA csvActs fs
MsgRenderer mr <- getMsgRenderer
let
opts =
[ (MsgCsvDelimiterNull, '\0')
, (MsgCsvDelimiterTab, '\t')
, (MsgCsvDelimiterComma, ',')
, (MsgCsvDelimiterColon, chr 58)
, (MsgCsvDelimiterBar, '|')
, (MsgCsvDelimiterSpace, ' ')
, (MsgCsvDelimiterUnitSep, chr 31)
[ (MsgCsvDelimiterNull, '\0')
, (MsgCsvDelimiterTab, '\t')
, (MsgCsvDelimiterComma, ',')
, (MsgCsvDelimiterColon, chr 58)
, (MsgCsvDelimiterSemicolon, chr 59)
, (MsgCsvDelimiterBar, '|')
, (MsgCsvDelimiterSpace, ' ')
, (MsgCsvDelimiterUnitSep, chr 31)
]
olReadExternal t = do
i <- readMay t

View File

@ -0,0 +1,65 @@
<section>
<p>
This page is intended only to test certain functionality and to demonstrate
various helper functions and modules.
This handler should contain up to date examples of all functions so it can
be the first point of contact.
<p>
^{iconTooltip testTooltipMsg Nothing False}
^{messageTooltip msgInfoTooltip}
^{messageTooltip msgSuccessTooltip}
^{messageTooltip msgWarningTooltip}
^{messageTooltip msgErrorTooltip}
^{messageTooltip msgNonDefaultIconTooltip}
<p>
<span .tooltip>
<span .tooltip__content>Buy Tooltip-White for brighter tooltips!
The tooltip handle should always be set so tooltips are usable on mobile devices and without javascript.
<section>
<h2>Manually created table
<table .table .table--striped>
<tr .table__row .table__row--head>
<th .table__th colspan=2> Header A
<th .table__th rowspan=2> Header
<tr .table__row .table__row--head>
<th .table__th> B
<th .table__th> C
<tr .table__row title="Example of line tooltip">
<td .table__td>1
<td .table__td>2
<td .table__td>3
<tr .table__row>
<td .table__td>
<span .tooltip>
<span .tooltip__content>Buy Tooltip-White for brighter tooltips! (DOES NOT WORK)
4
<td .table__td>5
<span .tooltip>
<span .tooltip__content>Buy Tooltip-White for brighter tooltips! (DOES NOT WORK)
<td .table__td>6
<tr .table__row>
<td .table__td>7
<td .table__td>8
<td .table__td>9
<section>
<h2>Functions for testing
<ul>
<li>
Button test:
^{btnForm}
<li>
Modals:
<ul>
<li>^{modal "Click me for ajax test" (Left $ SomeRoute UsersR)}
<li>^{modal "Click me for content test" (Right "Test Inhalt für Modal")}
<li>^{modal "Email-Test" (Right emailWidget')}
<li>
Some icons: ^{isVisible False} ^{hasComment True}

View File

@ -0,0 +1,88 @@
$newline text
<section>
<p>
Every central allocations progresses through the following stages in order:
<dl .deflist>
<dt .deflist__dt>
_{MsgAllocationStaffRegister}
<dd .deflist__dd>
<p>
Course administrators may register their courses for participation in
the central allocation and deregister them again at will.
<p>
Whether students are expected to provide text or files with their
applications is configured on a course-by-course basis.
Course administrators may specify instructions for application e.g. what
content the application files should have.
<p>
Courses registered for participation in the central allocation can not
gain participants through the entire course of the allocation.
Not even through manual enrollment by course administrators.
<dt .deflist__dt>
_{MsgAllocationRegister}
<dd .deflist__dd>
<p>
Only during this phase may students apply to the various courses which
participate in the central allocation.
<p>
Applicants may assign priorities ("this course would be my first choice"
down to "I will only participate in this course if nothing else is
available to me") to courses they apply to.
Multiple courses may have the same priority.
<p>
Applications and priorities may be freely edited and retracted during
the application period.
<p>
Students may request more than one placement from a central allocation.
Additional placements are made if sufficient capacity is available
and/or placements are sufficiently urgent.
<p>
Application texts and/or files need to be specified for each course
individually, as requested by the course administrators.
<dt .deflist__dt>
_{MsgAllocationStaffAllocation}
<dd .deflist__dd>
<p>
Only during this phase may course administrators inspect and grade
applications.
$# <p>
$# Nur in manchen Zentralanmeldungen dürfen Veranstalter
$# Bewerber jetzt direkt ablehnen und/oder übernehmen.
$# <p>
$# Veranstalter haben noch eine letzte Möglichkeit,
$# die Kurskapazität anzupassen.
<dt .deflist__dt>
_{MsgAllocationProcess}
<dd .deflist__dd>
<p>
Placements in courses are made with regard to the current study
progress, urgency, and the grading of the application as determined by a
course administrator.
<p>
Applicants are directly enrolled in the selected courses.
Applicants which leave courses they were assigned in the course of a
central allocation may be affected negatively by this in future central
allocations.
<p>
Only after placements have been made, may course administrators enroll
and deregister participants of their courses.
Course administrators can request to be assigned successors to fill
their courses' remaining capacity.
<p>
Central allocation procedure may vary.
<em>
In particular: #
If, on the central allocation's page, no times are specified for one of the
phases mentioned above, the time in question has not been determined yet!
<p>
Multiple central allocations are handled entirely independently of one
another.

View File

@ -0,0 +1,253 @@
$newline never
<dl .deflist>
<dt .deflist__dt>
^{formatGregorianW 2019 10 23}
<dd .deflist__dd>
<ul>
<li>Introduced option to timestamp all exported CSV files
<li>Introduced CSV export option to set the character encoding used
<dt .deflist__dt>
^{formatGregorianW 2019 10 14}
<dd .deflist__dd>
<ul>
<li>Control of settings for a tutorial may be delegated to the respective tutors
<li>Optionally display sex in (among others) lists of course participants
<dt .deflist__dt>
^{formatGregorianW 2019 10 10}
<dd .deflist__dd>
<ul>
<li>CSV export of course participants now includes registered tutorials
<li>Course participant may be registered for tutorials via the course participant table
<dt .deflist__dt>
^{formatGregorianW 2019 10 09}
<dd .deflist__dd>
<ul>
<li>Course occurrences
<li>CSV export of course participants now optionally includes all features of study
<dt .deflist__dt>
^{formatGregorianW 2019 10 08}
<dd .deflist__dd>
<ul>
<li>Users are notified if they are enrolled in courses by administrators
<li>CSV export of course participants
<dt .deflist__dt>
^{formatGregorianW 2019 10 01}
<dd .deflist__dd>
<ul>
<li>Course news
<dt .deflist__dt>
^{formatGregorianW 2019 09 27}
<dd .deflist__dd>
<ul>
<li>Option to automatically accept applications for courses outside of central allocations
<dt .deflist__dt>
^{formatGregorianW 2019 09 25}
<dd .deflist__dd>
<ul>
<li>Automatic computation of exam boni
<li>Automatic computation of exam results
<li><i>Bugfix</i>: Times are no longer reset when loading a form
<li><i>Bugfix</i>: Participants are no longer duplicated in the exam achievements table
<dt .deflist__dt>
^{formatGregorianW 2019 09 16}
<dd .deflist__dd>
<ul>
<li>Exam offices (including direct access to relevant exam achievements)
<li>Email notifications to relevant exam offices when exams are closed
<li>Closure of exams (i.e. notification of relevant exam offices) is now a button instead of a predetermined time
<dt .deflist__dt>
^{formatGregorianW 2019 09 13}
<dd .deflist__dd>
<ul>
<li>Notifications for exam registration and deregistration
<dt .deflist__dt>
^{formatGregorianW 2019 09 12}
<dd .deflist__dd>
<ul>
<li>Estimation of course capacity required to satisfy central allocations
<li>Configurable display names
<li>Configulable display emails
<dt .deflist__dt>
^{formatGregorianW 2019 09 05}
<dd .deflist__dd>
<ul>
<li>Notifications for central allocations
<dt .deflist__dt>
^{formatGregorianW 2019 08 27}
<dd .deflist__dd>
<ul>
<li>Grading of course applications via CSV
<dt .deflist__dt>
^{formatGregorianW 2019 08 19}
<dd .deflist__dd>
<ul>
<li>Applications for central allocations
<dt .deflist__dt>
^{formatGregorianW 2019 08 12}
<dd .deflist__dd>
<ul>
<li>Registration of courses for central allocation
<dt .deflist__dt>
^{formatGregorianW 2019 07 23}
<dd .deflist__dd>
<ul>
<li>CSV import & export of exam participants
<dt .deflist__dt>
^{formatGregorianW 2019 06 26}
<dd .deflist__dd>
<ul>
<li>Rudimentary support for exams
<dt .deflist__dt>
^{formatGregorianW 2019 06 07}
<dd .deflist__dd>
<ul>
<li>Exercise sheets can enforce certain file names and extensions
<li>Download of all files for exercise sheets (by classification) as ZIP archives
<dt .deflist__dt>
^{formatGregorianW 2019 05 20}
<dd .deflist__dd>
<ul>
<li>Completely reworked automatic distribution of corrections
<dt .deflist__dt>
^{formatGregorianW 2019 05 13}
<dd .deflist__dd>
<ul>
<li>Course administrators may enroll participants
<dt .deflist__dt>
^{formatGregorianW 2019 05 10}
<dd .deflist__dd>
<ul>
<li>Improved interface for configuring submittors
<li>Download of all files for course material/exercise sheets
<dt .deflist__dt>
^{formatGregorianW 2019 05 04}
<dd .deflist__dd>
<ul>
<li>Course material
<dt .deflist__dt>
^{formatGregorianW 2019 04 29}
<dd .deflist__dd>
<ul>
<li>Tutorials
<li>Display of correctors on course overview pages
<dt .deflist__dt>
^{formatGregorianW 2019 04 20}
<dd .deflist__dd>
<ul>
<li>Sending of course messages to participants
<li>Configuration of course correctors and administrators without existing accounts
<dt .deflist__dt>
^{formatGregorianW 2019 03 27}
<dd .deflist__dd>
<ul>
<li>Course administrators can now configure course administrators and assistants themselves
<li>Features of study
<dt .deflist__dt>
^{formatGregorianW 2019 03 20}
<dd .deflist__dd>
<ul>
<li>Course enrollment requires association of a field of study (for students with multiple fields)
<dt .deflist__dt>
^{formatGregorianW 2019 01 30}
<dd .deflist__dd>
<ul>
<li>Design changes
<dt .deflist__dt>
^{formatGregorianW 2019 01 16}
<dd .deflist__dd>
<ul>
<li>Convenience links (i.e. current exercise sheet)
<li>Filters for list of assigned corrections
<li><i>Bugfix</i>: Proper error message for if entries vanish between generation of table form and submission
<dt .deflist__dt>
^{formatGregorianW 2018 11 30}
<dd .deflist__dd>
<ul>
<li><i>Bugfix</i>: Exercise sheets in "passing by points"-mode now saved correctly again
<dt .deflist__dt>
^{formatGregorianW 2018 11 29}
<dd .deflist__dd>
<ul>
<li><i>Bugfix</i>: Table forms now work after JavaScript page changes and changes in sorting
<dt .deflist__dt>
^{formatGregorianW 2018 11 09}
<dd .deflist__dd>
<ul>
<li><i>Bugfix</i>: Multiple buttons/forms no work again when JavaScript is enabled
<li>Multiple improvements for correctors
<dt .deflist__dt>
^{formatGregorianW 2018 10 19}
<dd .deflist__dd>
<ul>
<li>During testing users may completely delete their accounts
<li>Support widget
<li>Email notifications for some events
<dt .deflist__dt>
^{formatGregorianW 2018 09 18}
<dd .deflist__dd>
<ul>
<li>Tooltips now work without JavaScript
<li>Course shorthands now only need to be unique within a department
<li>Personal information now shows all currently saved data
<li>Support for table summaries e.g. sums of exercise points
<li>Smart distribution of corrections among correctors (e.g. when some are sick)
<li>Exercise sheets may prohibit submission of files and determine whether ZIP archives should be unpacked automatically
<dt .deflist__dt>
^{formatGregorianW 2018 08 06}
<dd .deflist__dd>
<ul>
<li>Option whether files should be downloaded automatically
<dt .deflist__dt>
^{formatGregorianW 2018 08 01}
<dd .deflist__dd>
<ul>
<li>Improved campus login<br />
(Replacement of a C-library with undocumented runtime dependencies with a new haskell-library now supports special characters)
<dt .deflist__dt>
^{formatGregorianW 2018 07 31}
<dd .deflist__dd>
<ul>
<li>Numerous improvements for display of corrections
<li>Overall course list for all semesters (see "Courses"), will have filters and search functions in the future
<dt .deflist__dt>
^{formatGregorianW 2018 07 10}
<dd .deflist__dd>
<ul>
<li>Bugfixes
<li>Configurable date and time formats

View File

@ -0,0 +1,27 @@
<section>
<p>
Uploading a correction automatically marks it finished (i.e. visible to the
students) iff you were assigned that correction.
<p>
If an administrator that was not assigned the correction uploads it, it will
not be marked finished.
<p>
It is expected that rating files will, in the future, contain a field to
mark the correction as finished or not.
<p>
Contrary to UniWorX downloaded submissions always reflect the current state
of the correction.
This extends to files changed during previous corrections.
<section>
<p>
While marking a correction files may be changed, added, and deleted.
These changes will be visible to the submittors as soon as the correction is
marked finished.
<p>
Temporary files left by previous corrections should thus be deleted by the
last corrector if they should not be accessable to submittors.
$maybe maxUpload <- maxUploadMB
<p>
Uploads are currently limited to #{textBytes maxUpload}

View File

@ -0,0 +1,25 @@
$newline never
<p>
Here you can opt out of your exam achievements being shared with certain exam #
offices within Uni2work.
<p>
Please keep in mind that sharing your exam achievements with the relevant exam #
offices directly in Uni2work drastically reduces the workload (and thus time) #
required to properly consider all your exam achievements.
<p>
Some exam offices might have access to your exam achievements regardless of #
your settings.<br />
This is only the for well founded individual cases (e.g. students in the #
ERASMUS-programme).
<p>
Users that have access to your exam achievements regardless of your settings #
(e.g. course administrators) are, of course, free to forward your exam #
achievements to exam offices that do not pull from Uni2work (in that case they #
might not be listed here).
$if hasForced
<p>
If you are unable to opt out of sharing your exam achievements with certain #
exam offices, that exam office has specified that access to your grades is #
required either because of one of your fields of study (e.g. because study #
regulations) or for you specifically.

View File

@ -0,0 +1,25 @@
<h2>
Are you sure that you want to permanently delete ^{nameEmailWidget userEmail userDisplayName userSurname}?
<p>
During the testing phase users are deleted wholly from the live database via
<code>DELETE CASCADE uid
.
Nontheless exam achievements must be stored for 5 years after exmatriculation!
<p>
Users can log in again using their campus account at any time, which will
result in their user account starting empty again.
<p>
Uploaded submission files are deleted if they were associated with the deleted
user only.
Files of group submissions are only deleted when their last group member is
deleted.
<p>
<em>Caution:
Exercise submissions are deleted as well!
If a lecturer has not backed up the information regarding submissions
elsewhere this is expected to result in a loss of exercise bonus.
Grades synchronised externally should not be impacted by this but may not be
able to be reconstructed without the information of Uni2work-managed
submissions.
^{deleteForm}

View File

@ -0,0 +1,23 @@
$newline never
<div .notification .notification-warning .fa-exclamation-triangle .notification--broad>
<div .notification__content>
<p>
This table contains values that were computed automatically.
<p>
Values computed automatically (bonus and result) are shown to neither the #
participant nor relevant exam offices until they are manually accepted.<br />
To do this you may use the action “Accept computed result”.
<p>
You are also able to override the automatically computed values manually #
(via CSV import).<br />
If values thus overriden do not match the automatically computed values #
they are considered <i>inconsistent</i>.
<p>
Automatically computed values are marked as follows:
<table style="font-weight: normal">
<tr>
<td style="padding: 0 7px 0 0" .table__td .table__td--automatic>Automatically computed
<td style="padding: 0 7px" .table__td>Normal value
<td style="padding: 0 0 0 7px" .table__td .table__td--overriden>Inconsistent

View File

@ -5,5 +5,4 @@ $newline never
<ul>
<li> Stundenplan/Kalender mit allen Veranstaltungen und Klausuren
<li> Vollständige Vorlesungshomepages
<li> Vollständige Internationalisierung deutsch/englisch/...

View File

@ -0,0 +1,7 @@
$newline never
<p>
<h3>
Planned functionally, currently only partially implemented
<ul>
<li> Timetable/calendar with all courses and exams
<li> Complete course homepages

View File

@ -1,7 +1,8 @@
$newline never
<h3>Hinweis: Leerzeilen werden entfernt!
<p>
Das Eingabefeld für Mitteilungstext/Beschreibung akzeptiert derzeit nur Html.
Zeilumbrüche spielen dementsprechend keine Rolle, können aber mit
Das Eingabefeld akzeptiert derzeit nur Html.<br />
Zeilumbrüche spielen dementsprechend keine Rolle, können aber mit #
<code>&lt;br&gt;
eingefügt werden.
<p>

View File

@ -0,0 +1,10 @@
$newline never
<h3>Attention: line breaks will be removed!
<p>
The textarea currently accepts only Htmlp.<br />
Thus any linebreaks will be ignored but can be added using #
<code>&lt;br&gt;
.
<p>
We plan to support Markdown in the future.

View File

@ -1,6 +1,6 @@
$newline never
<p>
Uni2Work wird mit Hilfe des #
Uni2work wird mit Hilfe des #
<a href="https://www.yesodweb.com/">
Yesod-Frameworks
\ in #
@ -23,7 +23,7 @@ $newline never
<p>
<h4>
An der Entwicklung von Uni2Work beteiligte Personen
An der Entwicklung von Uni2work beteiligte Personen
<ul .list--iconless .list--inline .list--comma-separated>
<li>Felix Hamann (Frontend)
<li>Steffen Jost

View File

@ -0,0 +1,30 @@
$newline never
<p>
Uni2work is implemented using #
<a href="https://www.yesodweb.com/">
the Yesod framework
\ in #
<a href="https://www.haskell.org/">
Haskell
\ /
<a href="https://www.haskell.org/ghc/">
GHC
.<br />
The implementation conforms to
<a href="https://en.wikipedia.org/wiki/Representational_State_Transfer">
REST principles
\ and thus exhibits good horizontal scalability.<br />
<a href="https://www.postgresql.org/">
PostgreSQL
\ is being used as a database server.
<p>
<h4>
Involved in the development of Uni2work
<ul .list--iconless .list--inline .list--comma-separated>
<li>Felix Hamann (Frontend)
<li>Steffen Jost
<li>Gregor Kleen
<li>Sarah Vaupel

View File

@ -0,0 +1,6 @@
$newline never
<p>
Last updated: October 2019
<ul>
<li>
Format of rating files is provisional

View File

@ -8,18 +8,15 @@ $newline text
<li>
Nicht aufgeführt sind Zeitstempel mit Benutzerinformationen, z.B. bei der Editierung und Korrektur von Übungen, Übungsgruppenleiterschaft, Raumbuchungen, etc.
<li>
Sie können die
<a href=@{HelpR}>
Löschung Ihre Daten über eine Supportanfrage beantragen
. Ihre Daten werden dann nach Ablauf einer Frist gelöscht.
Daten, welche keiner gesetzlichen Aufbewahrungsfrist unterliegen
(z.B. Klausurnoten) verbleiben im System bis zur Ablauf der Aufbewahrungsfrist.
<p>
Benutzerdaten bleiben prinzipiell so lange gespeichert,
bis ein Institutsadministrator über die Exmatrikulation informiert wurde.
Dann wird der Account mit einer angemessenen zeitverzögerung gelöscht.
Anonymisierte Prüfungsnoten verbleiben aus statistischen Gründen dauerhaft im System.
<li>
Bei gemeinsamen Gruppenabgaben wird nur die Zuordnung zu diesem Benutzer gelöscht.
Die Abgabe selbst wird erst gelöscht, wenn alle Benutzer einer Abgabe deren Löschung veranlasst haben.
Sie können die
<a href=@{HelpR}>
Löschung Ihre Daten über eine Supportanfrage beantragen
. Ihre Daten werden dann nach Ablauf einer Frist gelöscht.
Daten, welche keiner gesetzlichen Aufbewahrungsfrist unterliegen
(z.B. Klausurnoten) verbleiben im System bis zur Ablauf der Aufbewahrungsfrist.
<p>
Benutzerdaten bleiben prinzipiell so lange gespeichert,
bis ein Institutsadministrator über die Exmatrikulation informiert wurde.
Dann wird der Account mit einer angemessenen zeitverzögerung gelöscht.
Anonymisierte Prüfungsnoten verbleiben aus statistischen Gründen dauerhaft im System.

View File

@ -0,0 +1,24 @@
$newline text
<section>
<h2>Remarks
<ul>
<li>
Back up your data! Uni2work's database is backed up daily but we can
nontheless not guarantee that there will be no problems.
<li>
Timestamps with user information (e.g. editing of corrections, submission groups, rooms, ...) are not shown here.
<li>
<p>
You can request your data be deleted by opening
<a href=@{HelpR}>
a support request
.
Your data will then be deleted after a suitable time period has passed.
Data that falls under legal retention periods (e.g. exam results) remian
in the system until their retention period has passed.
<p>
User data remains in the system (in principle) until a department
administrator has been informed of exmatriculation.
After a suitable time period has passed the account is deleted.
Anonymised exam results remain in the system indefinitely for
statistical purposes.

View File

@ -0,0 +1,9 @@
$newline never
<ul>
<li>The display name needs to contain the surname (“#{userSurname}”) entirely.
$maybe title <- userTitle
<li>The display name needs to consist entirely of fragments of the title (“#{title}”), the given name (“#{userFirstName}”), and the surname (“#{userSurname}”).
$nothing
<li>The display name needs to consist entirely of fragments of the given name (“#{userFirstName}”), and the surname (“#{userSurname}”).
<li>The display name may not contain clusters of multiple whitespace characters.
<li>The display name may not contain any special characters that do not occur in any part of the name.

View File

@ -1,13 +1,11 @@
$newline never
<p>
Das System stellt gelegentlich Benutzer-bezogene <i>Authorisierungs-Tokens</i> aus.
Das System stellt gelegentlich Benutzer-bezogene <i>Authorisierungs-Tokens</i> aus.<br />
Diese Tokens erlauben es jedem, der in Besitz dieses Tokens ist, bestimmte Ihrer Benutzer-Rechte anzunehmen.
<p>
Dies ist insbesondere notwendig um verschickten Emails einen Link beifügen zu können, der das Deabonnieren von Benachrichtigungen erlaubt.
<p>
Mit dem untigen Knopf können Sie alle Authorisierungs-Tokens, die bisher für Sie ausgestellt wurden, als ungültig markieren.
Mit dem untigen Knopf können Sie alle Authorisierungs-Tokens, die bisher für Sie ausgestellt wurden, als ungültig markieren.<br />
Dies ist zum Beispiel dann notwendig, wenn Sie Grund haben zu vermuten, dass Dritte Zugriff auf eines Ihrer Tokens gehabt haben könnten.
<p>
Für die sichere Verwahrung Ihnen ausgehändigter Tokens sind immer Sie selbst verantwortlich.

View File

@ -0,0 +1,17 @@
$newline never
<p>
Uni2work occasionally generates user-specific <i>authorisation tokens</i>.<br />
These tokens allow anyone in possesion of the token to utilise certain of your #
permissions.
<p>
This is (among other purposes) necessary to include a link to edit your #
notification settings in every notification you receive.
<p>
By clicking the button below you can mark all tokens that have been generated #
for you until now as invalid.<br />
Doing so is necessary if you have reason to suspect that third parties might #
have had access to any of your tokens.
<p>
You are responsible for safely storing all authorisation tokens sent to you.

View File

@ -1,4 +1,5 @@
$newline never
<p>
Möchten Sie die, öffentlich im Zusammenhang mit Ihrem Namen angezeigte, E-Mail Adresse wirklich auf „#{displayEmail}“ setzen?
Möchten Sie die, öffentlich im Zusammenhang mit Ihrem Namen angezeigte, E-Mail #
Adresse wirklich auf „#{displayEmail}“ setzen?
^{btnView'}

View File

@ -0,0 +1,5 @@
$newline never
<p>
Are you sure that you want your display email, which will be made publicly #
available in conjunction with your name, to be “#{displayEmail}”?
^{btnView'}

View File

@ -1,3 +1,4 @@
$newline never
<section>
^{sheetEditForm}
@ -8,15 +9,15 @@
<p>
Reine Tutoren haben keinen Vorab Zugriff auf Musterlösungen.
<p>
Wenn reine Tutoren vorab Zugriff auf Musterlösungen erhalten sollen,
Wenn reine Tutoren vorab Zugriff auf Musterlösungen erhalten sollen, #
dann sind diese momentan als Korrektoren mit Anteil 0 einzutragen.
<li>
<p>
Korrektoren haben nur Zugriff auf das jeweilige Übungsblatt.
<p>
Auf andere Übungsblätter, bei denen jemand nicht als Korrektor
Auf andere Übungsblätter, bei denen jemand nicht als Korrektor #
eingetragen ist, gibt es keinen Zugriff auf Lösungen.
<li>
<p>
Alle für diesen Kurs eingetragenen Dozenten und Assistenten
haben vollen Zugriff auf alle Dateien der Übungsblatter dieses Kurses.
Alle für diesen Kurs eingetragenen Dozenten und Assistenten #
haben vollen Zugriff auf alle Dateien der Übungsblatter dieses Kurses.

View File

@ -0,0 +1,24 @@
$newline never
<section>
^{sheetEditForm}
<section>
<h2>Remarks
<ul>
<li>
<p>
Users who are purely tutors have no access to sheet solutions in #
advance.
<p>
If users who are purely tutors should have access to sheet solutions in #
advance, they are to registered as correctors with 0 proportion.
<li>
<p>
Correctors only have access to sheets for which they are assigned.
<p>
Correctors do not have access to other exercise sheets' solutions if #
they aren't also a corrector for the other sheet.
<li>
<p>
All course administrators have full access to all files of all exercise #
sheets for this course.

View File

@ -0,0 +1,54 @@
$newline never
<h3>Remarks regarding CSV import
<dl .deflist>
<dt .deflist__dt>Data formatting
<dd .deflist__dd>
When importing the format expected (per column) is the same as it would be #
produced when exporting (see <i>Column & cell format</i> under #
<i>CSV export</i>).<br />
Columns may be permuted arbitrarily or left out completely (in that case #
the column will be treated as if every cell contained within it was #
empty).<br />
Columns are identified based on their heading. #
Thus column headings may not be modified or removed.
<dt .deflist__dt>Edits
<dd .deflist__dd>
Some cells can be changed when importing.<br />
Cells that cannot be changed are ignored, if they were changed.
<dt .deflist__dt>Preview
<dd .deflist__dd>
Before any edits are applied a preview is shown of what would be done.<br />
In the preview an arbitrary subset of edits may be selected for #
application.
<dt .deflist__dt>Empty cells
<dd .deflist__dd>
Cells which may be deleted are deleted or set to uniquely determined #
values if the corresponding cell is empty during import.
<dt .deflist__dt>Consistency
<dd .deflist__dd>
<p>
Only consistent edits are ever made!
<p>
Thus it can be useful to leave certain cells empty. #
For example when changing the associated field of study for a course #
participant one would have to change the degree and semester to match if #
they are not left empty.<br />
If they are left empty they are automatically filled in if their values #
can be uniquely determined (which is usually the case).
<dt .deflist__dt>Identification of rows
<dd .deflist__dd>
Multiple columns may be used to identify each row.<br />
Thus not every cell used to identify a row needs to be filled, as long as #
the row can still be uniquely identified.<br />
If multiple columns used for identification are not empty their values #
need to be consistent.
<dt .deflist__dt>Adding rows
<dd .deflist__dd>
Additional rows may be added as long as sufficient information is #
provided. #
For example course participants may be added this way.
<dt .deflist__dt>Deleting rows
<dd .deflist__dd>
Rows that are missing in the imported file are offered up for deletion #
during the edit preview.

View File

@ -1,5 +1,6 @@
$newline never
<p>
Wilkommen zu Uni2work!
Willkommen zu Uni2work!
<p>
Nach dem Login erscheinen hier Ihre aktuellen Termine, wie z.B. bevorstehende
Nach dem Login erscheinen hier Ihre aktuellen Termine, wie z.B. bevorstehende #
Klausuren und aktive Übungsblätter.

View File

@ -0,0 +1,6 @@
$newline never
<p>
Welcome to Uni2work!
<p>
After you login your current and upcoming events, such as exams and active #
exercise sheets, will be listed here.