You are here

BundleEntityFormBase.php in Drupal 10

Namespace

Drupal\Core\Entity

File

core/lib/Drupal/Core/Entity/BundleEntityFormBase.php
View source
<?php

namespace Drupal\Core\Entity;


/**
 * Class BundleEntityFormBase is a base form for bundle config entities.
 */
class BundleEntityFormBase extends EntityForm {

  /**
   * Protects the bundle entity's ID property's form element against changes.
   *
   * This method is assumed to be called on a completely built entity form,
   * including a form element for the bundle config entity's ID property.
   *
   * @param array $form
   *   The completely built entity bundle form array.
   *
   * @return array
   *   The updated entity bundle form array.
   */
  protected function protectBundleIdElement(array $form) {
    $entity = $this
      ->getEntity();
    $id_key = $entity
      ->getEntityType()
      ->getKey('id');
    assert(isset($form[$id_key]));
    $element =& $form[$id_key];

    // Make sure the element is not accidentally re-enabled if it has already
    // been disabled.
    if (empty($element['#disabled'])) {
      $element['#disabled'] = !$entity
        ->isNew();
    }
    return $form;
  }

}

Classes

Namesort descending Description
BundleEntityFormBase Class BundleEntityFormBase is a base form for bundle config entities.