|
@@ -17,6 +17,7 @@ SetupWebPage::AddModule(
|
|
),
|
|
),
|
|
'mandatory' => true,
|
|
'mandatory' => true,
|
|
'visible' => false,
|
|
'visible' => false,
|
|
|
|
+ 'installer' => 'TicketsInstaller',
|
|
|
|
|
|
// Components
|
|
// Components
|
|
//
|
|
//
|
|
@@ -41,4 +42,31 @@ SetupWebPage::AddModule(
|
|
)
|
|
)
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+// Module installation handler
|
|
|
|
+//
|
|
|
|
+class TicketsInstaller extends ModuleInstallerAPI
|
|
|
|
+{
|
|
|
|
+ public static function AfterDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
|
|
|
|
+ {
|
|
|
|
+ // Delete all Triggers corresponding to a no more valid class
|
|
|
|
+ $oSearch = new DBObjectSearch('TriggerOnObject');
|
|
|
|
+ $oSet = new DBObjectSet($oSearch);
|
|
|
|
+ $oChange = null;
|
|
|
|
+ while($oTrigger = $oSet->Fetch())
|
|
|
|
+ {
|
|
|
|
+ if (!MetaModel::IsValidClass($oTrigger->Get('target_class')))
|
|
|
|
+ {
|
|
|
|
+ if ($oChange == null)
|
|
|
|
+ {
|
|
|
|
+ // Create the change for its first use
|
|
|
|
+ $oChange = new CMDBChange;
|
|
|
|
+ $oChange->Set("date", time());
|
|
|
|
+ $oChange->Set("userinfo", "Uninstallation");
|
|
|
|
+ $oChange->DBInsert();
|
|
|
|
+ }
|
|
|
|
+ $oTrigger->DBDeleteTracked($oChange);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
?>
|
|
?>
|