Skip to content
Snippets Groups Projects

Issue #3412155: Fixed deprecated function system_get_module_admin_tasks error.

@@ -8,6 +8,8 @@ use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Extension\ExtensionList;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\system\ModuleAdminLinksHelper;
use Drupal\user\ModulePermissionsLinkHelper;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
@@ -46,14 +48,30 @@ class BlockClassController extends ControllerBase {
*/
protected $requestStack;
/**
* The module admin links service.
*
* @var \Drupal\system\ModuleAdminLinksHelper
*/
protected $moduleAdminLinks;
/**
* The module permissions link service.
*
* @var \Drupal\user\ModulePermissionsLinkHelper
*/
protected $modulePermissionsLinks;
/**
* Creates a new HelpController.
*/
public function __construct(RouteMatchInterface $route_match, ExtensionList $extension_list_module, ConfigFactoryInterface $config_factory, RequestStack $requestStack) {
public function __construct(RouteMatchInterface $route_match, ExtensionList $extension_list_module, ConfigFactoryInterface $config_factory, RequestStack $requestStack, ModuleAdminLinksHelper $module_admin_links, ModulePermissionsLinkHelper $module_permissions_link) {
$this->routeMatch = $route_match;
$this->extensionListModule = $extension_list_module;
$this->configFactory = $config_factory;
$this->requestStack = $requestStack;
$this->moduleAdminLinks = $module_admin_links;
$this->modulePermissionsLinks = $module_permissions_link;
}
/**
@@ -64,7 +82,9 @@ class BlockClassController extends ControllerBase {
$container->get('current_route_match'),
$container->get('extension.list.module'),
$container->get('config.factory'),
$container->get('request_stack')
$container->get('request_stack'),
$container->get('system.module_admin_links_helper'),
$container->get('user.module_permissions_link_helper')
);
}
@@ -92,7 +112,12 @@ class BlockClassController extends ControllerBase {
// Only print list of administration pages if the project in question has
// any such pages associated with it.
$adminTasks = system_get_module_admin_tasks($projectMachineName, $this->extensionListModule->getExtensionInfo($projectMachineName));
$info = $this->extensionListModule->getExtensionInfo($projectMachineName);
$adminTasks = $this->moduleAdminLinks->getModuleAdminLinks($projectMachineName);
if ($permsLink = $this->modulePermissionsLinks->getModulePermissionsLink($projectMachineName, $info['name'])) {
$adminTasks["user.admin_permissions.{$projectMachineName}"] = $permsLink;
}
if (empty($adminTasks)) {
return $build;
Loading