From de43e69ccf1457ffae48b056368b887e01a70543 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 23 May 2023 14:29:38 +0200 Subject: [PATCH] plausichecks GUI: added fehlercode to recognise fehler in fehler monitoring issues --- .../system/issues/Plausichecks.php | 56 +++++++++++++++---- .../system/issues/issuesKonfigurationData.php | 2 +- .../views/system/issues/plausichecks.php | 4 +- public/js/issues/plausichecks.js | 4 +- 4 files changed, 49 insertions(+), 17 deletions(-) diff --git a/application/controllers/system/issues/Plausichecks.php b/application/controllers/system/issues/Plausichecks.php index ad57d432f..53ff8afe8 100644 --- a/application/controllers/system/issues/Plausichecks.php +++ b/application/controllers/system/issues/Plausichecks.php @@ -55,7 +55,21 @@ class Plausichecks extends Auth_Controller // get the data returned by Plausicheck foreach ($fehlerKurzbz as $fehler_kurzbz) { - $allIssues[$fehler_kurzbz] = array(); + // get Text and fehlercode of the Fehler + $this->FehlerModel->addSelect('fehlercode, fehlertext, fehlertyp_kurzbz'); + $fehlerRes = $this->FehlerModel->loadWhere(array('fehler_kurzbz' => $fehler_kurzbz)); + + if (isError($fehlerRes)) $this->terminateWithJsonError(getError($fehlerRes)); + + // do not check error if no data + if (!hasData($fehlerRes)) continue; + + // get the error data + $fehler = getData($fehlerRes)[0]; + + // initialize issue array + $allIssues[$fehler_kurzbz] = array('fehlercode' => $fehler->fehlercode, 'data' => array()); + // get library name for producing issue $libName = $fehlerLibMappings[$fehler_kurzbz]; @@ -82,16 +96,10 @@ class Plausichecks extends Auth_Controller $oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null; $fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null; - // get Text of the Fehler - $this->FehlerModel->addSelect('fehlertext, fehlertyp_kurzbz'); - $fehlerRes = $this->FehlerModel->loadWhere(array('fehler_kurzbz' => $fehler_kurzbz)); - - if (isError($fehlerRes)) $this->outputJsonError(getError($fehlerRes)); - // optionally replace fehler parameters in text, output the fehlertext - if (hasData($fehlerRes)) + if (!isEmptyString($fehler->fehlertext)) { - $fehler = getData($fehlerRes)[0]; + $fehlercode = $fehler->fehlercode; $fehlerText = $fehler->fehlertext; $fehlerTyp = $fehler->fehlertyp_kurzbz; @@ -110,7 +118,7 @@ class Plausichecks extends Auth_Controller $issueObj = new StdClass(); $issueObj->fehlertext = $fehlerText; $issueObj->type = $fehlerTyp; - $allIssues[$fehler_kurzbz][] = $issueObj; + $allIssues[$fehler_kurzbz]['data'][] = $issueObj; } else // if no issue text found, use generic text { @@ -120,7 +128,6 @@ class Plausichecks extends Auth_Controller // add generic parameters to issue text if (isset($person_id)) $fehlerText .= "; person_id: $person_id"; if (isset($oe_kurzbz)) $fehlerText .= "; oe_kurzbz: $oe_kurzbz"; - $issueTexts[$fehler_kurzbz][] = $fehlerText; } } } @@ -152,11 +159,36 @@ class Plausichecks extends Auth_Controller $fehlerKurzbz = $this->plausicheckdefinitionlib->getFehlerKurzbz(); + $db = new DB_Model(); + + // get fehlercodes for fehler_kurzbz + $fehlerRes = $db->execReadOnlyQuery( + 'SELECT + fehler_kurzbz, fehlercode + FROM + system.tbl_fehler + WHERE + fehler_kurzbz IN ?', + array($fehlerKurzbz) + ); + + if (isError($fehlerRes)) show_error(getError($fehlerRes)); + + $fehlerKurzbzCodeMappings = array(); + if (hasData($fehlerRes)) + { + $fehler = getData($fehlerRes); + foreach ($fehler as $fe) + { + $fehlerKurzbzCodeMappings[$fe->fehler_kurzbz] = $fe->fehlercode; + } + } + return array( 'semester' => hasData($studiensemesterRes) ? getData($studiensemesterRes) : array(), 'currsemester' => hasData($currSemRes) ? getData($currSemRes) : array(), 'studiengaenge' => hasData($studiengaengeRes) ? getData($studiengaengeRes) : array(), - 'fehler' => $fehlerKurzbz + 'fehlerKurzbzCodeMappings' => $fehlerKurzbzCodeMappings ); } } diff --git a/application/views/system/issues/issuesKonfigurationData.php b/application/views/system/issues/issuesKonfigurationData.php index fa4e1e49d..a83dc73ce 100644 --- a/application/views/system/issues/issuesKonfigurationData.php +++ b/application/views/system/issues/issuesKonfigurationData.php @@ -25,7 +25,7 @@ $filterWidgetArray = array( ucfirst($this->p->t('fehlermonitoring', 'fehlercode')), ucfirst($this->p->t('fehlermonitoring', 'fehlerkurzbz')), ucfirst($this->p->t('fehlermonitoring', 'konfigurationswert')), - 'application', + 'Application', ucfirst($this->p->t('fehlermonitoring', 'konfigurationsbeschreibung')), ucfirst($this->p->t('fehlermonitoring', 'konfigurationsdatentyp')), ucfirst($this->p->t('fehlermonitoring', 'fehlertext')), diff --git a/application/views/system/issues/plausichecks.php b/application/views/system/issues/plausichecks.php index 4016e64cd..45c272ff4 100644 --- a/application/views/system/issues/plausichecks.php +++ b/application/views/system/issues/plausichecks.php @@ -71,9 +71,9 @@ $this->load->view( diff --git a/public/js/issues/plausichecks.js b/public/js/issues/plausichecks.js index 24b204ea3..cf55cf463 100644 --- a/public/js/issues/plausichecks.js +++ b/public/js/issues/plausichecks.js @@ -24,8 +24,8 @@ var Plausichecks = { for (let fehler_kurzbz in issueData) { - messageStr += "

Prüfe " + fehler_kurzbz + "..."; - let issues = issueData[fehler_kurzbz]; + let issues = issueData[fehler_kurzbz]['data']; + messageStr += "

Prüfe " + fehler_kurzbz + " ("+issueData[fehler_kurzbz]['fehlercode']+")..."; if (issues.length == 0) { messageStr += "
Keine Issues für " + fehler_kurzbz + "";