added plausichecks to PlausicheckProducerLib, bugfixes in PlausicheckLib and plausicheck libraries and fehlerupdate, mainly concerning passed parameters

This commit is contained in:
KarpAlex
2022-09-29 03:16:05 +02:00
parent 23ec0d6344
commit 7c02f21582
8 changed files with 103 additions and 77 deletions
+73 -58
View File
@@ -75,7 +75,8 @@ class PlausicheckLib
$qry = "
SELECT
prestudent.person_id, prestudent.prestudent_id, status.studiensemester_kurzbz,
studiengang.orgform_kurzbz as stg_oe_kurzbz, status.orgform_kurzbz as student_oe_kurzbz
studiengang.orgform_kurzbz as stg_orgform, status.orgform_kurzbz as student_orgform,
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_studiengang studiengang
JOIN public.tbl_student student USING(studiengang_kz)
@@ -94,7 +95,7 @@ class PlausicheckLib
WHERE
tbl_studienordnung.studiengang_kz = prestudent.studiengang_kz
AND tbl_studienplan.orgform_kurzbz = status.orgform_kurzbz)";
if (isset($prestudent_id))
{
$qry .= " AND prestudent.prestudent_id = ?";
@@ -164,7 +165,7 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT ON (ps.prestudent_id) ps.person_id, ps.prestudent_id,
stplan.bezeichnung AS studienplan, stg.orgform_kurzbz AS prestudent_stg_oe_kurzbz
stplan.bezeichnung AS studienplan, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudent ps
JOIN public.tbl_prestudentstatus USING(prestudent_id)
@@ -249,7 +250,7 @@ class PlausicheckLib
public.tbl_student student
JOIN public.tbl_prestudent prestudent USING(prestudent_id)
JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id)
JOIN public.tbl_studiengang stg ON prestudent.studienang_kz = stg.studiengang_kz
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
prestatus.status_kurzbz = 'Abbrecher'
AND stg.melderelevant";
@@ -266,6 +267,7 @@ class PlausicheckLib
$params[] = $prestudent_id;
}
// TODO - maybe also put in sql?
$qryRes = $this->_db->execReadOnlyQuery($qry, $params);
if (isError($qryRes)) return $qryRes;
@@ -276,7 +278,7 @@ class PlausicheckLib
foreach ($students as $student)
{
$lastStatusRes = $this->_ci->PrestudentModel->getLastStatus($student->prestudent_id);
$lastStatusRes = $this->_ci->PrestudentstatusModel->getLastStatus($student->prestudent_id);
if (isError($lastStatusRes)) return $lastStatusRes;
@@ -304,7 +306,8 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT(student.student_uid), prestudent.person_id, prestudent.prestudent_id,
status.ausbildungssemester, lv.semester, status.studiensemester_kurzbz
status.ausbildungssemester, lv.semester, status.studiensemester_kurzbz,
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_student student
JOIN public.tbl_studentlehrverband lv USING(student_uid)
@@ -350,11 +353,12 @@ class PlausicheckLib
public.tbl_benutzer benutzer
JOIN public.tbl_student student on(benutzer.uid = student.student_uid)
JOIN public.tbl_prestudent prestudent USING(prestudent_id)
JOIN public.tbl_studiengang ON prestudent.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
benutzer.aktiv=false
AND get_rolle_prestudent(prestudent_id, ?) IN ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant')
AND stg.melderelevant";
AND stg.melderelevant
AND prestudent.bismelden";
if (isset($studiengang_kz))
{
@@ -416,6 +420,7 @@ class PlausicheckLib
if (isError($qryRes)) return $qryRes;
// TODO: maybe do this in query already instead?
if (hasData($qryRes))
{
$students = getData($qryRes);
@@ -432,7 +437,12 @@ class PlausicheckLib
if (hasData($firstStatusRes))
{
$datumInscription = date_format(date_create(getData($firstStatusRes)[0]->datum), 'Y-m-d');
$firstStatus = getData($firstStatusRes)[0];
if ($firstStatus->studiensemester_kurzbz != $studiensemester_kurzbz)
continue;
$datumInscription = date_format(date_create($firstStatus->datum), 'Y-m-d');
// if student inscription was before Bismeldedatum
if ($datumInscription < $datumBis)
@@ -517,9 +527,10 @@ class PlausicheckLib
$prestudentsSemesterSorted = hasData($qryOrderSemesterRes) ? getData($qryOrderSemesterRes) : array();
// get all status of student, sorted by status date
$this->PrestudentstatusModel->addSelect('studiensemester_kurzbz');
$this->PrestudentstatusModel->addOrder('datum DESC, insertamum DESC');
$qryOrderDateRes=$this->PrestudentstatusModel->loadWhere(array('prestudent_id' => $student->prestudent_id));
$this->_ci->PrestudentstatusModel->addSelect('studiensemester_kurzbz');
$this->_ci->PrestudentstatusModel->addOrder('datum', 'DESC');
$this->_ci->PrestudentstatusModel->addOrder('insertamum', 'DESC');
$qryOrderDateRes = $this->_ci->PrestudentstatusModel->loadWhere(array('prestudent_id' => $student->prestudent_id));
if (isError($qryOrderDateRes)) return $qryOrderDateRes;
@@ -554,16 +565,18 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT (student_uid), prestudent.person_id, prestudent.prestudent_id, status.studienesemester_kurzbz
DISTINCT (student_uid), prestudent.person_id, prestudent.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on (benutzer.uid = student.student_uid)
JOIN public.tbl_prestudent prestudent USING(prestudent_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
benutzer.aktiv=TRUE
AND stg.melderelevant";
AND stg.melderelevant
AND prestudent.bismelden";
// TODO - why use getLastStatus function - maybe use not exists for two semester instead - faster??
if (isset($studiengang_kz))
{
@@ -591,7 +604,7 @@ class PlausicheckLib
if (hasData($nextStudiensemesterRes))
{
$nextStudiensemester = getData($nextStudiensemesterRes)[0];
$nextStudiensemester = getData($nextStudiensemesterRes)[0]->studiensemester_kurzbz;
foreach ($students as $student)
{
@@ -613,7 +626,7 @@ class PlausicheckLib
}
/**
* Studiengang should be valid in current Ausbildungssemester of prestudent.
* Studienplan should be valid in current Ausbildungssemester of prestudent.
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
@@ -628,7 +641,7 @@ class PlausicheckLib
status.status_kurzbz,
status.studiensemester_kurzbz,
status.ausbildungssemester,
stg.prestudent_stg_oe_kurzbz
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudent pre
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
@@ -648,6 +661,7 @@ class PlausicheckLib
AND tbl_studienplan_semester.studiensemester_kurzbz = status.studiensemester_kurzbz
)
AND status.studiensemester_kurzbz=?
AND pre.bismelden
AND stg.melderelevant";
if (isset($studiengang_kz))
@@ -699,9 +713,7 @@ class PlausicheckLib
FROM bis.tbl_mobilitaet
WHERE prestudent_id = pre.prestudent_id
AND studiensemester_kurzbz = status.studiensemester_kurzbz
)
) studenten
WHERE anzahl_abschlusspruefungen != 1";
)";
if (isset($studiensemester_kurzbz))
{
@@ -721,6 +733,9 @@ class PlausicheckLib
$params[] = $prestudent_id;
}
$qry .= ") studenten
WHERE anzahl_abschlusspruefungen != 1";
return $this->_db->execReadOnlyQuery($qry, $params);
}
@@ -733,7 +748,7 @@ class PlausicheckLib
{
$results = array();
$pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz, $prestudent_id);
$pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz, $abschlusspruefung_id);
if (isError($pruefungenRes)) return $pruefungenRes;
@@ -755,11 +770,11 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getDatumSponsionFehlt($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
public function getDatumSponsionFehlt($studiensemester_kurzbz, $studiengang_kz = null, $abschlusspruefung_id = null)
{
$results = array();
$pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz, $prestudent_id);
$pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz, $abschlusspruefung_id);
if (isError($pruefungenRes)) return $pruefungenRes;
@@ -787,8 +802,6 @@ class PlausicheckLib
if (isError($previousStudiensemesterRes)) return $previousStudiensemesterRes;
$previousStudiensemester = hasData($previousStudiensemesterRes) ? getData($previousStudiensemesterRes)[0]->studiensemester_kurzbz : '';
$params = array($studiensemester_kurzbz);
$qry = "
@@ -801,19 +814,20 @@ class PlausicheckLib
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
AND status_kurzbz='Bewerber'
status_kurzbz='Bewerber'
AND reihungstestangetreten=false
AND stg.melderelevant
AND prestudent.bismelden";
if (!isEmptyString($previousStudiensemester))
if (hasData($previousStudiensemesterRes))
{
$qry .= "AND (studiensemester_kurzbz=? OR studiensemester_kurzbz=?)";
$previousStudiensemester = getData($previousStudiensemesterRes)[0]->studiensemester_kurzbz;
$qry .= " AND (studiensemester_kurzbz=? OR studiensemester_kurzbz=?)";
$params[] = $previousStudiensemester;
}
else
{
$qry .= "AND studiensemester_kurzbz=?";
$qry .= " AND studiensemester_kurzbz=?";
}
if (isset($studiengang_kz))
@@ -915,9 +929,9 @@ class PlausicheckLib
if (isset($studiensemester_kurzbz))
{
$prevStudiensemesterRes = $this->_ci->StudiensemesterModel->getPreviousFrom($studiensemester_kurzbz);
if (isError($prevStudiensemesterRes)) return $prevStudiensemesterRes;
if (hasData($prevStudiensemesterRes))
{
// if Studiensemester given, check only if has status in current or previous semester
@@ -1057,13 +1071,14 @@ class PlausicheckLib
GROUP BY person_id
) adressen
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_prestudent USING(person_id)
JOIN public.tbl_prestudent pre USING(person_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_student USING(prestudent_id)
JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
anzahl_adressen != 1
AND stg.melderelevant";
AND stg.melderelevant
AND pre.bismelden";
if (isset($studiensemester_kurzbz))
{
@@ -1106,13 +1121,14 @@ class PlausicheckLib
GROUP BY person_id
) adressen
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_prestudent USING(person_id)
JOIN public.tbl_prestudent pre USING(person_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_student USING(prestudent_id)
JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
anzahl_adressen != 1
AND stg.melderelevant";
AND stg.melderelevant
AND pre.bismelden";
if (isset($studiensemester_kurzbz))
{
@@ -1143,24 +1159,26 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getIncomingHeimatNationOesterreich($studiengang_kz = null, $person_id = null)
public function getIncomingHeimatNationOesterreich($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null)
{
$params = array();
$params = array($studiensemester_kurzbz);
$qry = "
SELECT
DISTINCT pers.person_id
FROM
public.tbl_prestudent pre
JOIN public.tbl_prestudentstatus prestatus
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_person pers USING(person_id)
JOIN public.tbl_adresse addr USING(person_id)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_studiengang stg USING(studiengang_kz)
WHERE
prestat.status_kurzbz = 'Incoming'
status.status_kurzbz = 'Incoming'
AND addr.nation = 'A'
AND addr.heimatadresse
AND stg.melderelevant";
AND status.studiensemester_kurzbz = ?
AND stg.melderelevant
AND pre.bismelden";
if (isset($studiengang_kz))
{
@@ -1188,7 +1206,7 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT ON(student_uid, nachname, vorname),
DISTINCT ON(student_uid, nachname, vorname)
tbl_person.person_id,
tbl_prestudent.prestudent_id,
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
@@ -1225,23 +1243,23 @@ class PlausicheckLib
/**
* Get final exams in a semester which are invalid (e.g. missing data)
*/
private function _getInvalidAbschlusspruefungen($studiensemester_kurzbz = null, $studiengang_kz = null, $prestudent_id = null)
private function _getInvalidAbschlusspruefungen($studiensemester_kurzbz = null, $studiengang_kz = null, $abschlusspruefung_id = null)
{
$params = array();
$qry = "
SELECT
pre.prestudent_id, pruefung.sponsion, pruefung.datum, pruefung.abschlusspruefung_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
pre.person_id, pre.prestudent_id,
pruefung.sponsion, pruefung.datum, pruefung.abschlusspruefung_id,
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudent pre
JOIN public.tbl_student stud USING(prestudent_id)
JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id)
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
JOIN lehre.tbl_abschlusspruefung pruefung ON stud.student_uid = pruefung.student_uid
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
status_kurzbz = 'Absolvent'
AND stg.melderelevant
AND NOT EXISTS ( /* exclude gs */
SELECT 1
FROM bis.tbl_mobilitaet
@@ -1251,6 +1269,7 @@ class PlausicheckLib
AND abschlussbeurteilung_kurzbz!='nicht'
AND abschlussbeurteilung_kurzbz IS NOT NULL
AND (pruefung.datum IS NULL OR pruefung.sponsion IS NULL)
AND pre.bismelden
AND stg.melderelevant";
if (isset($studiensemester_kurzbz))
@@ -1265,10 +1284,10 @@ class PlausicheckLib
$params[] = $studiengang_kz;
}
if (isset($prestudent_id))
if (isset($abschlusspruefung_id))
{
$qry .= " AND pre.prestudent_id = ?";
$params[] = $prestudent_id;
$qry .= " AND pruefung.abschlusspruefung_id = ?";
$params[] = $abschlusspruefung_id;
}
return $this->_db->execReadOnlyQuery($qry, $params);
@@ -1284,16 +1303,12 @@ class PlausicheckLib
if ($semesterType == 'SS')
{
$date = "15.11.".($semesterYear - 1);
$date = date_format(date_create($date), 'Y-m-d');
return $date;
return date_format(date_create(($semesterYear - 1)."-11-15"), 'Y-m-d');
}
if ($semesterType == 'WS')
{
$date = '15.04'.$semesterYear;
$date = date_format(date_create($date, 'Y-m-d'));
return $date;
return date_format(date_create($semesterYear."-04-15"), 'Y-m-d');
}
}
}
@@ -13,20 +13,30 @@ class PlausicheckProducerLib
// set fehler which can be produced by the job
// structure: fehler_kurzbz => class (library) name for resolving
private $_fehlerLibMappings = array(
'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent',
'AbbrecherAktiv' => 'AbbrecherAktiv',
'AbschlussstatusFehlt' => 'AbschlussstatusFehlt',
//'zgvDatumInZukunft' => 'ZgvDatumInZukunft',
//'zgvDatumVorGeburtsdatum' => 'ZgvDatumVorGeburtsdatum',
//'zgvMasterDatumInZukunft' => 'ZgvMasterDatumInZukunft',
//'zgvMasterDatumVorZgvdatum' => 'ZgvMasterDatumVorZgvdatum',
//'zgvMasterDatumVorGeburtsdatum' => 'ZgvMasterDatumVorGeburtsdatum',
//'keinAufenthaltszweckPlausi' => 'KeinAufenthaltszweckPlausi',
//'zuVieleZweckeIncomingPlausi' => 'ZuVieleZweckeIncomingPlausi',
//'falscherIncomingZweckPlausi' => 'FalscherIncomingZweckPlausi',
//'outgoingAufenthaltfoerderungfehltPlausi' => 'OutgoingAufenthaltfoerderungfehltPlausi',
//'outgoingAngerechneteEctsFehlenPlausi' => 'OutgoingAngerechneteEctsFehlenPlausi',
//'outgoingErworbeneEctsFehlenPlausi' => 'OutgoingErworbeneEctsFehlenPlausi'
'AktSemesterNull' => 'AktSemesterNull',
'AktiverStudentOhneStatus' => 'AktiverStudentOhneStatus',
'AusbildungssemPrestudentUngleichAusbildungssemStatus' => 'AusbildungssemPrestudentUngleichAusbildungssemStatus',
'BewerberNichtZumRtAngetreten' => 'BewerberNichtZumRtAngetreten',
'DatumAbschlusspruefungFehlt' => 'DatumAbschlusspruefungFehlt',
'DatumSponsionFehlt' => 'DatumSponsionFehlt',
'DatumStudiensemesterFalscheReihenfolge' => 'DatumStudiensemesterFalscheReihenfolge',
'FalscheAnzahlAbschlusspruefungen' => 'FalscheAnzahlAbschlusspruefungen',
'FalscheAnzahlHeimatadressen' => 'FalscheAnzahlHeimatadressen',
'FalscheAnzahlZustelladressen' => 'FalscheAnzahlZustelladressen',
'GbDatumWeitZurueck' => 'GbDatumWeitZurueck',
'InaktiverStudentAktiverStatus' => 'InaktiverStudentAktiverStatus',
'IncomingHeimatNationOesterreich' => 'IncomingHeimatNationOesterreich',
'IncomingOhneIoDatensatz' => 'IncomingOhneIoDatensatz',
'InskriptionVorLetzerBismeldung' => 'InskriptionVorLetzerBismeldung',
'NationNichtOesterreichAberGemeinde' => 'NationNichtOesterreichAberGemeinde',
'OrgformStgUngleichOrgformPrestudent' => 'OrgformStgUngleichOrgformPrestudent',
'PrestudentMischformOhneOrgform' => 'PrestudentMischformOhneOrgform',
'PrestudentStgUngleichStgStudienplan' => 'PrestudentStgUngleichStgStudienplan',
'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent',
'StudentstatusNachAbbrecher' => 'StudentstatusNachAbbrecher'
//'StudienplanUngueltig' => 'StudienplanUngueltig',
);
public function __construct()
@@ -32,7 +32,7 @@ class AktiverStudentOhneStatus extends PlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'fehlertext_params' => array('studiensemester_kurzbz' => $studiensemester_kurzbz, 'prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id, 'studiensemester_kurzbz' => $studiensemester_kurzbz)
);
}
@@ -26,7 +26,7 @@ class FalscheAnzahlZustelladressen extends PlausiChecker
{
$persons = getData($personRes);
// populate results with data necessary for writing person
// populate results with data necessary for writing issues
foreach ($persons as $person)
{
$results[] = array(
@@ -35,7 +35,7 @@ class InaktiverStudentAktiverStatus extends PlausiChecker
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
'studiensemester_kurzbz' => $studiensemester_kurzbz
)
);
}
@@ -14,10 +14,11 @@ class IncomingHeimatNationOesterreich extends PlausiChecker
$results = array();
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$personRes = $this->_ci->plausichecklib->getIncomingHeimatNationOesterreich($studiengang_kz);
$personRes = $this->_ci->plausichecklib->getIncomingHeimatNationOesterreich($studiensemester_kurzbz, $studiengang_kz);
if (isError($personRes)) return $personRes;
@@ -31,7 +31,7 @@ class OrgformStgUngleichOrgformPrestudent extends PlausiChecker
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->stg_oe_kurzbz,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
+2 -2
View File
@@ -273,7 +273,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_PERSON_0001',
'fehler_kurzbz' => 'GbDatumWeitZurueck',
'fehlercode_extern' => null,
'fehlertext' => 'Geburtsdatum vor dem 01.01.1920.',
'fehlertext' => 'Geburtsdatum vor dem 01.01.1920',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -295,7 +295,7 @@ $fehlerArr = array(
),
array(
'fehlercode' => 'CORE_PERSON_0004',
'fehler_kurzbz' => 'NationNichtOeAberGmeinde',
'fehler_kurzbz' => 'FalscheAnzahlZustelladressen',
'fehlercode_extern' => null,
'fehlertext' => 'Es sind mehrere oder keine Zustelladressen eingetragen',
'fehlertyp_kurzbz' => 'error',