From ff69f9af89646ec67ebf5ffb5a486dead66fcc2a Mon Sep 17 00:00:00 2001 From: Eric Date: Fri, 22 Jan 2021 15:42:57 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B03294=20-=20Introduce=20counters=20in=20O?= =?UTF-8?q?QL=20menu=20entries=20(fix=20when=20org=5Fid=20is=20empty)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/menunode.class.inc.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/application/menunode.class.inc.php b/application/menunode.class.inc.php index 81514a5d8..4889ee734 100644 --- a/application/menunode.class.inc.php +++ b/application/menunode.class.inc.php @@ -1174,18 +1174,21 @@ class OQLMenuNode extends MenuNode $oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode); if (isset($oAttDef) && ($oAttDef->IsExternalKey())) { $defaultValue = intval($oAppContext->GetCurrentValue($key)); - try { - /** @var AttributeExternalKey $oAttDef */ - $sTargetClass = $oAttDef->GetTargetClass(); - $sHierarchicalKeyCode = MetaModel::IsHierarchicalClass($sTargetClass); - if ($sHierarchicalKeyCode !== false) { - $oFilter = new DBObjectSearch($sTargetClass); - $oFilter->AddCondition('id', $defaultValue); - $oHKFilter = new DBObjectSearch($sTargetClass); - $oHKFilter->AddCondition_PointingTo($oFilter, $sHierarchicalKeyCode, TREE_OPERATOR_BELOW); - $oSearch->AddCondition_PointingTo($oHKFilter, $sAttCode); + if ($defaultValue != 0) { + try { + /** @var AttributeExternalKey $oAttDef */ + $sTargetClass = $oAttDef->GetTargetClass(); + $sHierarchicalKeyCode = MetaModel::IsHierarchicalClass($sTargetClass); + if ($sHierarchicalKeyCode !== false) { + $oFilter = new DBObjectSearch($sTargetClass); + $oFilter->AddCondition('id', $defaultValue); + $oHKFilter = new DBObjectSearch($sTargetClass); + $oHKFilter->AddCondition_PointingTo($oFilter, $sHierarchicalKeyCode, TREE_OPERATOR_BELOW); + $oSearch->AddCondition_PointingTo($oHKFilter, $sAttCode); + } + } + catch (Exception $e) { } - } catch (Exception $e) { } } }