Example #1
0
 /**
  * {@inheritdoc}
  */
 protected function actions(array $form, FormStateInterface $form_state)
 {
     $actions = parent::actions($form, $form_state);
     $actions['submit']['#value'] = $this->t('Save settings');
     if (!$this->entity->isNew()) {
         $target_entity_type = $this->entityManager->getDefinition($this->entity->getTargetEntityTypeId());
         $route_parameters = ['field_config' => $this->entity->id()] + FieldUI::getRouteBundleParameter($target_entity_type, $this->entity->bundle);
         $url = new Url('entity.field_config.' . $target_entity_type->id() . '_field_delete_form', $route_parameters);
         if ($this->getRequest()->query->has('destination')) {
             $query = $url->getOption('query');
             $query['destination'] = $this->getRequest()->query->get('destination');
             $url->setOption('query', $query);
         }
         $actions['delete'] = array('#type' => 'link', '#title' => $this->t('Delete'), '#url' => $url, '#access' => $this->entity->access('delete'), '#attributes' => array('class' => array('button', 'button--danger')));
     }
     return $actions;
 }
Example #2
0
 /**
  * Redirects to the field deletion form.
  */
 public function delete(array &$form, FormStateInterface $form_state)
 {
     $destination = array();
     $request = $this->getRequest();
     if ($request->query->has('destination')) {
         $destination = drupal_get_destination();
         $request->query->remove('destination');
     }
     $entity_type = $this->entityManager->getDefinition($this->field->entity_type);
     $form_state->setRedirect('entity.field_config.' . $this->field->entity_type . '_field_delete_form', array($entity_type->getBundleEntityType() => $this->field->bundle, 'field_config' => $this->field->id()), array('query' => $destination));
 }