You are here

function menu_admin_per_menu_entity_operation_alter in Menu Admin per Menu 8

Implements hook_entity_operation_alter().

Re-add the menu entity operations for users that have access to administer the given menu.

File

./menu_admin_per_menu.module, line 165
Module file for menu_admin_per_menu.

Code

function menu_admin_per_menu_entity_operation_alter(array &$operations, EntityInterface $entity) {

  /** @var \Drupal\menu_admin_per_menu\MenuAdminPerMenuAccessInterface $allowedMenusService */
  $allowedMenusService = \Drupal::service('menu_admin_per_menu.allowed_menus');
  $account = \Drupal::currentUser();
  if (!$entity instanceof Menu || !$allowedMenusService
    ->menuAccess($account, $entity)
    ->isAllowed()) {
    return;
  }
  $operations['list'] = [
    'title' => t('List links'),
    'url' => Url::fromRoute('entity.menu.edit_form', [
      'menu' => $entity
        ->id(),
    ]),
    'weight' => 10,
  ];
  $operations['add'] = [
    'title' => t('Add link'),
    'url' => Url::fromRoute('entity.menu.add_link_form', [
      'menu' => $entity
        ->id(),
    ]),
    'weight' => 20,
  ];
}