Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / modules / system / tests / modules / entity_test / src / Entity / EntityTestRev.php
1 <?php
2
3 namespace Drupal\entity_test\Entity;
4
5 use Drupal\Core\Entity\EntityTypeInterface;
6 use Drupal\Core\Field\BaseFieldDefinition;
7
8 /**
9  * Defines the test entity class.
10  *
11  * @ContentEntityType(
12  *   id = "entity_test_rev",
13  *   label = @Translation("Test entity - revisions"),
14  *   handlers = {
15  *     "access" = "Drupal\entity_test\EntityTestAccessControlHandler",
16  *     "view_builder" = "Drupal\entity_test\EntityTestViewBuilder",
17  *     "form" = {
18  *       "default" = "Drupal\entity_test\EntityTestForm",
19  *       "delete" = "Drupal\entity_test\EntityTestDeleteForm"
20  *     },
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",
26  *     },
27  *   },
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,
32  *   entity_keys = {
33  *     "id" = "id",
34  *     "uuid" = "uuid",
35  *     "revision" = "revision_id",
36  *     "bundle" = "type",
37  *     "label" = "name",
38  *     "langcode" = "langcode",
39  *   },
40  *   links = {
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",
46  *   }
47  * )
48  */
49 class EntityTestRev extends EntityTest {
50
51   /**
52    * {@inheritdoc}
53    */
54   public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
55     $fields = parent::baseFieldDefinitions($entity_type);
56
57     $fields['name']->setRevisionable(TRUE);
58     $fields['user_id']->setRevisionable(TRUE);
59
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)
65       ->setCardinality(1)
66       ->setReadOnly(TRUE);
67
68     return $fields + \Drupal::state()->get($entity_type->id() . '.additional_base_field_definitions', []);
69   }
70
71 }