From 664adcb9907e2e97d84fe252eb6d91bf1aa2f25d Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Thu, 25 Oct 2012 13:17:13 +0000 Subject: [PATCH] Fixed some interdependencies of the CMDB modules. SVN:trunk[2357] --- .../datamodel.itop-config-mgmt.xml | 127 +++--------------- .../datamodel.itop-storage-mgmt.xml | 5 +- .../datamodel.itop-virtualization-mgmt.xml | 105 +++++++++++++++ 3 files changed, 124 insertions(+), 113 deletions(-) diff --git a/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml b/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml index fb4517380..659383f1c 100755 --- a/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml +++ b/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml @@ -1992,10 +1992,15 @@ switch ($sRelCode) { case "depends on": - $aRels = array( - "Enclosure" => array("sQuery"=>"SELECT Enclosure WHERE id = :this->enclosure_id", "bPropagate"=>true, "iDistance"=>10), - "SANSwitch" => array("sQuery"=>"SELECT SANSwitch AS san JOIN lnkSanToDatacenterDevice AS l1 ON l1.san_id = san.id WHERE l1.datacenterdevice_id = :this->id", "bPropagate"=>true, "iDistance"=>10), - ); + $aRels = array(); + if (class_exists('Enclosure')) + { + $aRels['Enclosure'] = array("sQuery"=>"SELECT Enclosure WHERE id = :this->enclosure_id", "bPropagate"=>true, "iDistance"=>10); + } + if (class_exists('SANSwitch')) + { + $aRels['SANSwitch'] = array("sQuery"=>"SELECT SANSwitch AS san JOIN lnkSanToDatacenterDevice AS l1 ON l1.san_id = san.id WHERE l1.datacenterdevice_id = :this->id", "bPropagate"=>true, "iDistance"=>10); + } return array_merge($aRels, parent::GetRelationQueries($sRelCode)); break; default: @@ -2527,10 +2532,13 @@ switch ($sRelCode) { case "impacts": - $aRels = array( + $aRels = array(); + if (class_exists('Hypervisor')) + { + $aRels = array( "device" => array("sQuery"=>"SELECT Hypervisor WHERE server_id = :this->id", "bPropagate"=>true, "iDistance"=>10), - - ); + ); + } return array_merge($aRels, parent::GetRelationQueries($sRelCode)); break; @@ -6778,111 +6786,6 @@ - - IPinterface - - bizmodel,searchable - false - autoincrement - logicalinterface - id - - - %1$s %2$s - - - - - - - images/interface.png - - - - - - - - - - - virtualmachine_id - VirtualMachine - false - DEL_AUTO - - - virtualmachine_id - name - - - - -
- - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - -
- - - - 10 - - - 20 - - - 30 - - - 40 - - - - - - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - -
-
cmdbAbstractObject diff --git a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml index 555009239..686273bd7 100644 --- a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml +++ b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml @@ -1436,8 +1436,11 @@ $aRels = array( // Actually this should be limited to the Software instances based on a DBServer Application type... "server" => array("sQuery"=>"SELECT Server AS s JOIN lnkServerToVolume AS l1 ON l1.server_id=s.id WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5), - "virtualdevice" => array("sQuery"=>"SELECT VirtualDevice AS vd JOIN lnkVirtualDeviceToVolume AS l1 ON l1.virtualdevice_id=vd.id WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5), ); + if (class_exists('VirtualDevice')) + { + $aRels["virtualdevice"] = array("sQuery"=>"SELECT VirtualDevice AS vd JOIN lnkVirtualDeviceToVolume AS l1 ON l1.virtualdevice_id=vd.id WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5); + } return array_merge($aRels, parent::GetRelationQueries($sRelCode)); break; diff --git a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml index 7f7dd3da6..905a2c6e7 100644 --- a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml +++ b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml @@ -801,6 +801,111 @@ + + IPinterface + + bizmodel,searchable + false + autoincrement + logicalinterface + id + + + %1$s %2$s + + + + + + + images/interface.png + + + + + + + + + + + virtualmachine_id + VirtualMachine + false + DEL_AUTO + + + virtualmachine_id + name + + + + +
+ + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + +
+