You are here

public function BlockContentTypeForm::save in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/block_content/src/BlockContentTypeForm.php \Drupal\block_content\BlockContentTypeForm::save()
  2. 9 core/modules/block_content/src/BlockContentTypeForm.php \Drupal\block_content\BlockContentTypeForm::save()

File

core/modules/block_content/src/BlockContentTypeForm.php, line 96

Class

BlockContentTypeForm
The block content type entity form.

Namespace

Drupal\block_content

Code

public function save(array $form, FormStateInterface $form_state) {
  $block_type = $this->entity;
  $status = $block_type
    ->save();
  $edit_link = $this->entity
    ->toLink($this
    ->t('Edit'), 'edit-form')
    ->toString();
  $logger = $this
    ->logger('block_content');
  if ($status == SAVED_UPDATED) {
    $this
      ->messenger()
      ->addStatus($this
      ->t('Custom block type %label has been updated.', [
      '%label' => $block_type
        ->label(),
    ]));
    $logger
      ->notice('Custom block type %label has been updated.', [
      '%label' => $block_type
        ->label(),
      'link' => $edit_link,
    ]);
  }
  else {
    block_content_add_body_field($block_type
      ->id());
    $this
      ->messenger()
      ->addStatus($this
      ->t('Custom block type %label has been added.', [
      '%label' => $block_type
        ->label(),
    ]));
    $logger
      ->notice('Custom block type %label has been added.', [
      '%label' => $block_type
        ->label(),
      'link' => $edit_link,
    ]);
  }
  $form_state
    ->setRedirectUrl($this->entity
    ->toUrl('collection'));
}