/** * 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>'); }
/** * {@inheritdoc} */ public function delete(array $form, FormStateInterface $form_state) { $form_state->setRedirectUrl($this->entity->toUrl('delete-form')); }