3 namespace Drupal\entity_test\Entity;
5 use Drupal\Core\Entity\EntityTypeInterface;
6 use Drupal\Core\Field\BaseFieldDefinition;
9 * Defines the test entity class.
12 * id = "entity_test_rev",
13 * label = @Translation("Test entity - revisions"),
15 * "access" = "Drupal\entity_test\EntityTestAccessControlHandler",
16 * "view_builder" = "Drupal\entity_test\EntityTestViewBuilder",
18 * "default" = "Drupal\entity_test\EntityTestForm",
19 * "delete" = "Drupal\entity_test\EntityTestDeleteForm"
21 * "view_builder" = "Drupal\entity_test\EntityTestViewBuilder",
22 * "translation" = "Drupal\content_translation\ContentTranslationHandler",
23 * "views_data" = "Drupal\views\EntityViewsData",
24 * "route_provider" = {
25 * "html" = "Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider",
28 * base_table = "entity_test_rev",
29 * revision_table = "entity_test_rev_revision",
30 * admin_permission = "administer entity_test content",
31 * show_revision_ui = TRUE,
35 * "revision" = "revision_id",
38 * "langcode" = "langcode",
41 * "add-form" = "/entity_test_rev/add",
42 * "canonical" = "/entity_test_rev/manage/{entity_test_rev}",
43 * "delete-form" = "/entity_test/delete/entity_test_rev/{entity_test_rev}",
44 * "edit-form" = "/entity_test_rev/manage/{entity_test_rev}/edit",
45 * "revision" = "/entity_test_rev/{entity_test_rev}/revision/{entity_test_rev_revision}/view",
49 class EntityTestRev extends EntityTest {
54 public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
55 $fields = parent::baseFieldDefinitions($entity_type);
57 $fields['name']->setRevisionable(TRUE);
58 $fields['user_id']->setRevisionable(TRUE);
60 $fields['non_rev_field'] = BaseFieldDefinition::create('string')
61 ->setLabel(t('Non Revisionable Field'))
62 ->setDescription(t('A non-revisionable test field.'))
63 ->setRevisionable(FALSE)
64 ->setTranslatable(TRUE)
68 return $fields + \Drupal::state()->get($entity_type->id() . '.additional_base_field_definitions', []);