N°3815 - Remove "DisplayTemplate" PHP classes - TemplateMenuNode::GetHyperlink() must return ''

This commit is contained in:
Anne-Cath
2025-10-27 17:26:37 +01:00
parent 83927af8ed
commit 775ac3df77
2 changed files with 24 additions and 1 deletions

View File

@@ -903,7 +903,13 @@ class TemplateMenuNode extends MenuNode
{
parent::__construct($sMenuId, $iParentIndex, $fRank, $sEnableClass, $iActionCode, $iAllowedResults, $sEnableStimulus);
}
/**
* @inheritDoc
*/
public function GetHyperlink($aExtraParams)
{
return '';
}
/**
* @inheritDoc
* @throws \Exception

View File

@@ -3,6 +3,7 @@
namespace UI\Base\Layout;
use ApplicationContext;
use ApplicationMenu;
use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenu;
use Combodo\iTop\Application\UI\Base\Layout\NavigationMenu\NavigationMenu;
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
@@ -61,4 +62,20 @@ class NavigationMenuTest extends ItopDataTestCase {
$this->assertEquals(true, $isAllowed);
unlink($sTmpFilePath);
}
/**
* test GetHyperlink return empty for TemplateMenuNode and ShortcutContainerMenuNode only
*/
public function testGetHyperlink(){
ApplicationMenu::LoadAdditionalMenus();
foreach (ApplicationMenu::$aMenusIndex as $sMenuId => $aMenu) {
//echo ' **** '. get_class($aMenu['node']);
if(in_array(get_class($aMenu['node']), ['TemplateMenuNode','ShortcutContainerMenuNode']) ){
$this->assertEquals('', $aMenu['node']->GetHyperlink([]), 'Menu node '.$sMenuId.' is a TemplateMenuNode. It should have empty hyperlink');
} else {
$this->assertNotEquals('', $aMenu['node']->GetHyperlink([]),'Menu node '.$sMenuId.' is a '.get_class($aMenu['node']).'. It should have not empty hyperlink');
}
}
}
}