mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
Merge remote-tracking branch 'origin/support/3.1' into develop
This commit is contained in:
@@ -5954,6 +5954,16 @@ JS
|
|||||||
$this->FireEvent(EVENT_DB_CHECK_TO_DELETE, ['deletion_plan' => $oDeletionPlan]);
|
$this->FireEvent(EVENT_DB_CHECK_TO_DELETE, ['deletion_plan' => $oDeletionPlan]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
* @throws \CoreException
|
||||||
|
* @since 3.1.2
|
||||||
|
*/
|
||||||
|
final protected function FireEventAboutToDelete(): void
|
||||||
|
{
|
||||||
|
$this->FireEvent(EVENT_DB_ABOUT_TO_DELETE);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return void
|
||||||
* @throws \CoreException
|
* @throws \CoreException
|
||||||
|
|||||||
@@ -270,6 +270,23 @@
|
|||||||
</event_datum>
|
</event_datum>
|
||||||
</event_data>
|
</event_data>
|
||||||
</event>
|
</event>
|
||||||
|
<event id="EVENT_DB_ABOUT_TO_DELETE" _delta="define">
|
||||||
|
<description>An object is about to be deleted from the database</description>
|
||||||
|
<sources>
|
||||||
|
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
|
||||||
|
</sources>
|
||||||
|
<replaces>cmdbAbstractObject::OnDelete</replaces>
|
||||||
|
<event_data>
|
||||||
|
<event_datum id="object">
|
||||||
|
<description>The object about to be deleted</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_DB_AFTER_DELETE" _delta="define">
|
<event id="EVENT_DB_AFTER_DELETE" _delta="define">
|
||||||
<description>An object has been deleted into the database</description>
|
<description>An object has been deleted into the database</description>
|
||||||
<sources>
|
<sources>
|
||||||
|
|||||||
@@ -4108,6 +4108,8 @@ abstract class DBObject implements iDisplay
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->SetReadOnly("No modification allowed before delete");
|
||||||
|
$this->FireEventAboutToDelete();
|
||||||
$oKPI = new ExecutionKPI();
|
$oKPI = new ExecutionKPI();
|
||||||
$this->OnDelete();
|
$this->OnDelete();
|
||||||
$oKPI->ComputeStatsForExtension($this, 'OnDelete');
|
$oKPI->ComputeStatsForExtension($this, 'OnDelete');
|
||||||
@@ -6627,6 +6629,14 @@ abstract class DBObject implements iDisplay
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
* @since 3.1.2
|
||||||
|
*/
|
||||||
|
protected function FireEventAboutToDelete(): void
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return void
|
||||||
* @since 3.1.0
|
* @since 3.1.0
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ use Server;
|
|||||||
use Team;
|
use Team;
|
||||||
use UserRequest;
|
use UserRequest;
|
||||||
use utils;
|
use utils;
|
||||||
|
use const EVENT_DB_ABOUT_TO_DELETE;
|
||||||
use const EVENT_DB_AFTER_DELETE;
|
use const EVENT_DB_AFTER_DELETE;
|
||||||
use const EVENT_DB_AFTER_WRITE;
|
use const EVENT_DB_AFTER_WRITE;
|
||||||
use const EVENT_DB_BEFORE_WRITE;
|
use const EVENT_DB_BEFORE_WRITE;
|
||||||
@@ -422,9 +423,10 @@ class CRUDEventTest extends ItopDataTestCase
|
|||||||
|
|
||||||
// 1 delete for UserRequest, 3 delete for lnkFunctionalCIToTicket
|
// 1 delete for UserRequest, 3 delete for lnkFunctionalCIToTicket
|
||||||
$this->assertEquals(4, self::$aEventCalls[EVENT_DB_CHECK_TO_DELETE]);
|
$this->assertEquals(4, self::$aEventCalls[EVENT_DB_CHECK_TO_DELETE]);
|
||||||
|
$this->assertEquals(4, self::$aEventCalls[EVENT_DB_ABOUT_TO_DELETE]);
|
||||||
$this->assertEquals(4, self::$aEventCalls[EVENT_DB_AFTER_DELETE]);
|
$this->assertEquals(4, self::$aEventCalls[EVENT_DB_AFTER_DELETE]);
|
||||||
$this->assertArrayNotHasKey(EVENT_DB_LINKS_CHANGED, self::$aEventCalls, 'no relation with the with_php_compute attribute !');
|
$this->assertArrayNotHasKey(EVENT_DB_LINKS_CHANGED, self::$aEventCalls, 'Event not to be sent on delete');
|
||||||
$this->assertEquals(8, self::$iEventCalls);
|
$this->assertEquals(12, self::$iEventCalls);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -725,6 +727,7 @@ class CRUDEventReceiver extends ClassesWithDebug
|
|||||||
$this->oTestCase->EventService_RegisterListener(EVENT_DB_CHECK_TO_DELETE, [$this, 'OnEvent']);
|
$this->oTestCase->EventService_RegisterListener(EVENT_DB_CHECK_TO_DELETE, [$this, 'OnEvent']);
|
||||||
$this->oTestCase->EventService_RegisterListener(EVENT_DB_BEFORE_WRITE, [$this, 'OnEvent']);
|
$this->oTestCase->EventService_RegisterListener(EVENT_DB_BEFORE_WRITE, [$this, 'OnEvent']);
|
||||||
$this->oTestCase->EventService_RegisterListener(EVENT_DB_AFTER_WRITE, [$this, 'OnEvent']);
|
$this->oTestCase->EventService_RegisterListener(EVENT_DB_AFTER_WRITE, [$this, 'OnEvent']);
|
||||||
|
$this->oTestCase->EventService_RegisterListener(EVENT_DB_ABOUT_TO_DELETE, [$this, 'OnEvent']);
|
||||||
$this->oTestCase->EventService_RegisterListener(EVENT_DB_AFTER_DELETE, [$this, 'OnEvent']);
|
$this->oTestCase->EventService_RegisterListener(EVENT_DB_AFTER_DELETE, [$this, 'OnEvent']);
|
||||||
$this->oTestCase->EventService_RegisterListener(EVENT_DB_LINKS_CHANGED, [$this, 'OnEvent']);
|
$this->oTestCase->EventService_RegisterListener(EVENT_DB_LINKS_CHANGED, [$this, 'OnEvent']);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user