function MediaForm::save

Same name and namespace in other branches
  1. 9 core/modules/media/src/MediaForm.php \Drupal\media\MediaForm::save()
  2. 8.9.x core/modules/media/src/MediaForm.php \Drupal\media\MediaForm::save()
  3. 10 core/modules/media/src/MediaForm.php \Drupal\media\MediaForm::save()

Overrides EntityForm::save

File

core/modules/media/src/MediaForm.php, line 60

Class

MediaForm
Form controller for the media edit forms.

Namespace

Drupal\media

Code

public function save(array $form, FormStateInterface $form_state) {
    $saved = parent::save($form, $form_state);
    $context = [
        '@type' => $this->entity
            ->bundle(),
        '%label' => $this->entity
            ->label(),
        'link' => $this->entity
            ->toLink($this->t('View'))
            ->toString(),
    ];
    $logger = $this->logger('media');
    $t_args = [
        '@type' => $this->entity->bundle->entity
            ->label(),
        '%label' => $this->entity
            ->toLink($this->entity
            ->label())
            ->toString(),
    ];
    if ($saved === SAVED_NEW) {
        $logger->info('@type: added %label.', $context);
        $this->messenger()
            ->addStatus($this->t('@type %label has been created.', $t_args));
    }
    else {
        $logger->info('@type: updated %label.', $context);
        $this->messenger()
            ->addStatus($this->t('@type %label has been updated.', $t_args));
    }
    // Redirect the user to the media overview if the user has the 'access media
    // overview' permission. If not, redirect to the canonical URL of the media
    // item.
    if ($this->currentUser()
        ->hasPermission('access media overview')) {
        $form_state->setRedirectUrl($this->entity
            ->toUrl('collection'));
    }
    else {
        $form_state->setRedirectUrl($this->entity
            ->toUrl());
    }
    return $saved;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.