mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 07:12:26 +02:00
N°9617 - Send events on data export for traceability
This commit is contained in:
@@ -5356,6 +5356,7 @@ JS
|
|||||||
/**
|
/**
|
||||||
* @param array $aChanges
|
* @param array $aChanges
|
||||||
* @param bool $bIsNew
|
* @param bool $bIsNew
|
||||||
|
* @param string|null $sStimulusBeingApplied
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @throws \ArchivedObjectException
|
* @throws \ArchivedObjectException
|
||||||
@@ -5369,6 +5370,21 @@ JS
|
|||||||
$this->FireEvent(EVENT_DB_AFTER_WRITE, ['is_new' => $bIsNew, 'changes' => $aChanges, 'stimulus_applied' => $sStimulusBeingApplied, 'cmdb_change' => self::GetCurrentChange()]);
|
$this->FireEvent(EVENT_DB_AFTER_WRITE, ['is_new' => $bIsNew, 'changes' => $aChanges, 'stimulus_applied' => $sStimulusBeingApplied, 'cmdb_change' => self::GetCurrentChange()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////
|
||||||
|
/// READ
|
||||||
|
///
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
* @throws \CoreException
|
||||||
|
* @since 3.3.0
|
||||||
|
*/
|
||||||
|
final public function FireEventReadDetails(): void
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->FireEvent(EVENT_DB_TRACEABILITY);
|
||||||
|
}
|
||||||
|
|
||||||
//////////////
|
//////////////
|
||||||
/// DELETE
|
/// DELETE
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -519,6 +519,23 @@ Call $this->AddInitialAttributeFlags($sAttCode, $iFlags) for all the initial att
|
|||||||
</event_datum>
|
</event_datum>
|
||||||
</event_data>
|
</event_data>
|
||||||
</event>
|
</event>
|
||||||
|
<event id="EVENT_DB_TRACEABILITY" _delta="define">
|
||||||
|
<name>Object details read from outside iTop</name>
|
||||||
|
<description><![CDATA[An object details has been read during an export]]></description>
|
||||||
|
<sources>
|
||||||
|
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
|
||||||
|
</sources>
|
||||||
|
<event_data>
|
||||||
|
<event_datum id="object">
|
||||||
|
<description>The object unarchived</description>
|
||||||
|
<type>DBObject</type>
|
||||||
|
</event_datum>
|
||||||
|
<event_datum id="debug_info">
|
||||||
|
<description>Debug string</description>
|
||||||
|
<type>string</type>
|
||||||
|
</event_datum>
|
||||||
|
</event_data>
|
||||||
|
</event>
|
||||||
<event id="EVENT_DOWNLOAD_DOCUMENT" _delta="define">
|
<event id="EVENT_DOWNLOAD_DOCUMENT" _delta="define">
|
||||||
<name>Document downloaded</name>
|
<name>Document downloaded</name>
|
||||||
<description><![CDATA[A document has been downloaded from the GUI]]></description>
|
<description><![CDATA[A document has been downloaded from the GUI]]></description>
|
||||||
|
|||||||
@@ -340,6 +340,7 @@ EOF
|
|||||||
|
|
||||||
$sField = '';
|
$sField = '';
|
||||||
$oObj = $aRow[$sAlias];
|
$oObj = $aRow[$sAlias];
|
||||||
|
$oObj->FireEventReadDetails();
|
||||||
if ($oObj != null) {
|
if ($oObj != null) {
|
||||||
switch ($sAttCode) {
|
switch ($sAttCode) {
|
||||||
case 'id':
|
case 'id':
|
||||||
|
|||||||
@@ -6247,7 +6247,9 @@ abstract class DBObject implements iDisplay
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param array $aChanges
|
||||||
* @param bool $bIsNew
|
* @param bool $bIsNew
|
||||||
|
* @param string|null $sStimulusBeingApplied
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @since 3.1.0
|
* @since 3.1.0
|
||||||
@@ -6256,6 +6258,18 @@ abstract class DBObject implements iDisplay
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////
|
||||||
|
/// READ
|
||||||
|
///
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
* @since 3.3.0
|
||||||
|
*/
|
||||||
|
public function FireEventReadDetails(): void
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
//////////////
|
//////////////
|
||||||
/// DELETE
|
/// DELETE
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -293,6 +293,7 @@ EOF
|
|||||||
$sAttCode = $aFieldSpec['sAttCode'];
|
$sAttCode = $aFieldSpec['sAttCode'];
|
||||||
|
|
||||||
$oObj = $aRow[$sAlias];
|
$oObj = $aRow[$sAlias];
|
||||||
|
$oObj->FireEventReadDetails();
|
||||||
$sField = '';
|
$sField = '';
|
||||||
if ($oObj) {
|
if ($oObj) {
|
||||||
$sField = $this->GetValue($oObj, $sAttCode);
|
$sField = $this->GetValue($oObj, $sAttCode);
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ class HTMLBulkExport extends TabularBulkExport
|
|||||||
$sAttCode = $aFieldSpec['sAttCode'];
|
$sAttCode = $aFieldSpec['sAttCode'];
|
||||||
|
|
||||||
$oObj = $aRow[$sAlias];
|
$oObj = $aRow[$sAlias];
|
||||||
|
$oObj->FireEventReadDetails();
|
||||||
$sField = '';
|
$sField = '';
|
||||||
if ($oObj) {
|
if ($oObj) {
|
||||||
$sField = $this->GetValue($oObj, $sAttCode);
|
$sField = $this->GetValue($oObj, $sAttCode);
|
||||||
|
|||||||
@@ -531,6 +531,7 @@ class CoreServices implements iRestServiceProvider, iRestInputSanitizer
|
|||||||
}
|
}
|
||||||
|
|
||||||
while ($oObject = $oObjectSet->Fetch()) {
|
while ($oObject = $oObjectSet->Fetch()) {
|
||||||
|
$oObject->FireEventReadDetails();
|
||||||
$oResult->AddObject(0, '', $oObject, $aShowFields, $bExtendedOutput);
|
$oResult->AddObject(0, '', $oObject, $aShowFields, $bExtendedOutput);
|
||||||
}
|
}
|
||||||
$oResult->message = "Found: ".$oObjectSet->Count();
|
$oResult->message = "Found: ".$oObjectSet->Count();
|
||||||
@@ -605,6 +606,7 @@ class CoreServices implements iRestServiceProvider, iRestInputSanitizer
|
|||||||
if ($oElement instanceof RelationObjectNode) {
|
if ($oElement instanceof RelationObjectNode) {
|
||||||
$oObject = $oElement->GetProperty('object');
|
$oObject = $oElement->GetProperty('object');
|
||||||
if ($oObject) {
|
if ($oObject) {
|
||||||
|
$oObject->FireEventReadDetails();
|
||||||
if ($bEnableRedundancy && $sDirection == 'down') {
|
if ($bEnableRedundancy && $sDirection == 'down') {
|
||||||
// Add only the "reached" objects
|
// Add only the "reached" objects
|
||||||
if ($oElement->GetProperty('is_reached')) {
|
if ($oElement->GetProperty('is_reached')) {
|
||||||
|
|||||||
@@ -233,7 +233,6 @@ EOF
|
|||||||
public function GetNextChunk(&$aStatus)
|
public function GetNextChunk(&$aStatus)
|
||||||
{
|
{
|
||||||
$sRetCode = 'run';
|
$sRetCode = 'run';
|
||||||
$iPercentage = 0;
|
|
||||||
|
|
||||||
$oSet = new DBObjectSet($this->oSearch);
|
$oSet = new DBObjectSet($this->oSearch);
|
||||||
$oSet->SetLimit($this->iChunkSize, $this->aStatusInfo['position']);
|
$oSet->SetLimit($this->iChunkSize, $this->aStatusInfo['position']);
|
||||||
@@ -261,6 +260,7 @@ EOF
|
|||||||
$sField = '';
|
$sField = '';
|
||||||
/** @var \DBObject $oObj */
|
/** @var \DBObject $oObj */
|
||||||
$oObj = $aRow[$sAlias];
|
$oObj = $aRow[$sAlias];
|
||||||
|
$oObj->FireEventReadDetails();
|
||||||
if ($oObj == null) {
|
if ($oObj == null) {
|
||||||
$sData .= "<td x:str></td>";
|
$sData .= "<td x:str></td>";
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ class XMLBulkExport extends BulkExport
|
|||||||
}
|
}
|
||||||
foreach ($aAuthorizedClasses as $sAlias => $sClassName) {
|
foreach ($aAuthorizedClasses as $sAlias => $sClassName) {
|
||||||
$oObj = $aObjects[$sAlias];
|
$oObj = $aObjects[$sAlias];
|
||||||
|
$oObj->FireEventReadDetails();
|
||||||
if (is_null($oObj)) {
|
if (is_null($oObj)) {
|
||||||
$sData .= "<$sClassName alias=\"$sAlias\" id=\"null\">\n";
|
$sData .= "<$sClassName alias=\"$sAlias\" id=\"null\">\n";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user