From 00424e6dfe7015d50ef86f725b12620b9436bc60 Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch>
Date: Tue, 27 Sep 2022 15:33:37 +0200
Subject: [PATCH] small changes: status column

---
 classes/cronlog-renderer.class.php | 32 +++++++++++++++++++++++-------
 main.css                           |  2 ++
 2 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/classes/cronlog-renderer.class.php b/classes/cronlog-renderer.class.php
index d195b47..3c2e8e4 100644
--- a/classes/cronlog-renderer.class.php
+++ b/classes/cronlog-renderer.class.php
@@ -43,7 +43,7 @@ class cronlogrenderer extends cronlog{
     
     /**
      * show date of last data and last access; used in rendering methods to display it on top
-     * @param type $iLast  timestamp of last log entry
+     * @param integer $iLast  unix timestamp of last log entry
      * @return string
      */
     protected function _renderAccessAndAge($iLast){
@@ -97,13 +97,22 @@ class cronlogrenderer extends cronlog{
             $iNextRunErr=$aEntry['SCRIPTSTARTTIME']+(((int)$aEntry['SCRIPTTTL']+(int)$this->_iExpiredJobsFailAfter)*60);
             
             if($iNextRunErr < date("U")){
-                $aErrors[]='outdated since ' . date("Y-m-d H:i", $iNextRunErr) . ' (+'.$this->_iExpiredJobsFailAfter.'min)';
+                $aErrors[]=[
+                    'Abgelaufen',
+                    'Job wurde nicht mehr gestartet oder kein Sync zum Logserver',
+                ];
             }
             if($aEntry['SCRIPTRC']>0){
-                $aErrors[]='exitcode is '.(int)$aEntry['SCRIPTRC'].' (<>0)';
+                $aErrors[]=[
+                    'Exitcode '.(int)$aEntry['SCRIPTRC'].' (<>0)',
+                    'The command finished with a non error status'
+                ];
             }
             if(!$aEntry['SCRIPTLABEL']){
-                $aErrors[]='no label?';
+                $aErrors[]=[
+                    'Kein Label?',
+                    'No label was detected for this job. Check the scheduled cronjob on server.'
+                ];
             }
             
             
@@ -122,6 +131,15 @@ class cronlogrenderer extends cronlog{
             }
             $sTtlHr=$sTtlHr ? '('.$sTtlHr.')' : '';
 
+            $sColStatus='';
+            if (count($aErrors)){
+                foreach($aErrors as $aErr){
+                    $sColStatus.='<li><abbr title="'.$aErr[1].'">FEHLER: '.$aErr[0].'</abbr></li>';
+                }
+                $sColStatus='<ul>'.$sColStatus.'</ul>';
+            } else {
+                $sColStatus.='OK';
+            }
             // render table of last logfile per cron job
             $sHtml.='<tr onclick="showFile(\''.$aEntry['logfile'].'\');" title="Klick=['.$aEntry['logfile'].'] anzeigen ">'
                     . '<td>'.date("Y-m-d H:i:s", $aEntry['SCRIPTSTARTTIME']).'</td>'
@@ -147,9 +165,9 @@ class cronlogrenderer extends cronlog{
                             ?  ($iNextRunErr < date("U") ? 'message-error' : 'message-warning')
                             : '' ).'">'
                         . date("Y-m-d H:i", $iNextRun).'</td>'
-                    . '<td'.(count($aErrors) ? ' class="message-error" title="- '.implode("\n- ", $aErrors).'"' : '' ).'>'
-                        // .(count($aErrors) ? 'FEHLER:<br>*'.implode('<br>*', $aErrors) : 'OK').'</td>'
-                        .(count($aErrors) ? 'FEHLER' : 'OK').'</td>'
+                    . '<td'.(count($aErrors) ? ' class="message-error" title=""' : '' ).'>'
+                        .$sColStatus.'</td>'
+                        // .(count($aErrors) ? 'FEHLER' : 'OK').'</td>'
                     // . '<td><button onclick="showFile(\''.$aEntry['logfile'].'\');">Ansehen</button></td>'
                     . '</tr>'
                     ;
diff --git a/main.css b/main.css
index d9bf2bf..83a9591 100644
--- a/main.css
+++ b/main.css
@@ -71,6 +71,8 @@ table.dataTable tbody tr.message-error,   .message-error{background:#fdd; color:
 table.dataTable tbody tr.message-warning, .message-warning{background:#fec; color:#876 !important;}
 table.dataTable tbody tr:hover{background:rgba(0,0,0,0.1);}
 
+table.dataTable tbody td ul{margin: 0; padding-left: 0.8em;}
+
 
 /* timeline
 */
-- 
GitLab