mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 07:12:26 +02:00
In case of no leaf class to remove, delete also the child classes
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Combodo\iTop\DataFeatureRemoval\Service;
|
namespace Combodo\iTop\DataFeatureRemoval\Service;
|
||||||
|
|
||||||
|
use CMDBSource;
|
||||||
use Combodo\iTop\DataFeatureRemoval\Entity\DeletionPlanSummaryEntity;
|
use Combodo\iTop\DataFeatureRemoval\Entity\DeletionPlanSummaryEntity;
|
||||||
use Combodo\iTop\DataFeatureRemoval\Helper\DataFeatureRemovalException;
|
use Combodo\iTop\DataFeatureRemoval\Helper\DataFeatureRemovalException;
|
||||||
use DBObjectSearch;
|
use DBObjectSearch;
|
||||||
@@ -139,7 +140,6 @@ class DeletionPlanService
|
|||||||
foreach ($aData['attributes'] as $sRemoteExtKey => $aRemoteAttDef) {
|
foreach ($aData['attributes'] as $sRemoteExtKey => $aRemoteAttDef) {
|
||||||
$oToUpdate->Set($sRemoteExtKey, 0);
|
$oToUpdate->Set($sRemoteExtKey, 0);
|
||||||
$oToUpdate->DBUpdate();
|
$oToUpdate->DBUpdate();
|
||||||
|
|
||||||
$oDeletionPlanSummaryEntity->iUpdateCount++;
|
$oDeletionPlanSummaryEntity->iUpdateCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -158,10 +158,11 @@ class DeletionPlanService
|
|||||||
MetaModel::PurgeData($oFilter);
|
MetaModel::PurgeData($oFilter);
|
||||||
|
|
||||||
// Delete the entry
|
// Delete the entry
|
||||||
foreach (\MetaModel::EnumParentClasses($sClass, ENUM_PARENT_CLASSES_ALL, false) as $sParentClass) {
|
$aClassesToRemove = array_merge(MetaModel::EnumChildClasses($sClass, ENUM_PARENT_CLASSES_ALL), MetaModel::EnumParentClasses($sClass, ENUM_PARENT_CLASSES_EXCLUDELEAF, false));
|
||||||
$oFilter = \DBObjectSearch::FromOQL_AllData("SELECT $sParentClass WHERE id=:id");
|
foreach ($aClassesToRemove as $sParentClass) {
|
||||||
|
$oFilter = DBObjectSearch::FromOQL_AllData("SELECT $sParentClass WHERE id=:id");
|
||||||
$sQuery = $oFilter->MakeDeleteQuery(['id' => $sId]);
|
$sQuery = $oFilter->MakeDeleteQuery(['id' => $sId]);
|
||||||
\CMDBSource::DeleteFrom($sQuery);
|
CMDBSource::DeleteFrom($sQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
$oDeletionPlanSummaryEntity->iDeleteCount++;
|
$oDeletionPlanSummaryEntity->iDeleteCount++;
|
||||||
|
|||||||
Reference in New Issue
Block a user