/**
  * Constructs menus overview page.
  */
 public function menuOverviewPage()
 {
     $account = \Drupal::currentUser();
     $menu_table = $this->entityTypeManager->getListBuilder('menu')->render();
     if ($account->hasPermission('administer menu')) {
         return $menu_table;
     }
     $allowedMenusService = \Drupal::service('menu_admin_per_menu.allowed_menus');
     $allowed_menus = $allowedMenusService->getPerMenuPermissions($account);
     foreach ($menu_table['table']['#rows'] as $menu_key => $menu_item) {
         if (!isset($allowed_menus["administer {$menu_key} menu items"])) {
             unset($menu_table['table']['#rows'][$menu_key]);
         } else {
             $menu_row =& $menu_table['table']['#rows'][$menu_key];
             $menu_operations =& $menu_row['operations']['data']['#links'];
             $menu_operations['list']['title'] = t('List links');
             $menu_operations['list']['url'] = Url::fromRoute('entity.menu.edit_form', array('menu' => $menu_key));
             $menu_operations['add']['title'] = t('Add link');
             $menu_operations['add']['url'] = Url::fromRoute('entity.menu.add_link_form', array('menu' => $menu_key));
         }
     }
     return $menu_table;
 }