function webform_views_menu_local_tasks_alter in Webform Views Integration 8.5
Implements hook_menu_local_tasks_alter().
File
- ./
webform_views.module, line 160 - Webform integration with views.
Code
function webform_views_menu_local_tasks_alter(&$data, $route_name) {
$webform = \Drupal::routeMatch()
->getParameter('webform');
if ($webform && \Drupal::routeMatch()
->getRouteName() == $route_name) {
// We have all the necessary data: we are manipulating current request and
// we know which webform is invoked. So we can safely hide the webform views
// tabs that relate to the webforms that are not the current one.
foreach ($data['tabs'] as $level => $tabs_per_level) {
foreach ($tabs_per_level as $k => $tab) {
if (substr($k, 0, strlen('webform_view:')) == 'webform_view:') {
$tab_webform = webform_views_webform_id_from_path($tab['#link']['url']
->getInternalPath());
if ($tab_webform != $webform
->id()) {
$data['tabs'][$level][$k]['#access'] = new AccessResultForbidden();
}
}
}
}
}
}