function social_event_managers_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_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8.2 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8.3 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8.4 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8.5 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8.6 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 8.8 modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 10.3.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 10.0.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 10.1.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
- 10.2.x modules/social_features/social_event/modules/social_event_managers/social_event_managers.module \social_event_managers_menu_local_tasks_alter()
Implements hook_menu_local_tasks_alter().
File
- modules/
social_features/ social_event/ modules/ social_event_managers/ social_event_managers.module, line 300 - Contains social_event_managers.module.
Code
function social_event_managers_menu_local_tasks_alter(&$data, $route_name) {
$can_show_managers_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') {
$can_show_managers_link = TRUE;
// Should we minimise the amount of tabs? If so we remove enrollees as we
// show it in the management tab.
if (!empty($data['tabs'][0]['views_view:view.event_enrollments.view_enrollments'])) {
unset($data['tabs'][0]['views_view:view.event_enrollments.view_enrollments']);
}
// For Guest Enrollments alone we hide them as well and place them in the
// manage tab.
if (!empty($data['tabs'][0]['views_view:view.manage_enrollments.page'])) {
unset($data['tabs'][0]['views_view:view.manage_enrollments.page']);
}
if (!social_event_manager_or_organizer()) {
$data['tabs'][0]['views_view:view.event_manage_enrollments.page_manage_enrollments']['#link']['title'] = t('Enrollments');
}
}
}
// PLace this here, since hiding it should happen
// always and not only on the mentioned routes.
if (!$can_show_managers_link) {
unset($data['tabs'][0]['views_view:view.managers.view_managers']);
unset($data['tabs'][0]['views_view:view.event_manage_enrollments.page_manage_enrollments']);
}
}