t('Are you sure you want to delete %transition from %workflow?', ['%transition' => $this->transition->label(), '%workflow' => $this->workflow->label()]); } /** * {@inheritdoc} */ public function getCancelUrl() { return $this->workflow->toUrl(); } /** * {@inheritdoc} */ public function getConfirmText() { return $this->t('Delete'); } /** * Form constructor. * * @param array $form * An associative array containing the structure of the form. * @param \Drupal\Core\Form\FormStateInterface $form_state * The current state of the form. * @param \Drupal\workflows\WorkflowInterface $workflow * The workflow entity being edited. * @param string|null $workflow_transition * The workflow transition being deleted. * * @return array * The form structure. */ public function buildForm(array $form, FormStateInterface $form_state, WorkflowInterface $workflow = NULL, $workflow_transition = NULL) { try { $this->transition = $workflow->getTypePlugin()->getTransition($workflow_transition); } catch (\InvalidArgumentException $e) { throw new NotFoundHttpException(); } $this->workflow = $workflow; return parent::buildForm($form, $form_state); } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $this->workflow ->getTypePlugin() ->deleteTransition($this->transition->id()); $this->workflow->save(); $this->messenger()->addStatus($this->t('%transition transition deleted.', ['%transition' => $this->transition->label()])); $form_state->setRedirectUrl($this->getCancelUrl()); } }