From 94a126f64e9fe25c63284cfb8b4b928247ac7961 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Fri, 5 May 2023 17:29:30 +0200 Subject: [PATCH] plausichecks: made some core plausichecks warnings instead of errors --- .../controllers/system/issues/Plausichecks.php | 18 ++++++++++++------ public/js/issues/plausichecks.js | 15 ++++++++------- system/dbupdate_3.4.php | 1 + ...9_plausichecks_in_extension_hinzufuegen.php | 16 ++++++++++++++++ 4 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 system/dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php diff --git a/application/controllers/system/issues/Plausichecks.php b/application/controllers/system/issues/Plausichecks.php index 84aec5f62..9ad3f4251 100644 --- a/application/controllers/system/issues/Plausichecks.php +++ b/application/controllers/system/issues/Plausichecks.php @@ -43,7 +43,7 @@ class Plausichecks extends Auth_Controller $fehler_kurzbz = $this->input->get('fehler_kurzbz'); // issues array for passing issue texts - $issueTexts = array(); + $allIssues = array(); // all fehler kurzbz which are going to be checked $fehlerKurzbz = !isEmptyString($fehler_kurzbz) ? array($fehler_kurzbz) : $this->plausicheckdefinitionlib->getFehlerKurzbz(); $fehlerLibMappings = $this->plausicheckdefinitionlib->getFehlerLibMappings(); @@ -53,7 +53,7 @@ class Plausichecks extends Auth_Controller // get the data returned by Plausicheck foreach ($fehlerKurzbz as $fehler_kurzbz) { - $issueTexts[$fehler_kurzbz] = array(); + $allIssues[$fehler_kurzbz] = array(); // get library name for producing issue $libName = $fehlerLibMappings[$fehler_kurzbz]; @@ -80,7 +80,7 @@ class Plausichecks extends Auth_Controller $fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null; // get Text of the Fehler - $this->FehlerModel->addSelect('fehlertext'); + $this->FehlerModel->addSelect('fehlertext, fehlertyp_kurzbz'); $fehlerRes = $this->FehlerModel->loadWhere(array('fehler_kurzbz' => $fehler_kurzbz)); if (isError($fehlerRes)) $this->outputJsonError(getError($fehlerRes)); @@ -88,7 +88,9 @@ class Plausichecks extends Auth_Controller // optionally replace fehler parameters in text, output the fehlertext if (hasData($fehlerRes)) { - $fehlerText = getData($fehlerRes)[0]->fehlertext; + $fehler = getData($fehlerRes)[0]; + $fehlerText = $fehler->fehlertext; + $fehlerTyp = $fehler->fehlertyp_kurzbz; if (!isEmptyArray($fehlertext_params)) { @@ -100,13 +102,17 @@ class Plausichecks extends Auth_Controller if (isset($person_id)) $fehlerText .= "; person_id: $person_id"; if (isset($oe_kurzbz)) $fehlerText .= "; oe_kurzbz: $oe_kurzbz"; - $issueTexts[$fehler_kurzbz][] = $fehlerText; + + $issueObj = new StdClass(); + $issueObj->fehlertext = $fehlerText; + $issueObj->type = $fehlerTyp; + $allIssues[$fehler_kurzbz][] = $issueObj; } } } } - $this->outputJsonSuccess($issueTexts); + $this->outputJsonSuccess($allIssues); } /** diff --git a/public/js/issues/plausichecks.js b/public/js/issues/plausichecks.js index f679c9434..24b204ea3 100644 --- a/public/js/issues/plausichecks.js +++ b/public/js/issues/plausichecks.js @@ -20,21 +20,22 @@ var Plausichecks = { if (FHC_AjaxClient.hasData(data)) { - let issueTexts = FHC_AjaxClient.getData(data); + let issueData = FHC_AjaxClient.getData(data); - for (let fehler_kurzbz in issueTexts) + for (let fehler_kurzbz in issueData) { messageStr += "

Prüfe " + fehler_kurzbz + "..."; - let texts = issueTexts[fehler_kurzbz]; + let issues = issueData[fehler_kurzbz]; - if (texts.length == 0) { + if (issues.length == 0) { messageStr += "
Keine Issues für " + fehler_kurzbz + ""; continue; } - for (i = 0; i < texts.length; i++) + for (i = 0; i < issues.length; i++) { - messageStr += "
" + texts[i] + ""; + let className = issues[i].type == 'warning' ? 'text-warning' : 'text-danger'; + messageStr += "
" + issues[i].fehlertext + ""; } } } @@ -46,7 +47,7 @@ var Plausichecks = { } } ); - }, + } }; diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index bc8152a90..4e67b528b 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -32,6 +32,7 @@ require_once('dbupdate_3.4/26173_index_webservicelog.php'); require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php'); require_once('dbupdate_3.4/17512_fehlercode_constraints.php'); require_once('dbupdate_3.4/19154_beurteilungsformulare_pruefungssenat.php'); +require_once('dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; diff --git a/system/dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php b/system/dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php new file mode 100644 index 000000000..f63a5ec2b --- /dev/null +++ b/system/dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php @@ -0,0 +1,16 @@ +db_query("SELECT 1 FROM system.tbl_fehler WHERE fehlertyp_kurzbz='error' AND fehler_kurzbz IN ('AbschlussstatusFehlt', 'AusbildungssemPrestudentUngleichAusbildungssemStatus', 'BewerberNichtZumRtAngetreten', 'GbDatumWeitZurueck', 'InaktiverStudentAktiverStatus')")) +{ + if($db->db_num_rows($result)>0) + { + $qry = "UPDATE system.tbl_fehler SET fehlertyp_kurzbz='warning' WHERE fehler_kurzbz IN ('AbschlussstatusFehlt', 'AusbildungssemPrestudentUngleichAusbildungssemStatus', 'BewerberNichtZumRtAngetreten', 'GbDatumWeitZurueck', 'InaktiverStudentAktiverStatus') AND fehlertyp_kurzbz = 'error';"; + + if(!$db->db_query($qry)) + echo 'System Tabelle Fehler: '.$db->db_last_error().'
'; + else + echo '
Bestimmte Fehler mit Typ error zu warnings umgewandelt'; + } +}