/**
  * Assign this task to the current user and reloads the listing page.
  *
  * @param \Drupal\tmgmt_local\LocalTaskInterface $tmgmt_local_task
  *   The task being acted upon.
  * @param \Symfony\Component\HttpFoundation\Request $request
  *   The current request.
  *
  * @return \Drupal\Core\Ajax\AjaxResponse|\Symfony\Component\HttpFoundation\RedirectResponse
  *   Either returns a rebuilt listing page as an AJAX response, or redirects
  *   back to the listing page.
  */
 public function assignToMe(LocalTaskInterface $tmgmt_local_task, Request $request)
 {
     $tmgmt_local_task->assign(\Drupal::currentUser());
     $tmgmt_local_task->save();
     drupal_set_message(t('The task has been assigned to you.'));
     // If the request is via AJAX, return the rendered list as JSON.
     if ($request->request->get('js')) {
         $list = $this->entityTypeManager()->getListBuilder('view')->render();
         $response = new AjaxResponse();
         $response->addCommand(new ReplaceCommand('#views-entity-list', $list));
         return $response;
     }
     // Otherwise, redirect back to the page.
     return $this->redirect('<current>');
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function delete(array $form, FormStateInterface $form_state)
 {
     $form_state->setRedirectUrl($this->entity->toUrl('delete-form'));
 }