diff --git a/testdata/recognitions-ifi.yaml b/testdata/recognitions-ifi.yaml
index 1819a8eba..22596e6d3 100644
--- a/testdata/recognitions-ifi.yaml
+++ b/testdata/recognitions-ifi.yaml
@@ -1,6 +1,15 @@
"init":
- final: false
- messages: []
+ messages:
+ - viewers:
+ - &student
+ tag: payload-reference
+ payload-label: "student"
+ status: info
+ content:
+ fallback: "Hier können Sie Standardanerkennungen beantragen. Komplexere Anerkennungen, die hier nicht abgedeckt sind, bitte per Mail oder in der Sprechstunde beantragen."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Apply here for standard recognitions. For complex recognitions that cannot be handled here, please send an e-mail or apply in the consultation hours."
edges:
"antrag freischalten":
display-label:
@@ -34,9 +43,7 @@
en-eu: "Application unlocked"
viewers:
- *pruefungsamt
- - &student
- tag: payload-reference
- payload-label: "student"
+ - *student
payload-view: &payload-view-init
"student":
viewers:
@@ -56,8 +63,7 @@
en-eu: "Term"
"itkompetenz antrag, student":
- final: false
- messages: &messages-antrag-student
+ messages:
- <<: &message-antrag-student
viewers:
- *student
@@ -67,11 +73,42 @@
fallback-lang: de-de-formal
translations:
en-eu: "You may edit your application as often as you want. To have your application processed, however, you will have to “submit [it] for evaluation”. Afterwards you will only be able to edit your application if the exam office “hands it back” to you."
+ - viewers:
+ - *student
+ status: info
+ content:
+ fallback: "Anerkennung einer Werkstudententätigkeit als IT-Kompetenz. Hierfür müssen sie mindestens 90 Stunden einer Tätigkeit mit IT-Schwerpunkt vorweisen. Diese Anerkennung steht nur Studenten des Bachelor Informatik (Hauputfach) zur Verfügung."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Recognition of student employment as an „IT-Kompetenz“. Total work time must be at least 90 hours in an occupation with focus on IT-work. This recognition is only possible for students of Informatics (main studies)."
+ - &message-antrag-bescheidinhalt
+ viewers:
+ - *student
+ status: info
+ content:
+ fallback: >-
+ Sie benötigen einen Bescheid von Ihrem Arbeitgeber/Verein/..., aus dem folgende Dinge hervorgehen
+
+
+ - Beschreibung der Aufgaben und durchgeführte Tätigkeit
+ - ungefähre Gesamtzahl der geleisteten Arbeitsstunden (also entweder direkt in h angegeben, oder Wochenarbeitszeit und Zeitraum)
+ - Ungefährer Zeitraum der Tätigkeitsdurchführung, im Idealfall mit dem genauen Datum des Tätigkeitsendes
+
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: >-
+ You need to hand in a notification of your employer/club/... that includes at least the following information
+
+
+ - Description of the job duties and fullfilled tasks
+ - Rough number of performed work hours (may be given as total number of hours or work time per week and duration of occupation)
+ - Rough duration of the occupation, ideally the precise date of end of occupation
+
edges:
"itkompetenz beantragen":
mode: manual
display-label:
- fallback: "Eine Veranstaltung als IT-Kompetenz anerkennen (nur Informatik-Hauptfach Bachelor)"
+ fallback: "Eine Tätigkeit als IT-Kompetenz anerkennen (nur Informatik-Hauptfach Bachelor)"
fallback-lang: de-de-formal
translations:
en-eu: "Have an activity recognized as an „IT-Kompetenz“ (only for informatics bachelor as a primary field)"
@@ -83,10 +120,10 @@
- *student
form: &itkompetenz-form
"titel": &titel-form
- - "1":
+ - "1": &titel-field
tag: text
label:
- fallback: "Titelvorschlag für Veranstaltung"
+ fallback: "Titelvorschlag für Tätigkeit"
fallback-lang: de-de-formal
translations:
en-eu: "Suggested title of activity (in german)"
@@ -94,10 +131,10 @@
default: null
optional: false
"titel, englisch": &entitel-form
- - "2":
+ - "2": &entitel-field
tag: text
label:
- fallback: "Titelvorschlag für Veranstaltung, auf Englisch"
+ fallback: "Titelvorschlag für Tätigkeit, auf Englisch"
fallback-lang: de-de-formal
translations:
en-eu: "Suggested title of activity (in english)"
@@ -148,8 +185,14 @@
view-actor:
- *pruefungsamt
form: &itkompetenz-notizen-form
- "titel": *titel-form
- "titel, englisch": *entitel-form
+ "titel": &titel-form-optional
+ - "1":
+ <<: *titel-field
+ optional: true
+ "titel, englisch": &entitel-form-optional
+ - "2":
+ <<: *entitel-field
+ optional: true
"notizen": ¬izen-form
- "4":
tag: text
@@ -166,6 +209,19 @@
en-eu: "For communication with the student"
default: null
optional: false
+ <<: &internenotizen-formblock-optional
+ "internenotizen": &internenotizen-form-optional
+ - "5": &internenotizen-field-optional
+ tag: text
+ large: true
+ label:
+ fallback: "Interne Notizen"
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Internal notes"
+ tooltip: null
+ default: null
+ optional: true
viewers:
display-label:
fallback: "Antrag noch unfertig (IT-Kompetenz)"
@@ -205,18 +261,26 @@
fallback-lang: de-de-formal
translations:
en-eu: "Documentation"
- "notizen":
- viewers:
- - *student
- - *pruefungsamt
- display-label:
- fallback: "Notizen / Anmerkungen"
- fallback-lang: de-de-formal
- translations:
- en-eu: "Notes / Comments"
+ <<: &payload-view-notizen
+ "notizen":
+ viewers:
+ - *student
+ - *pruefungsamt
+ display-label:
+ fallback: "Notizen / Anmerkungen"
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Notes / Comments"
+ <<: &payload-view-internenotizen
+ "internenotizen":
+ viewers:
+ - *pruefungsamt
+ display-label:
+ fallback: "Interne Notizen (versteckt vor Antragsteller)"
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Comments (hidden from the applicant)"
"itkompetenz antrag, pa":
- final: false
- messages: []
viewers:
display-label:
fallback: "Antrag in Begutachtung (IT-Kompetenz)"
@@ -240,11 +304,36 @@
view-actor:
- *pruefungsamt
- *student
- form: {}
+ "interne notizen anpassen":
+ <<: &internenotizen-kante
+ mode: manual
+ display-label:
+ fallback: "Interne Notizen anpassen"
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Modify internal notes"
+ actors:
+ - *pruefungsamt
+ view-actor:
+ - *pruefungsamt
+ form: &internenotizen-formblock
+ "internenotizen": &internenotizen-form
+ - "1": &internenotizen-field
+ <<: *internenotizen-field-optional
+ optional: false
+ source: "itkompetenz antrag, pa"
payload-view: *payload-view-itkompetenz-notizen
"itkompetenz ok":
- final: true
- messages: []
+ final: ok
+ messages: &message-ok
+ - viewers:
+ - *student
+ status: info
+ content:
+ fallback: "Ihr Anerkennungsantrag ist akzeptiert. Sie wird in wenigen Wochen auf Ihrem Kontoauszug erscheinen, ohne dass Sie weiter etwas unternehmen müssen. In wirklich dringenden Fällen (und bitte nur dann) können Sie per Mail an Stephan Barth beantragen, dass die Leisung schneller auf Ihrem Kontoauszug auftaucht."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Your recognition application has been accepted. It will appear in a few weeks on your transcript of records. No further action is required. In urgend cases (please: Only then) you may send a mail to Stephan Barth to apply for fast inclusion into the transcript of records."
edges:
"itkompetenz akzeptieren":
mode: manual
@@ -272,6 +361,7 @@
tooltip: null
default: null
optional: false
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag genehmigt (IT-Kompetenz)"
@@ -281,10 +371,11 @@
viewers:
- *student
- *pruefungsamt
- payload-view: *payload-view-itkompetenz
+ payload-view:
+ <<: *payload-view-itkompetenz
+ <<: *payload-view-internenotizen
"itkompetenz abgelehnt":
- final: true
- messages: []
+ final: not-ok
edges:
"itkompetenz ablehnen":
mode: manual
@@ -300,6 +391,7 @@
- *pruefungsamt
form:
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag abgelehnt (IT-Kompetenz)"
@@ -312,13 +404,22 @@
payload-view: *payload-view-itkompetenz-notizen
"medienkompetenz antrag, student":
- final: false
- messages: *messages-antrag-student
+ messages:
+ - *message-antrag-student
+ - viewers:
+ - *student
+ status: info
+ content:
+ fallback: "Anerkennung einer Werkstudententätigkeit als Medienkompetenz. Hierfür müssen sie mindestens 90 Stunden einer Tätigkeit mit Medienschwerpunkt vorweisen. Diese Anerkennung steht nur Studenten des Bachelor Medieninformatik (Hauputfach) zur Verfügung."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Recognition of student employment as a „Medienkompetenz“. Total work time must be at least 90 hours in an occupation with focus on IT-work. This recognition is only possible for students of Mediainformatics (main studies)."
+ - *message-antrag-bescheidinhalt
edges:
"medienkompetenz beantragen":
mode: manual
display-label:
- fallback: "Eine Veranstaltung als Medienkompetenz anerkennen (nur Medieninformatik-Hauptfach Bachelor)"
+ fallback: "Eine Tätigkeit als Medienkompetenz anerkennen (nur Medieninformatik-Hauptfach Bachelor)"
fallback-lang: de-de-formal
translations:
en-eu: "Have an activity recognized as a „Medienkompetenz“ (only for media-informatics bachelor as a primary field)"
@@ -359,9 +460,10 @@
view-actor:
- *pruefungsamt
form: &medienkompetenz-notizen-form
- "titel": *titel-form
- "titel, englisch": *entitel-form
+ "titel": *titel-form-optional
+ "titel, englisch": *entitel-form-optional
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag noch unfertig (Medienkompetenz)"
@@ -401,18 +503,8 @@
fallback-lang: de-de-formal
translations:
en-eu: "Documentation"
- "notizen":
- viewers:
- - *student
- - *pruefungsamt
- display-label:
- fallback: "Notizen / Anmerkungen"
- fallback-lang: de-de-formal
- translations:
- en-eu: "Notes / Comments"
+ <<: *payload-view-notizen
"medienkompetenz antrag, pa":
- final: false
- messages: []
viewers:
display-label:
fallback: "Antrag in Begutachtung (Medienkompetenz)"
@@ -436,11 +528,13 @@
view-actor:
- *pruefungsamt
- *student
- form: {}
+ "interne notizen anpassen":
+ <<: *internenotizen-kante
+ source: "medienkompetenz antrag, pa"
payload-view: *payload-view-medienkompetenz-notizen
"medienkompetenz ok":
- final: true
- messages: []
+ final: ok
+ messages: *message-ok
edges:
"medienkompetenz akzeptieren":
mode: manual
@@ -458,6 +552,7 @@
"titel": *titel-form
"titel, englisch": *entitel-form
"semester": *semester-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag genehmigt (Medienkompetenz)"
@@ -467,10 +562,11 @@
viewers:
- *student
- *pruefungsamt
- payload-view: *payload-view-medienkompetenz
+ payload-view:
+ <<: *payload-view-medienkompetenz
+ <<: *payload-view-internenotizen
"medienkompetenz abgelehnt":
- final: true
- messages: []
+ final: not-ok
edges:
"medienkompetenz ablehnen":
mode: manual
@@ -486,6 +582,7 @@
- *pruefungsamt
form:
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag abgelehnt (Medienkompetenz)"
@@ -498,8 +595,16 @@
payload-view: *payload-view-medienkompetenz-notizen
"tutor antrag, student":
- final: false
- messages: *messages-antrag-student
+ messages:
+ - *message-antrag-student
+ - viewers:
+ - *student
+ status: info
+ content:
+ fallback: "Anerkennung einer Tutortätigkeit als persönliche und soziale Kompetenz. Hierfür müssen sie ein Tutorium mit Studentenkontakt geleitet haben (reine Korrektur zählt nicht; Tutorgruppen sowohl zu Vorlesung, wie auch zu Praktikum zählen). Geben Sie dazu bitte einen Link zu der entsprechenden Lehrveranstaltungsseite (im Idealfall die Uni2work-Seite) an aus der hervorgeht, dass Sie diese Tätigkeit durchgeführt haben. Statt einer Webseite können Sie alternativ einen formlosen Bescheid hochladen, in dem Ihnen diese Tätigkeit bestätigt wird."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Recognition of tutor occupation as a „soziale und persönliche Kompetenz“. You have to have lead a tutorial with student contact (corrector alone is not sufficient; tutorial may be for lectures as well as for practicals). Please send a link to the regarding web page of the course (ideally: Uni2work page of the course) that confirms that you have worked as tutor for this course. Alternatively send a confirmation instead of a link."
edges:
"tutor beantragen":
mode: manual
@@ -516,7 +621,7 @@
- *student
form: &tutor-form
"institut": &institut-form
- - "1":
+ - "1": &institut-field
tag: text
label:
fallback: "Institut"
@@ -531,7 +636,7 @@
default: null
optional: false
"tutorbeleg": &tutorbeleg-form
- - "2":
+ - "2": &tutorbeleg-link-field
tag: text
label:
fallback: "Veranstaltungswebseite"
@@ -544,7 +649,7 @@
translations:
en-eu: "Link to an official course page, which lists you as a tutor (i.e. in Uni2work)"
optional: false
- - "3":
+ - "3": &tutorbeleg-file-field
<<: *beleg-field
label:
fallback: "Bestätigung"
@@ -584,9 +689,19 @@
view-actor:
- *pruefungsamt
form: &tutor-notizen-form
- "institut": *institut-form
- "tutorbeleg": *tutorbeleg-form
+ "institut": &institut-form-optional
+ - "1":
+ <<: *institut-field
+ optional: true
+ "tutorbeleg": &tutorbeleg-form-optional
+ - "2":
+ <<: *tutorbeleg-link-field
+ optional: true
+ - "3":
+ <<: *tutorbeleg-file-field
+ optional: true
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag noch unfertig (Tutor)"
@@ -617,18 +732,8 @@
fallback-lang: de-de-formal
translations:
en-eu: "Documentation"
- "notizen":
- viewers:
- - *student
- - *pruefungsamt
- display-label:
- fallback: "Notizen / Anmerkungen"
- fallback-lang: de-de-formal
- translations:
- en-eu: "Notes / Comments"
+ <<: *payload-view-notizen
"tutor antrag, pa":
- final: false
- messages: []
viewers:
display-label:
fallback: "Antrag in Begutachtung (Tutor)"
@@ -652,11 +757,13 @@
view-actor:
- *pruefungsamt
- *student
- form: {}
+ "interne notizen anpassen":
+ <<: *internenotizen-kante
+ source: "tutor antrag, pa"
payload-view: *payload-view-tutor-notizen
"tutor ok":
- final: true
- messages: []
+ final: ok
+ messages: *message-ok
edges:
"tutor akzeptieren":
mode: manual
@@ -673,6 +780,7 @@
form:
"institut": *institut-form
"semester": *semester-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag genehmigt (Tutor)"
@@ -682,10 +790,11 @@
viewers:
- *student
- *pruefungsamt
- payload-view: *payload-view-tutor
+ payload-view:
+ <<: *payload-view-tutor
+ <<: *payload-view-internenotizen
"tutor abgelehnt":
- final: true
- messages: []
+ final: not-ok
edges:
"tutor ablehnen":
mode: manual
@@ -701,6 +810,7 @@
- *pruefungsamt
form:
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag abgelehnt (Tutor)"
@@ -713,8 +823,17 @@
payload-view: *payload-view-tutor-notizen
"sozialekompetenz antrag, student":
- final: false
- messages: *messages-antrag-student
+ messages:
+ - *message-antrag-student
+ - viewers:
+ - *student
+ status: info
+ content:
+ fallback: "Anerkennung einer Tätigkeit, bei der eine bestimmte leitende persönliche und soziale Kompetenz demonstriert wurde (z.B. das selbstständige Leiten einer Gruppe, eine eigenständige Sportlehrertätigkeit etc.) als persönliche und soziale Kompetenz. Hierfür müssen sie mindestens 90 Stunden einer entsprechenden Tätigkeit vorweisen. Diese Anerkennung steht nur Studenten des Bachelor Informatik und Medieninformatik (Hauputfach) zur Verfügung."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Recognition of an occupation that demonstrates leading personel and social skills (such as autonomous guide of a group, autonomous work as sport teacher, etc.) as a „soziale und persönliche Kompetenz“. Total work time must be at least 90 hours in this occupation. This recognition is only possible for students of Informatics or Mediainformatics (main studies)."
+ - *message-antrag-bescheidinhalt
edges:
"sozialekompetenz beantragen":
mode: manual
@@ -722,7 +841,7 @@
fallback: "Tätigkeit (nicht Tutortätigkeit) als soziale und persönliche Kompetenz anerkennen lassen (nur (Medien-)Informatik Bachelor)"
fallback-lang: de-de-formal
translations:
- en-eu: "Have an activity (not as a tutor) recognized a sa „soziale und persönliche Kompetenz“ (only for (media-)informatics bachelor as a primary field)"
+ en-eu: "Have an occupation (not as a tutor) recognized as a „soziale und persönliche Kompetenz“ (only for (media-)informatics bachelor as a primary field)"
source: "init"
actors:
- *student
@@ -760,9 +879,10 @@
view-actor:
- *pruefungsamt
form: &sozialekompetenz-notizen-form
- "titel": *titel-form
- "titel, englisch": *entitel-form
+ "titel": *titel-form-optional
+ "titel, englisch": *entitel-form-optional
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag noch unfertig (Soziale Kompetenz)"
@@ -802,18 +922,8 @@
fallback-lang: de-de-formal
translations:
en-eu: "Documentation"
- "notizen":
- viewers:
- - *student
- - *pruefungsamt
- display-label:
- fallback: "Notizen / Anmerkungen"
- fallback-lang: de-de-formal
- translations:
- en-eu: "Notes / Comments"
+ <<: *payload-view-notizen
"sozialekompetenz antrag, pa":
- final: false
- messages: []
viewers:
display-label:
fallback: "Antrag in Begutachtung (Soziale Kompetenz)"
@@ -837,11 +947,13 @@
view-actor:
- *pruefungsamt
- *student
- form: {}
+ "interne notizen anpassen":
+ <<: *internenotizen-kante
+ source: "sozialekompetenz antrag, pa"
payload-view: *payload-view-sozialekompetenz-notizen
"sozialekompetenz ok":
- final: true
- messages: []
+ final: ok
+ messages: *message-ok
edges:
"sozialekompetenz akzeptieren":
mode: manual
@@ -859,15 +971,17 @@
"titel": *titel-form
"titel, englisch": *entitel-form
"semester": *semester-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label: "Antrag genehmigt (Soziale Kompetenz)"
viewers:
- *student
- *pruefungsamt
- payload-view: *payload-view-sozialekompetenz
+ payload-view:
+ <<: *payload-view-sozialekompetenz
+ <<: *payload-view-internenotizen
"sozialekompetenz abgelehnt":
- final: true
- messages: []
+ final: not-ok
edges:
"sozialekompetenz ablehnen":
mode: manual
@@ -883,6 +997,7 @@
- *pruefungsamt
form:
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag abgelehnt (Soziale Kompetenz)"
@@ -895,8 +1010,16 @@
payload-view: *payload-view-sozialekompetenz-notizen
"englisch antrag, student":
- final: false
- messages: *messages-antrag-student
+ messages:
+ - *message-antrag-student
+ - viewers:
+ - *student
+ status: info
+ content:
+ fallback: "Noteneintragung vom Ergebnis des Kurses „e-Xplore Technical English“ der HTWK Leipzig. Dazu müssen Sie die Seite der Bestätigung hochladen, welche die Note und das Datum enthält; wenn Sie sich unsicher sind, gerne auch beide Seiten."
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "Inclusion of grades from the course „e-Xplore Technical English“ of the HTWK Leipzig. You have to send the page with confirmation, grade, and date. If in doubt, send both pages."
edges:
"englisch beantragen":
mode: manual
@@ -925,6 +1048,11 @@
fallback-lang: de-de-formal
translations:
en-eu: "Grade"
+ tooltip:
+ fallback: "„Date of issue“ auf dem Zertifikat"
+ fallback-lang: de-de-formal
+ translations:
+ en-eu: "“Date of issue” on the certificate"
optional: false
"datum": &datum-form
- "2": &datum-field
@@ -983,10 +1111,20 @@
view-actor:
- *pruefungsamt
form: &englisch-notizen-form
- "note": *note-form
- "datum": *datum-form
- "englischbeleg": *englischbeleg-form
+ "note": ¬e-form-optional
+ - "1":
+ <<: *note-field
+ optional: true
+ "datum": &datum-form-optional
+ - "2":
+ <<: *datum-field
+ optional: true
+ "englischbeleg": &englischbeleg-form-optional
+ - "3":
+ <<: *englischbeleg-field
+ optional: true
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag noch unfertig (Englisch)"
@@ -1026,18 +1164,8 @@
fallback-lang: de-de-formal
translations:
en-eu: "Documentation"
- "notizen":
- viewers:
- - *student
- - *pruefungsamt
- display-label:
- fallback: "Notizen / Anmerkungen"
- fallback-lang: de-de-formal
- translations:
- en-eu: "Notes / Comments"
+ <<: *payload-view-notizen
"englisch antrag, pa":
- final: false
- messages: []
viewers:
display-label:
fallback: "Antrag in Begutachtung (Englisch)"
@@ -1061,11 +1189,10 @@
view-actor:
- *pruefungsamt
- *student
- form: {}
payload-view: *payload-view-englisch-notizen
"englisch ok":
- final: true
- messages: []
+ final: ok
+ messages: *message-ok
edges:
"englisch akzeptieren":
mode: manual
@@ -1083,6 +1210,7 @@
"note": *note-form
"datum": *datum-form
"semester": *semester-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag genehmigt (Englisch)"
@@ -1092,10 +1220,11 @@
viewers:
- *student
- *pruefungsamt
- payload-view: *payload-view-englisch
+ payload-view:
+ <<: *payload-view-englisch
+ <<: *payload-view-internenotizen
"englisch abgelehnt":
- final: true
- messages: []
+ final: not-ok
edges:
"englisch ablehnen":
mode: manual
@@ -1111,6 +1240,7 @@
- *pruefungsamt
form:
"notizen": *notizen-form
+ <<: *internenotizen-formblock-optional
viewers:
display-label:
fallback: "Antrag abgelehnt (Englisch)"