N°4756 - Ease extensibility for CRUD operations : XML format migration

This commit is contained in:
Eric Espie
2023-01-17 10:17:11 +01:00
parent da07fadfb3
commit 6549c95d4f
3 changed files with 86 additions and 4 deletions

View File

@@ -48,5 +48,21 @@
<field id="status" xsi:type="AttributeLinkedSetIndirect"/>
</fields>
</class>
<class id="ClassWithEventListeners">
<methods>
<method id="OnUpdateDone" _delta="define">
<static>false</static>
<access>public</access>
<type>EventListener</type>
<code><![CDATA[
public function OnUserRequestUpdateDone(Combodo\iTop\Service\EventData $oEventData)
{
$sEvent = $oEventData->GetEvent();
$aChange = $oEventData->Get('changes');
}
]]></code>
</method>
</methods>
</class>
</classes>
</itop_design>

View File

@@ -62,5 +62,66 @@
</field>
</fields>
</class>
<class id="ClassWithEventListeners">
<event_listeners>
<listener id="OnUserRequestUpdateDone" _delta="define">
<event>EVENT_DB_UPDATE_DONE</event>
<callback>OnUpdateDone</callback>
<rank>0</rank>
</listener>
</event_listeners>
<methods>
<method id="OnUpdateDone" _delta="define">
<static>false</static>
<access>public</access>
<type>EventListener</type>
<code><![CDATA[
public function OnUserRequestUpdateDone(Combodo\iTop\Service\EventData $oEventData)
{
$sEvent = $oEventData->GetEvent();
$aChange = $oEventData->Get('changes');
}
]]></code>
</method>
</methods>
</class>
</classes>
<events>
<event id="EVENT_DB_CHECK_TO_WRITE" _delta="define">
<description>Check an object before it is written into the database (no change possible). Call DBObject::AddCheckIssue() to signal an issue</description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
<replaces>cmdbAbstractObject::DoCheckToWrite</replaces>
<event_data>
<event_datum id="object">
<description>The object to check</description>
<type>DBObject</type>
</event_datum>
<event_datum id="debug_info">
<description>Debug string</description>
<type>string</type>
</event_datum>
</event_data>
</event>
</events>
<event_listeners>
<listener id="GlobalFAQRead" _delta="define">
<event>EVENT_SERVICE_DISPLAY_OBJECT_DETAILS</event>
<filters>
<filter>FAQ</filter>
</filters>
<rank>0</rank>
<code><![CDATA[
function(\Combodo\iTop\Service\EventData $oEventData)
{
$sUser = UserRights::GetUser();
$oObject = $oEventData->Get('object');
$sFaqTitle = $oObject->Get('title');
$sId = $oObject->GetKey();
IssueLog::Info("FAQ: '{$sFaqTitle}' (id:{$sId}) was read by {$sUser}");
}
]]></code>
</listener>
</event_listeners>
</itop_design>