N°3570 Migrate Synchro data source page

This commit is contained in:
Stephen Abello
2021-03-03 10:06:10 +01:00
parent cf4e023695
commit 175aebaa14
3 changed files with 87 additions and 26 deletions

View File

@@ -21,4 +21,5 @@
@import "attachments";
@import "tabularfieldsselector";
@import "impact-analysis";
@import "audit";
@import "audit";
@import "data-syncro";

View File

@@ -0,0 +1,66 @@
$ibo-data-synchro-source--replicas-status--is-light--opacity: 0.5 !default;
$ibo-data-synchro-source--replicas-table--cell--padding: 10px !default;
$ibo-data-synchro-source--replicas-table--cell--min-width: 200px !default;
$ibo-data-synchro-source--replicas-table--cell--arrow--min-width: 100px !default;
$ibo-data-synchro-source--replicas-status--warning--margin: 0 5px 0 8px !default;
$ibo-data-synchro-source--replicas-status--color: (
'grey': (
$ibo-color-grey-400,
$ibo-color-grey-900,
),
'orange': (
$ibo-color-orange-300,
$ibo-color-orange-900,
),
'bluegrey': (
$ibo-color-blue-grey-200,
$ibo-color-blue-grey-900,
),
'red': (
$ibo-color-red-300,
$ibo-color-red-900,
),
'blue': (
$ibo-color-blue-200,
$ibo-color-blue-900,
),
'green': (
$ibo-color-green-100,
$ibo-color-green-900,
),
'cyan': (
$ibo-color-cyan-100,
$ibo-color-cyan-900,
),
) !default;
@each $sColor, $aAttributes in $ibo-data-synchro-source--replicas-status--color {
$bg-color: nth($aAttributes, 1);
$color: nth($aAttributes, 2);
.ibo-data-synchro-source--replicas-status.ibo-is-#{$sColor}{
color: $color;
background-color: $bg-color;
}
}
.ibo-data-synchro-source--replicas-status.ibo-is-light{
opacity: $ibo-data-synchro-source--replicas-status--is-light--opacity;
&:hover{
opacity: 1;
}
}
.synoptics tr td{
padding: $ibo-data-synchro-source--replicas-table--cell--padding;
min-width: $ibo-data-synchro-source--replicas-table--cell--min-width;
vertical-align: middle;
text-align: center;
&.arrow{
min-width: $ibo-data-synchro-source--replicas-table--cell--arrow--min-width;
}
}
.ibo-data-synchro-source--replicas-status--warning{
margin: $ibo-data-synchro-source--replicas-status--warning--margin;
}

View File

