You are here

function maestro_webform_menu_local_tasks_alter in Maestro 3.x

Same name and namespace in other branches
  1. 8.2 modules/maestro_webform/maestro_webform.module \maestro_webform_menu_local_tasks_alter()

Implements hook_local_tasks_alter().

File

modules/maestro_webform/maestro_webform.module, line 143
Contains maestro_webform.module.

Code

function maestro_webform_menu_local_tasks_alter(&$data, $route_name) {

  // If we're viewing/editing a node AND we have a maestro and queueid query parameter.
  $queueID = intval(\Drupal::request()->query
    ->get('queueid', 0));
  $isMaestro = intval(\Drupal::request()->query
    ->get('maestro', 0));
  if (($route_name == 'entity.webform_submission.edit_form' || $route_name == 'entity.webform_submission.canonical') && ($isMaestro > 0 || $queueID > 0)) {
    $oldUrl = $data['tabs'][0]['entity.webform_submission.edit_form']['#link']['url'];
    $oldRouteParameters = $oldUrl
      ->getRouteParameters();
    $oldurl = $data['tabs'][0]['entity.webform_submission.edit_form']['#link']['url'];
    $oldRouteParms = $oldurl
      ->getRouteParameters();
    $url = Url::fromRoute('entity.webform_submission.edit_form', $oldRouteParameters, [
      'query' => [
        'maestro' => 1,
        'queueid' => $queueID,
      ],
    ]);
    $data['tabs'][0]['entity.webform_submission.edit_form']['#link']['url'] = $url;
    $oldurl = $data['tabs'][0]['entity.webform_submission.canonical']['#link']['url'];
    $oldRouteParms = $oldurl
      ->getRouteParameters();
    $url = Url::fromRoute('entity.webform_submission.canonical', $oldRouteParameters, [
      'query' => [
        'maestro' => 1,
        'queueid' => $queueID,
      ],
    ]);
    $data['tabs'][0]['entity.webform_submission.canonical']['#link']['url'] = $url;
  }
}