From a52269decc580430f1033d550928896829f54a67 Mon Sep 17 00:00:00 2001 From: v-dumas Date: Wed, 20 May 2026 14:08:57 +0200 Subject: [PATCH 1/7] =?UTF-8?q?N=C2=B09604=20DataFlow=20as=20FunctionalCI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itop-flow-map/datamodel.itop-flow-map.xml | 296 ++++-------------- .../dictionaries/en.dict.itop-flow-map.php | 20 +- .../dictionaries/fr.dict.itop-flow-map.php | 22 +- 3 files changed, 77 insertions(+), 261 deletions(-) diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml index 01a2be920c..19f20ac30c 100644 --- a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -2,7 +2,7 @@ - cmdbAbstractObject + FunctionalCI bizmodel,searchable false @@ -14,6 +14,10 @@ + + + + @@ -32,23 +36,9 @@ - - name - - false - - - org_id - - - false - Organization - DEL_MANUAL - all - source_id - + false FunctionalCI @@ -74,7 +64,7 @@ destination_id - + false FunctionalCI @@ -141,27 +131,6 @@ list all - - rank - - - high - 10 - - - medium - 20 - - - low - 30 - - - business_criticity - low - false - list - rank @@ -199,24 +168,36 @@ false list - - lnkContactToDataFlow - dataflow_id - 0 - 0 - contact_id - - - - lnkDocumentToDataFlow - dataflow_id - 0 - 0 - document_id - - - + + + EVENT_ENUM_TRANSITIONS + 10 + evtCheckSourceAndDestination + + + + + /** + * Ensure that the source and destination of a data flow are not DataFlow themselves + * + */ + false + public + EventListener + Get('source_id'), true,true); + $oDestination = MetaModel::GetObject(FunctionalCI::class, $this->Get('destination_id'), true,true); + if ($oSource instanceof DataFlow) { + $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckSource', $oSource->GetName()); + } + if ($oDestination instanceof DataFlow) { + $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckDestination', $oDestination->GetName()); + } + } ]]> + + @@ -257,7 +238,7 @@ - + 10 @@ -302,14 +283,25 @@ - + - + 10 10 + + + + 10 + + + 20 + + + 20 + 20 @@ -365,178 +357,17 @@ + + + + destination_id]]> + id]]> + both + + + - - cmdbAbstractObject - - 1 - bizmodel - false - autoincrement - lnkdocumenttodataflow - id - - - - - - - - - - - - - - - - - - - - - - false - true - - - - - - dataflow_id - DataFlow - false - DEL_AUTO - - - document_id - Document - false - DEL_AUTO - - - - -
- - - 10 - - - 20 - - -
- - - - 10 - - - 20 - - - - - - - 10 - - - 20 - - - -
-
- - cmdbAbstractObject - - 1 - bizmodel - false - autoincrement - lnkcontacttodataflow - id - - - - - - - - - - - - - - - - - - - - - - false - true - - - - - - dataflow_id - DataFlow - false - DEL_AUTO - - - contact_id - Contact - false - DEL_AUTO - - - - -
- - - 10 - - - 20 - - -
- - - - 10 - - - 20 - - - - - - - 10 - - - 20 - - - -
-
Typology @@ -629,6 +460,15 @@ + + + + id]]> + source_id]]> + both + + + diff --git a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php index 415129609b..5ee2cfb013 100644 --- a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php +++ b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php @@ -15,15 +15,13 @@ 'FunctionalCI:DataFlow:Inbound' => 'Inbound flows', 'FunctionalCI:DataFlow:Outbound' => 'Outbound flows', - 'DataFlow:baseinfo' => 'General information', - 'DataFlow:otherinfo' => 'Other information', 'DataFlow:moreinfo' => 'Flow specifics', 'Class:DataFlow' => 'Flow', 'Class:DataFlow+' => 'For application flow for example', - 'Class:DataFlow/Name' => '%1$s', + 'Class:DataFlow/Name' => '%1$s - %2$s', 'Class:DataFlow/Attribute:name' => 'Name', - 'Class:DataFlow/Attribute:name_id+' => 'Data that are transferred', + 'Class:DataFlow/Attribute:name+' => 'Identify the transferred data flow', 'Class:DataFlow/Attribute:source_id' => 'Source', 'Class:DataFlow/Attribute:source_id+' => 'Source Ci of the flow', 'Class:DataFlow/Attribute:source_impact' => 'Source impacts?', @@ -48,16 +46,6 @@ 'Class:DataFlow/Attribute:status+' => '', 'Class:DataFlow/Attribute:status/Value:active' => 'active', 'Class:DataFlow/Attribute:status/Value:inactive' => 'inactive', - 'Class:DataFlow/Attribute:org_id' => 'Organization', - 'Class:DataFlow/Attribute:org_id+' => '', - 'Class:DataFlow/Attribute:business_criticity' => 'Business criticality', - 'Class:DataFlow/Attribute:business_criticity+' => '', - 'Class:DataFlow/Attribute:business_criticity/Value:high' => 'high', - 'Class:DataFlow/Attribute:business_criticity/Value:high+' => '', - 'Class:DataFlow/Attribute:business_criticity/Value:low' => 'low', - 'Class:DataFlow/Attribute:business_criticity/Value:low+' => '', - 'Class:DataFlow/Attribute:business_criticity/Value:medium' => 'medium', - 'Class:DataFlow/Attribute:business_criticity/Value:medium+' => '', 'Class:DataFlow/Attribute:execution_frequency' => 'Execution frequency', 'Class:DataFlow/Attribute:execution_frequency+' => 'How often the data flow is executed', 'Class:DataFlow/Attribute:execution_frequency/Value:realtime' => 'real-time', @@ -74,10 +62,10 @@ 'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '', 'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'yearly', 'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '', - 'Class:DataFlow/Attribute:documents_list' => 'Documents', 'Class:DataFlow/Attribute:documents_list+' => 'Eg: technical specifications, runbooks, etc.', - 'Class:DataFlow/Attribute:contacts_list' => 'Contacts', 'Class:DataFlow/Attribute:contacts_list+' => 'Eg: flow owner, technical support, etc.', + 'Class:DataFlow/Error:CheckSource' => 'The source of a data flow cannot be a data flow itself. Choose another source CI than %1$s', + 'Class:DataFlow/Error:CheckDestination' => 'The destination of a data flow cannot be a data flow itself. Choose another destination CI than %1$s', /* 'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname', diff --git a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php index ea4e4afcaf..a467aeb727 100644 --- a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php +++ b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php @@ -15,15 +15,13 @@ 'FunctionalCI:DataFlow:Inbound' => 'Flux entrants', 'FunctionalCI:DataFlow:Outbound' => 'Flux sortants', - 'DataFlow:baseinfo' => 'Informations générales', - 'DataFlow:otherinfo' => 'Autres informations', 'DataFlow:moreinfo' => 'Spécificités du flux', 'Class:DataFlow' => 'Flux de Données', - 'Class:DataFlow+' => 'Modélise les données transférées entre instances d\'application', - 'Class:DataFlow/Name' => '%1$s', + 'Class:DataFlow+' => 'Modélise les données transférées entre instances d\'application ou plus généralement entre CIs.', + 'Class:DataFlow/Name' => '%1$s - %2$s', 'Class:DataFlow/Attribute:name' => 'Nom', - 'Class:DataFlow/Attribute:name_id+' => 'Type de données transferées', + 'Class:DataFlow/Attribute:name+' => 'Identifie le flux de données', 'Class:DataFlow/Attribute:source_id' => 'Source', 'Class:DataFlow/Attribute:source_id+' => 'Instance d\application à la source du flux de données', 'Class:DataFlow/Attribute:source_impact' => 'Source impactante ?', @@ -48,16 +46,6 @@ 'Class:DataFlow/Attribute:status+' => '', 'Class:DataFlow/Attribute:status/Value:active' => 'actif', 'Class:DataFlow/Attribute:status/Value:inactive' => 'inactif', - 'Class:DataFlow/Attribute:org_id' => 'Organisation', - 'Class:DataFlow/Attribute:org_id+' => '', - 'Class:DataFlow/Attribute:business_criticity' => 'Criticité', - 'Class:DataFlow/Attribute:business_criticity+' => '', - 'Class:DataFlow/Attribute:business_criticity/Value:high' => 'haute', - 'Class:DataFlow/Attribute:business_criticity/Value:high+' => '', - 'Class:DataFlow/Attribute:business_criticity/Value:low' => 'basse', - 'Class:DataFlow/Attribute:business_criticity/Value:low+' => '', - 'Class:DataFlow/Attribute:business_criticity/Value:medium' => 'moyenne', - 'Class:DataFlow/Attribute:business_criticity/Value:medium+' => '', 'Class:DataFlow/Attribute:execution_frequency' => 'Fréquence d\'exécution', 'Class:DataFlow/Attribute:execution_frequency+' => 'À quelle fréquence le transfert de données est-il exécuté', 'Class:DataFlow/Attribute:execution_frequency/Value:realtime' => 'temps réel', @@ -74,10 +62,10 @@ 'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '', 'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'annuelle', 'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '', - 'Class:DataFlow/Attribute:documents_list' => 'Documents', 'Class:DataFlow/Attribute:documents_list+' => 'Eg: technical specifications, runbooks, etc.', - 'Class:DataFlow/Attribute:contacts_list' => 'Contacts', 'Class:DataFlow/Attribute:contacts_list+' => 'Eg: flow owner, technical support, etc.', + 'Class:DataFlow/Error:CheckSource' => 'La source d\'un flux de données ne peut pas être un flux de données elle-même. Choisissez un autre CI source que %1$s', + 'Class:DataFlow/Error:CheckDestination' => 'La destination d\'un flux de données ne peut pas être un flux de données elle-même. Choisissez un autre CI destination que %1$s', /* 'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname', From 8cf45035892ffaf71787bebb80c151c8f9b7690e Mon Sep 17 00:00:00 2001 From: v-dumas Date: Wed, 20 May 2026 17:20:15 +0200 Subject: [PATCH 2/7] =?UTF-8?q?N=C2=B09604=20-=20Use=20class=20name=20for?= =?UTF-8?q?=20Badge=20ID=20+=20dico=20entries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datamodel.itop-container-mgmt.xml | 12 +++--- .../itop-flow-map/datamodel.itop-flow-map.xml | 39 ++++++++++++++----- .../dictionaries/en.dict.itop-flow-map.php | 13 +++++-- .../dictionaries/fr.dict.itop-flow-map.php | 13 +++++-- 4 files changed, 55 insertions(+), 22 deletions(-) diff --git a/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml b/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml index 3347fc4962..f32969d2d0 100644 --- a/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml +++ b/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml @@ -1480,19 +1480,19 @@ 1 - + 5 ContainerApplication - + 6 ContainerHost - + 7 ContainerCluster - + 8 ContainerImage @@ -1507,11 +1507,11 @@ 0 - + 21 ContainerType - + 22 ContainerImageType diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml index 19f20ac30c..39593a75f8 100644 --- a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -97,12 +97,6 @@ DEL_MANUAL all - - description - - true - all - status @@ -190,10 +184,10 @@ $oSource = MetaModel::GetObject(FunctionalCI::class, $this->Get('source_id'), true,true); $oDestination = MetaModel::GetObject(FunctionalCI::class, $this->Get('destination_id'), true,true); if ($oSource instanceof DataFlow) { - $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckSource', $oSource->GetName()); + $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckSource', $oSource->GetName())); } if ($oDestination instanceof DataFlow) { - $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckDestination', $oDestination->GetName()); + $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckDestination', $oDestination->GetName())); } } ]]> @@ -385,6 +379,16 @@ + + + + + + + false + true + + @@ -464,7 +468,7 @@ id]]> - source_id]]> + id]]> both @@ -566,7 +570,7 @@ - + 20 DataFlow @@ -575,6 +579,21 @@ + + + + + 0 + + + 23 + DataFlowType + + + + + + diff --git a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php index 5ee2cfb013..00dccd8d5a 100644 --- a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php +++ b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php @@ -9,6 +9,12 @@ Dict::Add('EN US', 'English', 'English', [ + 'Relation:dataflows/Description' => 'DataFlows between CIs', + 'Relation:dataflows/DownStream' => 'Outbound flows...', + 'Relation:dataflows/DownStream+' => 'Flow map looking downstream', + 'Relation:dataflows/UpStream' => 'Inbound flows...', + 'Relation:dataflows/UpStream+' => 'Flow map looking upstream', + 'Class:FunctionalCI/Attribute:dataflows' => 'Data flows', 'Class:FunctionalCI/Attribute:dataflows+' => 'Data flows for which this object is the source or the destination', 'FunctionalCI:DataFlow:Title' => 'Data flows', @@ -19,7 +25,7 @@ 'Class:DataFlow' => 'Flow', 'Class:DataFlow+' => 'For application flow for example', - 'Class:DataFlow/Name' => '%1$s - %2$s', + 'Class:DataFlow/ComplementaryName' => '%1$s - %2$s', 'Class:DataFlow/Attribute:name' => 'Name', 'Class:DataFlow/Attribute:name+' => 'Identify the transferred data flow', 'Class:DataFlow/Attribute:source_id' => 'Source', @@ -40,8 +46,6 @@ 'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'If the flow stops, the destination is not impacted', 'Class:DataFlow/Attribute:dataflowtype_id' => 'Flow type', 'Class:DataFlow/Attribute:dataflowtype_id+' => 'Typology of Flow.', - 'Class:DataFlow/Attribute:description' => 'Description', - 'Class:DataFlow/Attribute:description+' => '', 'Class:DataFlow/Attribute:status' => 'Status', 'Class:DataFlow/Attribute:status+' => '', 'Class:DataFlow/Attribute:status/Value:active' => 'active', @@ -67,6 +71,9 @@ 'Class:DataFlow/Error:CheckSource' => 'The source of a data flow cannot be a data flow itself. Choose another source CI than %1$s', 'Class:DataFlow/Error:CheckDestination' => 'The destination of a data flow cannot be a data flow itself. Choose another destination CI than %1$s', + 'Class:DataFlowType' => 'Data Flow Type', + 'Class:DataFlowType+' => 'Typology of Data Flow', + /* 'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname', 'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Full name', diff --git a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php index a467aeb727..6aaf6d6940 100644 --- a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php +++ b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php @@ -9,6 +9,12 @@ Dict::Add('FR FR', 'French', 'Français', [ + 'Relation:dataflows/Description' => 'Flux de données entre CIs', + 'Relation:dataflows/DownStream' => 'Flux sortants...', + 'Relation:dataflows/DownStream+' => 'Carte des flux vers l\'aval', + 'Relation:dataflows/UpStream' => 'Flux entrants...', + 'Relation:dataflows/UpStream+' => 'Carte des flux vers l\'amont', + 'Class:FunctionalCI/Attribute:dataflows' => 'Flux de données', 'Class:FunctionalCI/Attribute:dataflows+' => 'Flux de données dont cet objet est la source ou la destination', 'FunctionalCI:DataFlow:Title' => 'Flux de données', @@ -19,7 +25,7 @@ 'Class:DataFlow' => 'Flux de Données', 'Class:DataFlow+' => 'Modélise les données transférées entre instances d\'application ou plus généralement entre CIs.', - 'Class:DataFlow/Name' => '%1$s - %2$s', + 'Class:DataFlow/ComplementaryName' => '%1$s - %2$s', 'Class:DataFlow/Attribute:name' => 'Nom', 'Class:DataFlow/Attribute:name+' => 'Identifie le flux de données', 'Class:DataFlow/Attribute:source_id' => 'Source', @@ -40,8 +46,6 @@ 'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'Si le flux s\'arrête, le destinataire n\'est pas impacté', 'Class:DataFlow/Attribute:dataflowtype_id' => 'Type de flux', 'Class:DataFlow/Attribute:dataflowtype_id+' => 'Typologie du flux', - 'Class:DataFlow/Attribute:description' => 'Description', - 'Class:DataFlow/Attribute:description+' => '', 'Class:DataFlow/Attribute:status' => 'Etat', 'Class:DataFlow/Attribute:status+' => '', 'Class:DataFlow/Attribute:status/Value:active' => 'actif', @@ -67,6 +71,9 @@ 'Class:DataFlow/Error:CheckSource' => 'La source d\'un flux de données ne peut pas être un flux de données elle-même. Choisissez un autre CI source que %1$s', 'Class:DataFlow/Error:CheckDestination' => 'La destination d\'un flux de données ne peut pas être un flux de données elle-même. Choisissez un autre CI destination que %1$s', + 'Class:DataFlowType' => 'Type de flux', + 'Class:DataFlowType+' => 'Typologie des flux de données', + /* 'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname', 'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Nom complet', From 6413efeb0d4d66d34c70cdb3175dcdd5a1dbfcb7 Mon Sep 17 00:00:00 2001 From: v-dumas Date: Wed, 20 May 2026 17:34:21 +0200 Subject: [PATCH 3/7] =?UTF-8?q?N=C2=B09604=20-=20Fix=20duplicate=20badge?= =?UTF-8?q?=20ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml b/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml index f32969d2d0..6120647263 100644 --- a/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml +++ b/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml @@ -1488,7 +1488,7 @@ 6 ContainerHost - + 7 ContainerCluster From 67b2a9a90c731e6e9156f6c6e281530777e881d3 Mon Sep 17 00:00:00 2001 From: v-dumas Date: Wed, 20 May 2026 18:08:29 +0200 Subject: [PATCH 4/7] =?UTF-8?q?N=C2=B09604=20-=20Fix=20greptile=20feedback?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2.x/itop-flow-map/datamodel.itop-flow-map.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml index 39593a75f8..8e0e439db5 100644 --- a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -165,7 +165,7 @@ - EVENT_ENUM_TRANSITIONS + EVENT_DB_CHECK_TO_WRITE 10 evtCheckSourceAndDestination @@ -184,10 +184,10 @@ $oSource = MetaModel::GetObject(FunctionalCI::class, $this->Get('source_id'), true,true); $oDestination = MetaModel::GetObject(FunctionalCI::class, $this->Get('destination_id'), true,true); if ($oSource instanceof DataFlow) { - $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckSource', $oSource->GetName())); + $this->AddCheckIssue(Dict::Format('Class:DataFlow/Error:CheckSource', $oSource->GetName())); } if ($oDestination instanceof DataFlow) { - $this->AddCheckIssue(Dict:Format('Class:DataFlow/Error:CheckDestination', $oDestination->GetName())); + $this->AddCheckIssue(Dict::Format('Class:DataFlow/Error:CheckDestination', $oDestination->GetName())); } } ]]> @@ -340,12 +340,12 @@ - + destination_impact = 'yes' AND id = :this->destination_id]]> id]]> both - + contacts_list down @@ -353,7 +353,7 @@ - + destination_id]]> id]]> both From c092aa40b842144321888a32e278c0c9326948ad Mon Sep 17 00:00:00 2001 From: Vincent Dumas <42336698+v-dumas@users.noreply.github.com> Date: Wed, 20 May 2026 18:22:16 +0200 Subject: [PATCH 5/7] Robustness if source_id/destination_id no more mandatory Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml index 8e0e439db5..d43d94be64 100644 --- a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -181,8 +181,8 @@ EventListener Get('source_id'), true,true); - $oDestination = MetaModel::GetObject(FunctionalCI::class, $this->Get('destination_id'), true,true); + $oSource = MetaModel::GetObject(FunctionalCI::class, $this->Get('source_id'), false, true); + $oDestination = MetaModel::GetObject(FunctionalCI::class, $this->Get('destination_id'), false, true); if ($oSource instanceof DataFlow) { $this->AddCheckIssue(Dict::Format('Class:DataFlow/Error:CheckSource', $oSource->GetName())); } From f7f9c49a6bf52161f86188ed61908bdeb8769e87 Mon Sep 17 00:00:00 2001 From: v-dumas Date: Thu, 21 May 2026 10:39:04 +0200 Subject: [PATCH 6/7] =?UTF-8?q?N=C2=B09604=20-=20Improve=20labels=20and=20?= =?UTF-8?q?summary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2.x/itop-flow-map/datamodel.itop-flow-map.xml | 10 ++++++++-- .../dictionaries/en.dict.itop-flow-map.php | 4 ++-- .../dictionaries/fr.dict.itop-flow-map.php | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml index d43d94be64..b9f5bc079c 100644 --- a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -328,12 +328,18 @@ - + 10 - + 20 + + 30 + + + 40 + diff --git a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php index 00dccd8d5a..e1d46dbb8a 100644 --- a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php +++ b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php @@ -11,9 +11,9 @@ 'Relation:dataflows/Description' => 'DataFlows between CIs', 'Relation:dataflows/DownStream' => 'Outbound flows...', - 'Relation:dataflows/DownStream+' => 'Flow map looking downstream', + 'Relation:dataflows/DownStream+' => 'Outbound flows map from', 'Relation:dataflows/UpStream' => 'Inbound flows...', - 'Relation:dataflows/UpStream+' => 'Flow map looking upstream', + 'Relation:dataflows/UpStream+' => 'Inbound flows map to', 'Class:FunctionalCI/Attribute:dataflows' => 'Data flows', 'Class:FunctionalCI/Attribute:dataflows+' => 'Data flows for which this object is the source or the destination', diff --git a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php index 6aaf6d6940..c7fc8c19b1 100644 --- a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php +++ b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php @@ -11,9 +11,9 @@ 'Relation:dataflows/Description' => 'Flux de données entre CIs', 'Relation:dataflows/DownStream' => 'Flux sortants...', - 'Relation:dataflows/DownStream+' => 'Carte des flux vers l\'aval', + 'Relation:dataflows/DownStream+' => 'Carte des flux sortants depuis', 'Relation:dataflows/UpStream' => 'Flux entrants...', - 'Relation:dataflows/UpStream+' => 'Carte des flux vers l\'amont', + 'Relation:dataflows/UpStream+' => 'Carte des flux entrants vers', 'Class:FunctionalCI/Attribute:dataflows' => 'Flux de données', 'Class:FunctionalCI/Attribute:dataflows+' => 'Flux de données dont cet objet est la source ou la destination', From 57ee9d1aaced55e5360c50d6e7e83a8e15ed6ceb Mon Sep 17 00:00:00 2001 From: Vincent Dumas <42336698+v-dumas@users.noreply.github.com> Date: Thu, 21 May 2026 11:08:49 +0200 Subject: [PATCH 7/7] Fix typo if summary field code Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml index b9f5bc079c..1335da7d4b 100644 --- a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -337,7 +337,7 @@ 30 - + 40