@@ -421,7 +421,7 @@ class SynchroDataSource extends cmdbAbstractObject
$sAllWarnings).'</h2>');
}
$oPage->add('<table class="synoptics"><tr><td style="color:#333;vertical-align:top">');
$oPage->add('<table class="synoptics"><tr><td>');
// List all the log entries for the user to select
$oPage->add('<h2 style="line-height:55px;">'.Dict::S('Core:Synchro:History').'</h2>');
@@ -458,12 +458,6 @@ class SynchroDataSource extends cmdbAbstractObject
var aValues = aSynchroLog[id];
if (aValues == undefined) return;
for (var sKey in aValues)
{
$('#c_'+sKey).html(aValues[sKey]);
var fOpacity = (aValues[sKey] == 0) ? 0.3 : 1;
$('#'+sKey).fadeTo("slow", fOpacity);
}
//alert('id = '+id+', lastLog='+sLastLog+', id==sLastLog: '+(id==sLastLog)+' obj_updated_errors: '+aValues['obj_updated_errors']);
if ( (id == sLastLog) && (aValues['obj_new_errors'] > 0) )
{
@@ -522,37 +516,37 @@ JS;
EOF
);
$sBaseOQL = 'SELECT SynchroReplica WHERE sync_source_id='.$this->GetKey()." AND status_last_error!=''";
$oPage->add($this->HtmlBox('repl_ignored', $aData, '#999').'<td colspan="2">&nbsp;</td>');
$oPage->add($this->HtmlBox('repl_ignored', $aData, 'grey').'<td colspan="2">&nbsp;</td>');
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('repl_disappeared', $aData, '#630',
'rowspan="4"').'<td rowspan="4" class="arrow">=&gt;</td>'.$this->HtmlBox('obj_disappeared_no_action', $aData, '#333'));
$oPage->add($this->HtmlBox('repl_disappeared', $aData, 'orange',
'rowspan="4"').'<td rowspan="4" class="arrow"><i class="fas fa-arrow-right"></i></td>'.$this->HtmlBox('obj_disappeared_no_action', $aData, 'grey'));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('obj_deleted', $aData, '#000'));
$oPage->add($this->HtmlBox('obj_deleted', $aData, 'bluegrey'));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('obj_obsoleted', $aData, '#630'));
$oPage->add($this->HtmlBox('obj_obsoleted', $aData, 'orange'));
$oPage->add("</tr>\n<tr>");
$sOQL = urlencode($sBaseOQL." AND status='obsolete'");
$oPage->add($this->HtmlBox('obj_disappeared_errors', $aData, '#C00', '',
$oPage->add($this->HtmlBox('obj_disappeared_errors', $aData, 'red', '',
" <a style=\"color:#fff\" href=\"../synchro/replica.php?operation=oql&datasource=$iDSid&oql=$sOQL\" id=\"disappeared_errors_link\">Show</a>"));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('repl_existing', $aData, '#093',
'rowspan="3"').'<td rowspan="3" class="arrow">=&gt;</td>'.$this->HtmlBox('obj_unchanged', $aData, '#393'));
$oPage->add($this->HtmlBox('repl_existing', $aData, 'green',
'rowspan="3"').'<td rowspan="3" class="arrow"><i class="fas fa-arrow-right"></i></td>'.$this->HtmlBox('obj_unchanged', $aData, 'blue'));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('obj_updated', $aData, '#3C3'));
$oPage->add($this->HtmlBox('obj_updated', $aData, 'green'));
$oPage->add("</tr>\n<tr>");
$sOQL = urlencode($sBaseOQL." AND status='modified'");
$oPage->add($this->HtmlBox('obj_updated_errors', $aData, '#C00', '',
$oPage->add($this->HtmlBox('obj_updated_errors', $aData, 'red', '',
" <a style=\"color:#fff\" href=\"../synchro/replica.php?operation=oql&datasource=$iDSid&oql=$sOQL\" id=\"updated_errors_link\">Show</a>"));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('repl_new', $aData, '#339',
'rowspan="4"').'<td rowspan="4" class="arrow">=&gt;</td>'.$this->HtmlBox('obj_new_unchanged', $aData, '#393'));
$oPage->add($this->HtmlBox('repl_new', $aData, 'cyan',
'rowspan="4"').'<td rowspan="4" class="arrow"><i class="fas fa-arrow-right"></i></td>'.$this->HtmlBox('obj_new_unchanged', $aData, 'blue'));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('obj_new_updated', $aData, '#3C3'));
$oPage->add($this->HtmlBox('obj_new_updated', $aData, 'green'));
$oPage->add("</tr>\n<tr>");
$oPage->add($this->HtmlBox('obj_created', $aData, '#339'));
$oPage->add($this->HtmlBox('obj_created', $aData, 'cyan'));
$oPage->add("</tr>\n<tr>");
$sOQL = urlencode($sBaseOQL." AND status='new'");
$oPage->add($this->HtmlBox('obj_new_errors', $aData, '#C00', '',
$oPage->add($this->HtmlBox('obj_new_errors', $aData, 'red', '',
" <a style=\"color:#fff\" href=\"../synchro/replica.php?operation=oql&datasource=$iDSid&oql=$sOQL\" id=\"new_errors_link\">Show</a>"));
$oPage->add("</tr>\n</table>\n");
$oPage->add('</td></tr></table>');
@@ -570,13 +564,13 @@ EOF
$iCount = $aData[$sId];
$sCount = "<span id=\"c_{$sId}\">$iCount</span>";
$sLabel = Dict::Format('Core:Synchro:label_'.$sId, $sCount);
$sOpacity = ($iCount == 0) ? 'opacity:0.3;' : '';
$sOpacity = ($iCount == 0) ? 'ibo-is-light' : '';
if (isset($aData[$sId.'_warnings']))
{
$sLabel .= " <span id=\"cw_{$sId}_warnings\"><img src=\"../images/error.png\" style=\"vertical-align:middle\"/> (<span id=\"c_{$sId}_warnings\">".$aData[$sId.'_warnings'].'</span>)</span>';
$sLabel .= " <span id=\"cw_{$sId}_warnings\" class=\"ibo-data-synchro-source--replicas-status--warning\"><i class=\"fas fa-exclamation-triangle\"></i> (<span id=\"c_{$sId}_warnings\">".$aData[$sId.'_warnings'].'</span>)</span>';
}
return "<td id=\"$sId\" style=\"background-color:$sColor;$sOpacity;\" {$sHTMLAttribs}>{$sLabel}{$sErrorLink}</td>";
return '<td id="'.$sId.'" class="ibo-data-synchro-source--replicas-status ibo-is-'.$sColor.' '.$sOpacity.'" '.$sHTMLAttribs.'>'.$sLabel.$sErrorLink.'</td>';
}
protected function ProcessLog($oLastLog)