N°916 Fix impact analysis relation upstream description.

Description was unique for both directions. Now 2 separate entries are used 'Realtion:<RELATION_CODE>/<DIRECTION>Stream+'.
Translations for existing languages are already done.

SVN:trunk[5166]
This commit is contained in:
Guillaume Lajarige
2017-12-27 09:59:21 +00:00
parent 907505ccf9
commit 4b46b2776a
13 changed files with 65 additions and 5 deletions

View File

@@ -1192,11 +1192,37 @@ abstract class MetaModel
return $aClassRelations; return $aClassRelations;
} }
final static public function GetRelationDescription($sRelCode) /**
* @param string $sRelCode Relation code
* @param bool $bDown Relation direction, is it downstream (true) or upstream (false). Default is true.
*
* @return string
*/
final static public function GetRelationDescription($sRelCode, $bDown = true)
{ {
return Dict::S("Relation:$sRelCode/Description"); // Legacy convention had only one description describing the relation.
// Now, as the relation is bidirectional, we have a description for each directions.
$sLegacy = Dict::S("Relation:$sRelCode/Description");
if($bDown)
{
$sKey = "Relation:$sRelCode/DownStream+";
}
else
{
$sKey = "Relation:$sRelCode/UpStream+";
}
$sRet = Dict::S($sKey, $sLegacy);
return $sRet;
} }
/**
* @param string $sRelCode Relation code
* @param bool $bDown Relation direction, is it downstream (true) or upstream (false). Default is true.
*
* @return string
*/
final static public function GetRelationLabel($sRelCode, $bDown = true) final static public function GetRelationLabel($sRelCode, $bDown = true)
{ {
if ($bDown) if ($bDown)

View File

@@ -32,7 +32,10 @@
Dict::Add('EN US', 'English', 'English', array( Dict::Add('EN US', 'English', 'English', array(
'Relation:impacts/Description' => 'Elements impacted by', 'Relation:impacts/Description' => 'Elements impacted by',
'Relation:impacts/DownStream' => 'Impacts...', 'Relation:impacts/DownStream' => 'Impacts...',
'Relation:impacts/DownStream+' => 'Elements impacted by',
'Relation:impacts/UpStream' => 'Depends on......', 'Relation:impacts/UpStream' => 'Depends on......',
'Relation:impacts/UpStream+' => 'Elements impacting',
// Legacy entries
'Relation:depends on/Description' => 'Elements impacting', 'Relation:depends on/Description' => 'Elements impacting',
'Relation:depends on/DownStream' => 'Depends on...', 'Relation:depends on/DownStream' => 'Depends on...',
'Relation:depends on/UpStream' => 'Impacts...', 'Relation:depends on/UpStream' => 'Impacts...',

View File

@@ -33,7 +33,10 @@
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array( Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'Relation:impacts/Description' => 'Elementos Impactados por', 'Relation:impacts/Description' => 'Elementos Impactados por',
'Relation:impacts/DownStream' => 'Impacto...', 'Relation:impacts/DownStream' => 'Impacto...',
'Relation:impacts/DownStream+' => 'Elementos Impactados por',
'Relation:impacts/UpStream' => 'Depende de...', 'Relation:impacts/UpStream' => 'Depende de...',
'Relation:impacts/UpStream+' => 'Elementos de los cuales depende',
// Legacy entries
'Relation:depends on/Description' => 'Elementos de los cuales depende', 'Relation:depends on/Description' => 'Elementos de los cuales depende',
'Relation:depends on/DownStream' => 'Depende de...', 'Relation:depends on/DownStream' => 'Depende de...',
'Relation:depends on/UpStream' => 'Impactos...', 'Relation:depends on/UpStream' => 'Impactos...',

View File

@@ -1836,7 +1836,10 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Menu:UI_WelcomeMenu_AllConfigItems' => 'Résumé', 'Menu:UI_WelcomeMenu_AllConfigItems' => 'Résumé',
'Relation:impacts/Description' => 'Eléments impactés par', 'Relation:impacts/Description' => 'Eléments impactés par',
'Relation:impacts/DownStream' => 'Impacte...', 'Relation:impacts/DownStream' => 'Impacte...',
'Relation:impacts/DownStream+' => 'Eléments impactés par',
'Relation:impacts/UpStream' => 'Dépend de...', 'Relation:impacts/UpStream' => 'Dépend de...',
'Relation:impacts/UpStream+' => 'Eléments dont dépend',
// Legacy entries
'Relation:depends on/Description' => 'Eléments dont dépend', 'Relation:depends on/Description' => 'Eléments dont dépend',
'Relation:depends on/DownStream' => 'Dépend de...', 'Relation:depends on/DownStream' => 'Dépend de...',
'Relation:depends on/UpStream' => 'Impacte...', 'Relation:depends on/UpStream' => 'Impacte...',

View File

@@ -384,7 +384,10 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkProcessToSolution/Attribute:reason+' => '', 'Class:lnkProcessToSolution/Attribute:reason+' => '',
'Relation:impacts/Description' => 'Konfigurációs elem működését befolyásolják', 'Relation:impacts/Description' => 'Konfigurációs elem működését befolyásolják',
'Relation:impacts/DownStream' => 'Hatás', 'Relation:impacts/DownStream' => 'Hatás',
'Relation:impacts/DownStream+' => 'Konfigurációs elem működését befolyásolják',
'Relation:impacts/UpStream' => 'Függőségek', 'Relation:impacts/UpStream' => 'Függőségek',
'Relation:impacts/UpStream+' => 'Konfigurációs elemtől függnek',
// Legacy entries
'Relation:depends on/Description' => 'Konfigurációs elemtől függnek', 'Relation:depends on/Description' => 'Konfigurációs elemtől függnek',
'Relation:depends on/DownStream' => 'Függőségek', 'Relation:depends on/DownStream' => 'Függőségek',
'Relation:depends on/UpStream' => 'Hatások', 'Relation:depends on/UpStream' => 'Hatások',

View File

@@ -384,7 +384,10 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:lnkProcessToSolution/Attribute:reason+' => 'Più informazioni tra il processo di business e la soluzione applicativa', 'Class:lnkProcessToSolution/Attribute:reason+' => 'Più informazioni tra il processo di business e la soluzione applicativa',
'Relation:impacts/Description' => 'Elementi impattati da...', 'Relation:impacts/Description' => 'Elementi impattati da...',
'Relation:impacts/DownStream' => 'Impatto...', 'Relation:impacts/DownStream' => 'Impatto...',
'Relation:impacts/DownStream+' => 'Elementi impattati da...',
'Relation:impacts/UpStream' => 'Dipende da...', 'Relation:impacts/UpStream' => 'Dipende da...',
'Relation:impacts/UpStream+' => 'Elementi di questo elemento dipende da',
// Legacy entries
'Relation:depends on/Description' => 'Elementi di questo elemento dipende da', 'Relation:depends on/Description' => 'Elementi di questo elemento dipende da',
'Relation:depends on/DownStream' => 'Dipende da...', 'Relation:depends on/DownStream' => 'Dipende da...',
'Relation:depends on/UpStream' => 'Impatto...', 'Relation:depends on/UpStream' => 'Impatto...',

View File

@@ -596,7 +596,10 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:LogicalInterface/Attribute:virtualmachine_id+' => '', 'Class:LogicalInterface/Attribute:virtualmachine_id+' => '',
'Relation:impacts/Description' => 'インパクトを受ける要素', 'Relation:impacts/Description' => 'インパクトを受ける要素',
'Relation:impacts/DownStream' => 'インパクト...', 'Relation:impacts/DownStream' => 'インパクト...',
'Relation:impacts/DownStream+' => 'インパクトを受ける要素',
'Relation:impacts/UpStream' => '依存...', 'Relation:impacts/UpStream' => '依存...',
'Relation:impacts/UpStream+' => 'この要素が依存している要素',
// Legacy entries
'Relation:depends on/Description' => 'この要素が依存している要素', 'Relation:depends on/Description' => 'この要素が依存している要素',
'Relation:depends on/DownStream' => '依存...', 'Relation:depends on/DownStream' => '依存...',
'Relation:depends on/UpStream' => 'インパクト...', 'Relation:depends on/UpStream' => 'インパクト...',

View File

@@ -35,7 +35,10 @@
Dict::Add('NL NL', 'Dutch', 'Nederlands', array( Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Relation:impacts/Description' => 'Elementen hebben impact op', 'Relation:impacts/Description' => 'Elementen hebben impact op',
'Relation:impacts/DownStream' => 'Impact...', 'Relation:impacts/DownStream' => 'Impact...',
'Relation:impacts/DownStream+' => 'Elementen hebben impact op',
'Relation:impacts/UpStream' => 'Is afhankelijk van...', 'Relation:impacts/UpStream' => 'Is afhankelijk van...',
'Relation:impacts/UpStream+' => 'Elementen waarvan dit element afhankelijk van is',
// Legacy entries
'Relation:depends on/Description' => 'Elementen waarvan dit element afhankelijk van is', 'Relation:depends on/Description' => 'Elementen waarvan dit element afhankelijk van is',
'Relation:depends on/DownStream' => 'Is afhankelijk van...', 'Relation:depends on/DownStream' => 'Is afhankelijk van...',
'Relation:depends on/UpStream' => 'Impacts...', 'Relation:depends on/UpStream' => 'Impacts...',

View File

@@ -32,7 +32,10 @@
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array( Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Relation:impacts/Description' => 'Elementos impactados por', 'Relation:impacts/Description' => 'Elementos impactados por',
'Relation:impacts/DownStream' => 'Impacto...', 'Relation:impacts/DownStream' => 'Impacto...',
'Relation:impacts/DownStream+' => 'Elementos impactados por',
'Relation:impacts/UpStream' => 'Depende de...', 'Relation:impacts/UpStream' => 'Depende de...',
'Relation:impacts/UpStream+' => 'Elementos estes, que dependem deste elemento',
// Legacy entries
'Relation:depends on/Description' => 'Elementos estes, que dependem deste elemento', 'Relation:depends on/Description' => 'Elementos estes, que dependem deste elemento',
'Relation:depends on/DownStream' => 'Depende de...', 'Relation:depends on/DownStream' => 'Depende de...',
'Relation:depends on/UpStream' => 'Impactos...', 'Relation:depends on/UpStream' => 'Impactos...',

View File

@@ -18,7 +18,10 @@
Dict::Add('RU RU', 'Russian', 'Русский', array( Dict::Add('RU RU', 'Russian', 'Русский', array(
'Relation:impacts/Description' => 'Элементы, на которые влияет', 'Relation:impacts/Description' => 'Элементы, на которые влияет',
'Relation:impacts/DownStream' => 'Влияет на...', 'Relation:impacts/DownStream' => 'Влияет на...',
'Relation:impacts/DownStream+' => 'Элементы, на которые влияет',
'Relation:impacts/UpStream' => 'Зависит от...', 'Relation:impacts/UpStream' => 'Зависит от...',
'Relation:impacts/UpStream+' => 'Элементы, от которых зависит',
// Legacy entries
'Relation:depends on/Description' => 'Элементы, от которых зависит', 'Relation:depends on/Description' => 'Элементы, от которых зависит',
'Relation:depends on/DownStream' => 'Зависит от...', 'Relation:depends on/DownStream' => 'Зависит от...',
'Relation:depends on/UpStream' => 'Влияет на...', 'Relation:depends on/UpStream' => 'Влияет на...',

View File

@@ -33,7 +33,10 @@
Dict::Add('TR TR', 'Turkish', 'Türkçe', array( Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Relation:impacts/Description' => 'Etkilenen kalemler', 'Relation:impacts/Description' => 'Etkilenen kalemler',
'Relation:impacts/DownStream' => 'Etkiler...', 'Relation:impacts/DownStream' => 'Etkiler...',
'Relation:impacts/DownStream+' => 'Etkilenen kalemler',
'Relation:impacts/UpStream' => 'Bağımlı olanlar...', 'Relation:impacts/UpStream' => 'Bağımlı olanlar...',
'Relation:impacts/UpStream+' => 'Bu kaleme bağımlı olan kalemler',
// Legacy entries
'Relation:depends on/Description' => 'Bu kaleme bağımlı olan kalemler', 'Relation:depends on/Description' => 'Bu kaleme bağımlı olan kalemler',
'Relation:depends on/DownStream' => 'Bağımlı olanlar...', 'Relation:depends on/DownStream' => 'Bağımlı olanlar...',
'Relation:depends on/UpStream' => 'Etkiledikleri...', 'Relation:depends on/UpStream' => 'Etkiledikleri...',

View File

@@ -33,7 +33,10 @@
Dict::Add('ZH CN', 'Chinese', '简体中文', array( Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Relation:impacts/Description' => '被影响的元素', 'Relation:impacts/Description' => '被影响的元素',
'Relation:impacts/DownStream' => '影响...', 'Relation:impacts/DownStream' => '影响...',
'Relation:impacts/DownStream+' => '被影响的元素',
'Relation:impacts/UpStream' => '依赖于...', 'Relation:impacts/UpStream' => '依赖于...',
'Relation:impacts/UpStream+' => '该元素依赖的元素...',
// Legacy entries
'Relation:depends on/Description' => '该元素依赖的元素...', 'Relation:depends on/Description' => '该元素依赖的元素...',
'Relation:depends on/DownStream' => '依赖于...', 'Relation:depends on/DownStream' => '依赖于...',
'Relation:depends on/UpStream' => '影响...', 'Relation:depends on/UpStream' => '影响...',

View File

@@ -1604,15 +1604,16 @@ EOF
$sDirection = utils::ReadParam('direction', 'down'); $sDirection = utils::ReadParam('direction', 'down');
$iGroupingThreshold = utils::ReadParam('g', 5); $iGroupingThreshold = utils::ReadParam('g', 5);
$bDirDown = ($sDirection === 'down');
$oObj = MetaModel::GetObject($sClass, $id); $oObj = MetaModel::GetObject($sClass, $id);
$iMaxRecursionDepth = MetaModel::GetConfig()->Get('relations_max_depth', 20); $iMaxRecursionDepth = MetaModel::GetConfig()->Get('relations_max_depth', 20);
$aSourceObjects = array($oObj); $aSourceObjects = array($oObj);
$oP->set_title(MetaModel::GetRelationDescription($sRelation).' '.$oObj->GetName()); $oP->set_title(MetaModel::GetRelationDescription($sRelation, $bDirDown).' '.$oObj->GetName());
$sPageId = "ui-relation-graph-".$sClass.'::'.$id; $sPageId = "ui-relation-graph-".$sClass.'::'.$id;
$sLabel = $oObj->GetName().' '.MetaModel::GetRelationLabel($sRelation); $sLabel = $oObj->GetName().' '.MetaModel::GetRelationLabel($sRelation, $bDirDown);
$sDescription = MetaModel::GetRelationDescription($sRelation).' '.$oObj->GetName(); $sDescription = MetaModel::GetRelationDescription($sRelation, $bDirDown).' '.$oObj->GetName();
$oP->SetBreadCrumbEntry($sPageId, $sLabel, $sDescription); $oP->SetBreadCrumbEntry($sPageId, $sLabel, $sDescription);
if ($sRelation == 'depends on') if ($sRelation == 'depends on')