Skip to content
Snippets Groups Projects
Commit 02965d07 authored by hahn's avatar hahn
Browse files

- show progress on build

- popover infos: new method; removed html errors with PRE tag
- fixed warings in accept action
- get rollback infos (work in progress; invisible so far)
parent 3e0c1a55
No related branches found
No related tags found
No related merge requests found
......@@ -27,7 +27,7 @@ if (array_key_exists("confirm", $aParams)) {
} else {
if (!$sPhase){
$sOut.='ERROR: no Phase.<br>';
$sOut.=$oPrj->getBox("error", 'wrong url - no Phase was found.');
} else {
if (!$oPrj->canAcceptPhase($sPhase)){
$sOut.="ERROR: the phase $sPhase cannot be accepted.";
......
<?php
/* ######################################################################
IML DEPLOYMENT
webgui - rollback
---------------------------------------------------------------------
2014-02-18 Axel <axel.hahn@iml.unibe.ch>
###################################################################### */
require_once("./config/inc_projects_config.php");
require_once("./classes/project.class.php");
// --- Checks
$oPrj=new project($aParams["prj"]);
if (array_key_exists("par3", $aParams)){
$sPhase=$aParams["par3"];
}
if (array_key_exists("par4", $aParams)){
$sVersion=$aParams["par4"];
}
$sOut='<h2>Rollback was not implemented yet</h2><a href="javascript: history.back();">zurück</a>';
if (array_key_exists("confirm", $aParams)) {
$sOut.=$oPrj->queue($sPhase, $sVersion);
} else {
if (!$sPhase){
$sOut.=$oPrj->getBox("error", 'wrong url - no Phase was found.');
} else {
/*
if (!$oPrj->canAcceptPhase($sPhase)){
$sOut.="ERROR: the phase $sPhase cannot be accepted.";
} else {
$aPhaseData=$oPrj->getPhaseInfos($sPhase);
$aConfigPrj=$oPrj->getConfig();
$sUrl=$aConfigPrj["phases"][$sPhase]["url"];
$sNext=$oPrj->getNextPhase($sPhase);
$aPhaseData2=$oPrj->getPhaseInfos($sNext);
$sOut.='
<p>
URL: <a href="'.$sUrl.'">'.$sUrl.'</a><br>
Die Software wurde erfolgreich <span class="'.$sPhase.'">'.$sPhase.'</span> getestet und soll auf die n&auml;chste
Phase <span class="'.$sNext.'">'.$sNext.'</span> ausgerollt werden?<br>
</p>';
if (
array_key_exists("revision", $aPhaseData2["onhold"])
&& $aPhaseData2["onhold"]["revision"]==$aPhaseData["deployed"]["revision"]
){
$sOut.=getBox("warning", "In der Queue von [$sNext] ist die Version von [$sPhase] bereits vorhanden!");
}
if (
array_key_exists("revision", $aPhaseData2["ready4deployment"])
&& $aPhaseData2["ready4deployment"]["revision"]==$aPhaseData["deployed"]["revision"]
){
$sOut.=getBox("warning", "Im Repo von [$sNext] ist die Version von [$sPhase] bereits vorhanden!");
}
$sOut.='
<table>
<thead>
<tr>
<th class="'.$sPhase.'">'.$sPhase.'</th>
<th> </th>
<th class="'.$sNext.'" colspan="2">'.$sNext.'</th>
</tr>
</thead>
<tbody>
<tr>
<td class="'.$sPhase.'">
auf dem Server ist installiert:<br>
'.$oPrj->renderPhaseDetail($sPhase, "deployed", false).'
</td>
<td style="vertical-align: middle;">
<img src="/deployment/images/nuvola64x64/apps/noatun.png">
</td>
<td class="'.$sNext.'">
in der Queue:<br>
'.$oPrj->renderPhaseDetail($sNext, "onhold", false).'
</td>
<td class="'.$sNext.'">
im Repo:<br>
'.$oPrj->renderPhaseDetail($sNext, "ready4deployment", false).'
</td>
</tr>
</tbody>
</table>
<br>
';
// Eingabe Kommentare zum Deployment
$sOut.='
<form action="?" method="post" enctype="multipart/form-data">
<input type="hidden" name="confirm" value="1">
<fieldset>
<button type="submit" class="btn btn-primary btn-large" >Accept ['.$sPhase.'] and put to ['.$sNext.']</button>
</fieldset>
</form>
';
}
*
*/
}
}
$sOut.= '<hr>' .aPrjHome();
// -- Ausgabe
echo $sOut;
?>
......@@ -393,9 +393,17 @@ class project {
$bCanRollback = false;
} else {
$bCanRollback = true;
if ($sLastVersion && !$aVersionData[$sLastVersion][$sPhase]["rollback"]) {
if (
$sLastVersion
&& !$aVersionData[$sLastVersion]["rollback"][$sPhase]
) {
$bCanRollback = false;
}
/*
if (!array_key_exists("ok", $aVersionData[$sVersion]["info"])){
$bCanRollback = false;
}
*/
}
$aVersionData[$sVersion]["rollback"][$sPhase] = $bCanRollback;
}
......@@ -899,7 +907,7 @@ class project {
$sActions.='>' . $aActions["actions"][$i]['label'] . '</li>';
}
if ($sActions) {
$sData = '<div class="warning" style="float: right; padding: 1em;">'
$sData = '<div style="float: right; background: #f8f8f8; padding: 1em;">'
. '<strong>' . $aActions["label"] . '</strong>'
. '<ol class="actions">'
. $sActions
......@@ -1596,7 +1604,7 @@ class project {
* @param string $sPhase current phase where to place the link
* @return string
*/
public function renderLink($sFunction, $sPhase = false) {
public function renderLink($sFunction, $sPhase = false, $sVersion = false) {
$sFirst = $this->getNextPhase();
$sNext = $this->getNextPhase($sPhase);
$aLinkdata = array(
......@@ -1622,6 +1630,10 @@ class project {
'hint' => 'Details zur Phase [' . $sPhase . ']',
'label' => 'Details'
),
'rollback' => array('icon' => 'icon-forward', 'class' => $sPhase,
'hint' => 'Rollback Phase [' . $sPhase . ']',
'label' => 'Rollback'
),
);
// fuer wen ist der Link:
$sRole = '';
......@@ -1656,6 +1668,9 @@ class project {
if ($sPhase) {
$sLink.="$sPhase/";
}
if ($sVersion) {
$sLink.="$sVersion/";
}
return '<a href="' . $sLink . '" title="' . $sHint . '" class="btn ' . $sClass . '"><i class="' . $sIconClass . '"></i> ' . $sLabel . '</a>';
}
......@@ -1990,7 +2005,9 @@ class project {
foreach ($this->getActivePhases() as $sPhase) {
$sTLine = '';
$bCanRollback=$aData["rollback"][$sPhase];
$sReturn.=$aData["rollback"][$sPhase] ? '<td>Rollback</td>' : '<td> -- </td>';
// $sReturn.=$aData["rollback"][$sPhase] ? '<td>'.$this->renderLink("rollback", $sPhase, $sVersion).'</td>' : '<td>Rollback NOT possible</td>';
$sReturn.=$aData["rollback"][$sPhase] ? '<td> Y </td>' : '<td> N </td>';
foreach (array_keys($this->_aPlaces) as $sPlace) {
$bFound = false;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment