/** * {@inheritdoc} */ public function menuItemAccess(AccountInterface $account, MenuLinkContent $menu_link_content = NULL) { $permission = 'administer ' . $menu_link_content->getMenuName() . ' menu items'; $permissions = $this::getPerMenuPermissions($account); if ($account->hasPermission('administer menu') || isset($permissions[$permission])) { return AccessResult::allowed(); } return AccessResult::neutral(); }
/** * Modifies a menu link using the UI. * * @param \Drupal\menu_link_content\Entity\MenuLinkContent $item * Menu link entity. */ function modifyMenuLink(MenuLinkContent $item) { $item->title->value = $this->randomMachineName(16); $mlid = $item->id(); $title = $item->getTitle(); // Edit menu link. $edit = array(); $edit['title[0][value]'] = $title; $this->drupalPostForm("admin/structure/menu/item/{$mlid}/edit", $edit, t('Save')); $this->assertResponse(200); $this->assertText('The menu link has been saved.'); // Verify menu link. $this->drupalGet('admin/structure/menu/manage/' . $item->getMenuName()); $this->assertText($title, 'Menu link was edited'); }