From 4842f3198926ed452c2b33fae171f2abfa1f5a0f Mon Sep 17 00:00:00 2001 From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch> Date: Fri, 9 Jun 2017 17:11:11 +0200 Subject: [PATCH] ci webgui - detect missing placeholder in templates --- config/lang/de.json | 1 + config/lang/en.json | 1 + public_html/deployment/pages/act_phase.php | 30 ++++++++++++++-------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/config/lang/de.json b/config/lang/de.json index e9fbe501..1abfeb08 100644 --- a/config/lang/de.json +++ b/config/lang/de.json @@ -255,6 +255,7 @@ "foreman-error-missing-template": "In Foreman wurde das Templatefile [%s] definiert, aber dieses existiert nicht im Build.", "foreman-error-no-replacement-for-id": "In Foreman wurde keine noch Ersetzung für [%s] definiert.", "foreman-error-no-target": "In Foreman wurde keine Ziel-Datei definiert", + "foreman-error-no-replacement-in-templatefile": "Es wurde kein Platzhalter zum Ersetzen in diesem Template gefunden.", "foreman-error-template-unknown": "Das Template wurde in Foreman nicht aufgenommen", "foreman-error-replacement-unknown": "Das Replacement [%s] in Foreman existiert im Template nicht.", "foreman-hostgroup": "Foreman Hostgruppe", diff --git a/config/lang/en.json b/config/lang/en.json index 4db2c5e3..7eb6255a 100644 --- a/config/lang/en.json +++ b/config/lang/en.json @@ -257,6 +257,7 @@ "foreman-error-missing-template": "In Foreman the templatefile [%s] was defined but it does not exist in the build.", "foreman-error-no-replacement-for-id": "There is no replacement for [%s] in Foreman.", "foreman-error-no-target": "No target file was set in Foreman", + "foreman-error-no-replacement-in-templatefile": "No placeholder for a replacement was found in this template.", "foreman-error-template-unknown": "The template was not added in Foreman.", "foreman-error-replacement-unknown": "The replacement [%s] from Foreman has no plceholder in the template file.", "foreman-hostgroup": "Foreman hostgroup", diff --git a/public_html/deployment/pages/act_phase.php b/public_html/deployment/pages/act_phase.php index 24d0013d..ff97695c 100644 --- a/public_html/deployment/pages/act_phase.php +++ b/public_html/deployment/pages/act_phase.php @@ -119,22 +119,30 @@ if ($sPhase) { // --- loop over all replacement items of template file // and check if they exist in foreman - foreach ($aFields as $sField){ - if ($aReplacementsForeman && array_key_exists($sField, $aReplacementsForeman[$tTplFile]['replace'])){ - $sTd=$aReplacementsForeman[$tTplFile]['replace'][$sField]; - } else { - if ($bFileInForeman){ - $sTd=$oHtml->getBox('error', sprintf(t('foreman-error-no-replacement-for-id'), $sField)); - $aWarnings[]=$tTplFile.': '.sprintf(t('foreman-error-no-replacement-for-id'), $sField); + if (count($aFields)) { + foreach ($aFields as $sField){ + if ($aReplacementsForeman && array_key_exists($sField, $aReplacementsForeman[$tTplFile]['replace'])){ + $sTd=$aReplacementsForeman[$tTplFile]['replace'][$sField]; } else { - $sTd='-'; - } + if ($bFileInForeman){ + $sTd=$oHtml->getBox('error', sprintf(t('foreman-error-no-replacement-for-id'), $sField)); + $aWarnings[]=$tTplFile.': '.sprintf(t('foreman-error-no-replacement-for-id'), $sField); + } else { + $sTd='-'; + } + } + $aTable['body'][]=array( + $oHtml->getIcon('replace') . $sField, + $sTd + ); } + } else { $aTable['body'][]=array( - $oHtml->getIcon('replace') . $sField, - $sTd + $oHtml->getBox('error', t('foreman-error-no-replacement-in-templatefile')), + '-' ); + $aWarnings[]=$tTplFile.': '.t('foreman-error-no-replacement-in-templatefile'); } // --- reverse check ... loop over all replacement items of foreman -- GitLab