/**
  * {@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();
 }
Example #2
0
 /**
  * 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');
 }