Issue #3444745 by fjgarlin, plopesc, m4olivei: Navigation Top Bar hides entity local tasks even if the user has no access to the bar
(cherry picked from commit a49ba33853
)
merge-requests/10722/head
parent
8c1d5599ef
commit
cfc0f42775
|
@ -158,7 +158,9 @@ function navigation_menu_links_discovered_alter(&$links) {
|
||||||
function navigation_block_build_local_tasks_block_alter(array &$build, BlockPluginInterface $block) {
|
function navigation_block_build_local_tasks_block_alter(array &$build, BlockPluginInterface $block) {
|
||||||
$navigation_renderer = \Drupal::service('navigation.renderer');
|
$navigation_renderer = \Drupal::service('navigation.renderer');
|
||||||
assert($navigation_renderer instanceof NavigationRenderer);
|
assert($navigation_renderer instanceof NavigationRenderer);
|
||||||
$navigation_renderer->removeLocalTasks($build, $block);
|
if (\Drupal::currentUser()->hasPermission('access navigation')) {
|
||||||
|
$navigation_renderer->removeLocalTasks($build, $block);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -99,6 +99,15 @@ class NavigationTopBarTest extends BrowserTestBase {
|
||||||
$this->assertSession()->elementTextEquals('xpath', "//div[contains(@class, 'top-bar__content')]/button/span", 'More actions');
|
$this->assertSession()->elementTextEquals('xpath', "//div[contains(@class, 'top-bar__content')]/button/span", 'More actions');
|
||||||
$this->assertSession()->elementNotExists('xpath', '//div[@id="block-tabs"]');
|
$this->assertSession()->elementNotExists('xpath', '//div[@id="block-tabs"]');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Regular tabs are visible for user that cannot access to navigation.
|
||||||
|
$this->drupalLogin($this->drupalCreateUser([
|
||||||
|
'bypass node access',
|
||||||
|
]));
|
||||||
|
|
||||||
|
$this->drupalGet($this->node->toUrl());
|
||||||
|
$this->assertSession()->elementNotExists('xpath', "//div[contains(@class, 'top-bar__content')]/div[contains(@class, 'top-bar__actions')]/button/span");
|
||||||
|
$this->assertSession()->elementExists('xpath', '//div[@id="block-tabs"]');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue