You are here

protected function ProfileForm::actions in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/user/src/ProfileForm.php \Drupal\user\ProfileForm::actions()
  2. 9 core/modules/user/src/ProfileForm.php \Drupal\user\ProfileForm::actions()

File

core/modules/user/src/ProfileForm.php, line 17

Class

ProfileForm
Form handler for the profile forms.

Namespace

Drupal\user

Code

protected function actions(array $form, FormStateInterface $form_state) {
  $element = parent::actions($form, $form_state);
  if (!$this->entity
    ->isNew() && $this->entity
    ->hasLinkTemplate('cancel-form')) {
    $route_info = $this->entity
      ->toUrl('cancel-form');
    if ($this
      ->getRequest()->query
      ->has('destination')) {
      $query = $route_info
        ->getOption('query');
      $query['destination'] = $this
        ->getRequest()->query
        ->get('destination');
      $route_info
        ->setOption('query', $query);
    }
    $element['delete'] = [
      '#type' => 'link',
      '#title' => $this
        ->t('Cancel account'),
      '#access' => $this->entity
        ->id() > 1 && $this->entity
        ->access('delete'),
      '#attributes' => [
        'class' => [
          'button',
          'button--danger',
        ],
      ],
    ];
    $element['delete']['#url'] = $route_info;
  }
  return $element;
}