Compare commits

...

4 Commits

Author SHA1 Message Date
Molkobain
a92c91d462 PHPDoc 2023-04-06 17:55:08 +02:00
denis.flaven@combodo.com
c5640db511 Cleanup: moved HasProvider() out of the Factory 2023-04-06 14:49:45 +02:00
denis.flaven@combodo.com
1982771c28 N°5619 - fixed crash when no provider at all! 2022-11-17 11:09:12 +01:00
denis.flaven@combodo.com
12a58d1fa3 N°5619 - hide newsroom menu when no provider 2022-11-14 18:37:20 +01:00
3 changed files with 15 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ namespace Combodo\iTop\Application\UI\Base\Component\PopoverMenu\NewsroomMenu;
use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenu;
use MetaModel;
/**
* Class NewsroomMenu
@@ -65,4 +66,15 @@ class NewsroomMenu extends PopoverMenu
{
return json_encode($this->aParams);
}
/**
* Check if there is any Newsroom provider configured
* @since 3.1.0 N°5619
* @return bool
*/
public static function HasProviders(): bool
{
$aProviders = MetaModel::EnumPlugins('iNewsroomProvider');
return count($aProviders) > 0;
}
}

View File

@@ -269,7 +269,7 @@ class NavigationMenu extends UIBlock implements iKeyboardShortcut
*/
public function IsNewsroomEnabled(): bool
{
return MetaModel::GetConfig()->Get('newsroom_enabled');
return (MetaModel::GetConfig()->Get('newsroom_enabled') && NewsroomMenu::HasProviders());
}
/**

View File

@@ -21,6 +21,7 @@ namespace Combodo\iTop\Application\UI\Base\Layout\NavigationMenu;
use ApplicationContext;
use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\NewsroomMenu\NewsroomMenu;
use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\NewsroomMenu\NewsroomMenuFactory;
use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenuFactory;
use MetaModel;
@@ -48,7 +49,7 @@ class NavigationMenuFactory
{
$oNewsroomMenu = null;
if (MetaModel::GetConfig()->Get('newsroom_enabled'))
if (MetaModel::GetConfig()->Get('newsroom_enabled') && NewsroomMenu::HasProviders())
{
$oNewsroomMenu = NewsroomMenuFactory::MakeNewsroomMenuForNavigationMenu();
}