Merge branch 'support/2.7' into develop

# Conflicts:
#	.jenkins/bin/tests/phpunit.sh
#	Jenkinsfile
#	core/config.class.inc.php
#	core/dbobjectsearch.class.php
#	core/ormlinkset.class.inc.php
#	datamodels/2.x/combodo-db-tools/dbtools.php
#	dictionaries/nl.dictionary.itop.ui.php
This commit is contained in:
Pierre Goiffon
2020-08-17 09:36:43 +02:00
59 changed files with 1497 additions and 931 deletions

View File

@@ -812,6 +812,7 @@ class ormLinkSet implements iDBObjectSetIterator, Iterator, SeekableIterator
// the pointed class is always present in the search, as generated by \AttributeLinkedSet::GetDefaultValue
$sTargetClass = $oLinkingAttDef->GetTargetClass();
$oRemoteClassSearch = new DBObjectSearch($sTargetClass);
if (!$bShowObsolete && MetaModel::IsObsoletable($sTargetClass))
{
$oNotObsolete = new BinaryExpression(
@@ -821,6 +822,18 @@ class ormLinkSet implements iDBObjectSetIterator, Iterator, SeekableIterator
);
$oRemoteClassSearch->AddConditionExpression($oNotObsolete);
}
if (!utils::IsArchiveMode() && MetaModel::IsArchivable($sTargetClass))
{
$oNotArchived = new BinaryExpression(
new FieldExpression('archive_flag', $sTargetClass),
'=',
new ScalarExpression(0)
);
$oRemoteClassSearch->AddConditionExpression($oNotArchived);
}
$oLinkSearch->AddCondition_PointingTo($oRemoteClassSearch, $sExtKeyToRemote);
$oLinkSearch->RenameAlias($oLinkSearch->GetClassAlias(), self::LINK_ALIAS);
$oLinkSearch->RenameAlias($sTargetClass, self::REMOTE_ALIAS);
@@ -835,4 +848,4 @@ class ormLinkSet implements iDBObjectSetIterator, Iterator, SeekableIterator
return $oLinkSet;
}
}
}