public function EntityTestFormController::form

Overrides Drupal\Core\Entity\EntityFormController::form().

Overrides EntityFormControllerNG::form

File

drupal/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php, line 20
Definition of Drupal\entity_test\EntityTestFormController.

Class

EntityTestFormController
Form controller for the test entity edit forms.

Namespace

Drupal\entity_test

Code

public function form(array $form, array &$form_state) {
  $form = parent::form($form, $form_state);
  $entity = $this->entity;
  $langcode = $this
    ->getFormLangcode($form_state);
  $translation = $entity
    ->getTranslation($langcode);
  $form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#default_value' => $translation->name->value,
    '#size' => 60,
    '#maxlength' => 128,
    '#required' => TRUE,
    '#weight' => -10,
  );
  $form['user_id'] = array(
    '#type' => 'textfield',
    '#title' => 'UID',
    '#default_value' => $translation->user_id->target_id,
    '#size' => 60,
    '#maxlength' => 128,
    '#required' => TRUE,
    '#weight' => -10,
  );
  $form['langcode'] = array(
    '#title' => t('Language'),
    '#type' => 'language_select',
    '#default_value' => $entity
      ->language()->langcode,
    '#languages' => Language::STATE_ALL,
  );

  // @todo: Is there a better way to check if an entity type is revisionable?
  $entity_info = $entity
    ->entityInfo();
  if (!empty($entity_info['entity_keys']['revision']) && !$entity
    ->isNew()) {
    $form['revision'] = array(
      '#type' => 'checkbox',
      '#title' => t('Create new revision'),
      '#default_value' => $entity
        ->isNewRevision(),
    );
  }
  return $form;
}