function MenuUiHooks::getMenuLinkContentAccess

Check if user is allowed to use the menu link subform.

Parameters

array $defaults: An array that contains default values for the menu link form.

See also

menu_ui_get_menu_link_defaults()

1 call to MenuUiHooks::getMenuLinkContentAccess()
MenuUiHooks::formNodeFormAlter in core/modules/menu_ui/src/Hook/MenuUiHooks.php
Implements hook_form_BASE_FORM_ID_alter() for \Drupal\node\Form\NodeForm.

File

core/modules/menu_ui/src/Hook/MenuUiHooks.php, line 110

Class

MenuUiHooks
Hook implementations for menu_ui.

Namespace

Drupal\menu_ui\Hook

Code

protected function getMenuLinkContentAccess(array $defaults) : AccessResultInterface {
    if (!empty($defaults['entity_id'])) {
        $entity = MenuLinkContent::load($defaults['entity_id']);
        // The form can be used to edit or delete the menu link.
        return $entity->access('update', NULL, TRUE)
            ->andIf($entity->access('delete', NULL, TRUE));
    }
    else {
        // If the node has no corresponding menu link, users needs to permission
        // to create one.
        return $this->entityTypeManager
            ->getAccessControlHandler('menu_link_content')
            ->createAccess(NULL, NULL, [], TRUE);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.