function social_event_an_enroll_menu_local_tasks_alter in Open Social 8.7
Same name and namespace in other branches
- 8.9 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 8.3 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 8.4 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 8.5 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 8.6 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 8.8 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 10.3.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 10.0.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 10.1.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
- 10.2.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_menu_local_tasks_alter()
Implements hook_menu_local_tasks_alter().
Check and display "Anonymous Enrollments" tab only for events.
File
- modules/
social_features/ social_event/ modules/ social_event_an_enroll/ social_event_an_enroll.module, line 169 - The Social event AN enroll module.
Code
function social_event_an_enroll_menu_local_tasks_alter(&$data, $route_name) {
$can_show_an_enrollments_link = FALSE;
$routes_to_check = [
'view.event_enrollments.view_enrollments',
'entity.node.canonical',
'view.managers.view_managers',
'view.manage_enrollments.page',
'view.event_manage_enrollments.page_manage_enrollments',
];
if (in_array($route_name, $routes_to_check)) {
$node = \Drupal::service('current_route_match')
->getParameter('node');
if (!is_null($node) && !$node instanceof Node) {
$node = Node::load($node);
}
if ($node instanceof Node && $node
->getType() === 'event' && $node
->get('field_content_visibility')
->getString() === 'public') {
$can_show_an_enrollments_link = TRUE;
}
}
// Place this here, since hiding it should happen
// always and not only on the mentioned routes.
if (!$can_show_an_enrollments_link) {
unset($data['tabs'][0]['views_view:view.manage_enrollments.page']);
}
}