From 5670f931ef4c462d507bc22a73a34da39072281c Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 4 Oct 2022 03:17:41 +0200 Subject: [PATCH] Plausichecks: beautified GUI output --- .../system/issues/Plausichecks.php | 29 +++++-------------- .../views/system/issues/plausichecks.php | 5 ---- public/js/issues/plausichecks.js | 25 ++++++++++++---- 3 files changed, 26 insertions(+), 33 deletions(-) diff --git a/application/controllers/system/issues/Plausichecks.php b/application/controllers/system/issues/Plausichecks.php index 8251560e0..878f04935 100644 --- a/application/controllers/system/issues/Plausichecks.php +++ b/application/controllers/system/issues/Plausichecks.php @@ -25,17 +25,6 @@ class Plausichecks extends Auth_Controller $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); $this->load->model('organisation/Studiengang_model', 'StudiengangModel'); - //~ $this->loadPhrases( - //~ array( - //~ 'global', - //~ 'ui', - //~ 'filter', - //~ 'lehre', - //~ 'person', - //~ 'fehlermonitoring' - //~ ) - //~ ); - $this->_setAuthUID(); // sets property uid } @@ -51,20 +40,18 @@ class Plausichecks extends Auth_Controller $studiengang_kz = $this->input->get('studiengang_kz'); $fehler_kurzbz = $this->input->get('fehler_kurzbz'); - // message array for storing info output - $messages = array(); + // issues array for passing issue texts + $issueTexts = array(); // all fehler kurzbz which are going to be checked $fehlerKurzbz = !isEmptyString($fehler_kurzbz) ? array($fehler_kurzbz) : $this->plausicheckproducerlib->getFehlerKurzbz(); // set Studiengang to null if not passed if (isEmptyString($studiengang_kz)) $studiengang_kz = null; - $messages[] = "Plausicheck Lauf gestartet"; - // get the data returned by Plausicheck foreach ($fehlerKurzbz as $fehler_kurzbz) { // execute the check - $messages[] = "Prüfe " . $fehler_kurzbz . "..."; + $issueTexts[$fehler_kurzbz] = array(); $plausicheckRes = $this->plausicheckproducerlib->producePlausicheck($fehler_kurzbz, $studiensemester_kurzbz, $studiengang_kz); if (isError($plausicheckRes)) $this->terminateWithJsonError(getError($plausicheckRes)); @@ -92,17 +79,15 @@ class Plausichecks extends Auth_Controller { $fehlerText = getData($fehlerRes)[0]->fehlertext; $fehlerText = isEmptyArray($fehlertext_params) ? $fehlerText : vsprintf($fehlerText, $fehlertext_params); - $messages[] = $fehlerText; + if (isset($person_id)) $fehlerText .= ", person_id: $person_id"; + if (isset($oe_kurzbz)) $fehlerText .= ", oe_kurzbz: $oe_kurzbz"; + $issueTexts[$fehler_kurzbz][] = $fehlerText; } } } - else - $messages[] = "Nichts gefunden für Fehler $fehler_kurzbz"; } - $messages[] = "Plausicheck Lauf gestoppt"; - - $this->outputJsonSuccess($messages); + $this->outputJsonSuccess($issueTexts); } private function _getFilterData() diff --git a/application/views/system/issues/plausichecks.php b/application/views/system/issues/plausichecks.php index 850accd41..8fba2a02f 100644 --- a/application/views/system/issues/plausichecks.php +++ b/application/views/system/issues/plausichecks.php @@ -12,10 +12,6 @@ $this->load->view( 'ajaxlib' => true, 'navigationwidget' => true, 'dialoglib' => true, - //~ 'phrases' => array( - //~ 'ui', - //~ 'fehlermonitoring' - //~ ), //'customCSSs' => array('public/css/issues/issuesZustaendigkeiten.css', 'public/css/sbadmin2/tablesort_bootstrap.css'), 'customJSs' => array('public/js/issues/plausichecks.js') ) @@ -101,7 +97,6 @@ $this->load->view( - diff --git a/public/js/issues/plausichecks.js b/public/js/issues/plausichecks.js index 449a12df2..0849fff85 100644 --- a/public/js/issues/plausichecks.js +++ b/public/js/issues/plausichecks.js @@ -16,18 +16,30 @@ var Plausichecks = { successCallback: function (data, textStatus, jqXHR) { if (FHC_AjaxClient.isError(data)) FHC_DialogLib.alertError(FHC_AjaxClient.getError(data)); + let messageStr = "Plausichecks Prüfung Start"; + if (FHC_AjaxClient.hasData(data)) { - let messageStr = ""; - let messages = FHC_AjaxClient.getData(data); + let issueTexts = FHC_AjaxClient.getData(data); - for (let i = 0; i < messages.length; i++) + for (let fehler_kurzbz in issueTexts) { - messageStr += messages[i]+"
"; - } + messageStr += "

Prüfe " + fehler_kurzbz + "..."; + let texts = issueTexts[fehler_kurzbz]; - $("#plausioutput").html(messageStr); + if (texts.length == 0) { + messageStr += "
Keine Issues für " + fehler_kurzbz + ""; + continue; + } + + for (i = 0; i < texts.length; i++) + { + messageStr += "
" + texts[i] + ""; + } + } } + messageStr += "

Plausichecks Prüfung Ende"; + $("#plausioutput").html(messageStr); }, errorCallback: function (jqXHR, textStatus, errorThrown) { FHC_DialogLib.alertError(textStatus); @@ -35,6 +47,7 @@ var Plausichecks = { } ); }, + }; /**