Mercurial > hg > isophonics-drupal-site
comparison core/modules/media/src/Entity/Media.php @ 18:af1871eacc83
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:33:08 +0100 |
parents | 129ea1e6d783 |
children |
comparison
equal
deleted
inserted
replaced
17:129ea1e6d783 | 18:af1871eacc83 |
---|---|
8 use Drupal\Core\Field\BaseFieldDefinition; | 8 use Drupal\Core\Field\BaseFieldDefinition; |
9 use Drupal\Core\StringTranslation\StringTranslationTrait; | 9 use Drupal\Core\StringTranslation\StringTranslationTrait; |
10 use Drupal\media\MediaInterface; | 10 use Drupal\media\MediaInterface; |
11 use Drupal\media\MediaSourceEntityConstraintsInterface; | 11 use Drupal\media\MediaSourceEntityConstraintsInterface; |
12 use Drupal\media\MediaSourceFieldConstraintsInterface; | 12 use Drupal\media\MediaSourceFieldConstraintsInterface; |
13 use Drupal\user\UserInterface; | 13 use Drupal\user\EntityOwnerTrait; |
14 | 14 |
15 /** | 15 /** |
16 * Defines the media entity class. | 16 * Defines the media entity class. |
17 * | 17 * |
18 * @todo Remove default/fallback entity form operation when #2006348 is done. | 18 * @todo Remove default/fallback entity form operation when #2006348 is done. |
41 * "delete-multiple-confirm" = "Drupal\Core\Entity\Form\DeleteMultipleForm", | 41 * "delete-multiple-confirm" = "Drupal\Core\Entity\Form\DeleteMultipleForm", |
42 * }, | 42 * }, |
43 * "translation" = "Drupal\content_translation\ContentTranslationHandler", | 43 * "translation" = "Drupal\content_translation\ContentTranslationHandler", |
44 * "views_data" = "Drupal\media\MediaViewsData", | 44 * "views_data" = "Drupal\media\MediaViewsData", |
45 * "route_provider" = { | 45 * "route_provider" = { |
46 * "html" = "Drupal\Core\Entity\Routing\AdminHtmlRouteProvider", | 46 * "html" = "Drupal\media\Routing\MediaRouteProvider", |
47 * } | 47 * } |
48 * }, | 48 * }, |
49 * base_table = "media", | 49 * base_table = "media", |
50 * data_table = "media_field_data", | 50 * data_table = "media_field_data", |
51 * revision_table = "media_revision", | 51 * revision_table = "media_revision", |
58 * "bundle" = "bundle", | 58 * "bundle" = "bundle", |
59 * "label" = "name", | 59 * "label" = "name", |
60 * "langcode" = "langcode", | 60 * "langcode" = "langcode", |
61 * "uuid" = "uuid", | 61 * "uuid" = "uuid", |
62 * "published" = "status", | 62 * "published" = "status", |
63 * "owner" = "uid", | |
63 * }, | 64 * }, |
64 * revision_metadata_keys = { | 65 * revision_metadata_keys = { |
65 * "revision_user" = "revision_user", | 66 * "revision_user" = "revision_user", |
66 * "revision_created" = "revision_created", | 67 * "revision_created" = "revision_created", |
67 * "revision_log_message" = "revision_log_message", | 68 * "revision_log_message" = "revision_log_message", |
72 * field_ui_base_route = "entity.media_type.edit_form", | 73 * field_ui_base_route = "entity.media_type.edit_form", |
73 * common_reference_target = TRUE, | 74 * common_reference_target = TRUE, |
74 * links = { | 75 * links = { |
75 * "add-page" = "/media/add", | 76 * "add-page" = "/media/add", |
76 * "add-form" = "/media/add/{media_type}", | 77 * "add-form" = "/media/add/{media_type}", |
77 * "canonical" = "/media/{media}", | 78 * "canonical" = "/media/{media}/edit", |
78 * "collection" = "/admin/content/media", | 79 * "collection" = "/admin/content/media", |
79 * "delete-form" = "/media/{media}/delete", | 80 * "delete-form" = "/media/{media}/delete", |
80 * "delete-multiple-form" = "/media/delete", | 81 * "delete-multiple-form" = "/media/delete", |
81 * "edit-form" = "/media/{media}/edit", | 82 * "edit-form" = "/media/{media}/edit", |
82 * "revision" = "/media/{media}/revisions/{media_revision}/view", | 83 * "revision" = "/media/{media}/revisions/{media_revision}/view", |
83 * } | 84 * } |
84 * ) | 85 * ) |
85 */ | 86 */ |
86 class Media extends EditorialContentEntityBase implements MediaInterface { | 87 class Media extends EditorialContentEntityBase implements MediaInterface { |
87 | 88 |
89 use EntityOwnerTrait; | |
88 use StringTranslationTrait; | 90 use StringTranslationTrait; |
89 | 91 |
90 /** | 92 /** |
91 * {@inheritdoc} | 93 * {@inheritdoc} |
92 */ | 94 */ |
125 /** | 127 /** |
126 * {@inheritdoc} | 128 * {@inheritdoc} |
127 */ | 129 */ |
128 public function setCreatedTime($timestamp) { | 130 public function setCreatedTime($timestamp) { |
129 return $this->set('created', $timestamp); | 131 return $this->set('created', $timestamp); |
130 } | |
131 | |
132 /** | |
133 * {@inheritdoc} | |
134 */ | |
135 public function getOwner() { | |
136 return $this->get('uid')->entity; | |
137 } | |
138 | |
139 /** | |
140 * {@inheritdoc} | |
141 */ | |
142 public function setOwner(UserInterface $account) { | |
143 return $this->set('uid', $account->id()); | |
144 } | |
145 | |
146 /** | |
147 * {@inheritdoc} | |
148 */ | |
149 public function getOwnerId() { | |
150 return $this->get('uid')->target_id; | |
151 } | |
152 | |
153 /** | |
154 * {@inheritdoc} | |
155 */ | |
156 public function setOwnerId($uid) { | |
157 return $this->set('uid', $uid); | |
158 } | 132 } |
159 | 133 |
160 /** | 134 /** |
161 * {@inheritdoc} | 135 * {@inheritdoc} |
162 */ | 136 */ |
441 /** | 415 /** |
442 * {@inheritdoc} | 416 * {@inheritdoc} |
443 */ | 417 */ |
444 public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { | 418 public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { |
445 $fields = parent::baseFieldDefinitions($entity_type); | 419 $fields = parent::baseFieldDefinitions($entity_type); |
420 $fields += static::ownerBaseFieldDefinitions($entity_type); | |
446 | 421 |
447 $fields['name'] = BaseFieldDefinition::create('string') | 422 $fields['name'] = BaseFieldDefinition::create('string') |
448 ->setLabel(t('Name')) | 423 ->setLabel(t('Name')) |
449 ->setRequired(TRUE) | 424 ->setRequired(TRUE) |
450 ->setTranslatable(TRUE) | 425 ->setTranslatable(TRUE) |
472 ], | 447 ], |
473 ]) | 448 ]) |
474 ->setDisplayConfigurable('view', TRUE) | 449 ->setDisplayConfigurable('view', TRUE) |
475 ->setReadOnly(TRUE); | 450 ->setReadOnly(TRUE); |
476 | 451 |
477 $fields['uid'] = BaseFieldDefinition::create('entity_reference') | 452 $fields['uid'] |
478 ->setLabel(t('Authored by')) | 453 ->setLabel(t('Authored by')) |
479 ->setDescription(t('The user ID of the author.')) | 454 ->setDescription(t('The user ID of the author.')) |
480 ->setRevisionable(TRUE) | 455 ->setRevisionable(TRUE) |
481 ->setDefaultValueCallback(static::class . '::getCurrentUserId') | |
482 ->setSetting('target_type', 'user') | |
483 ->setTranslatable(TRUE) | |
484 ->setDisplayOptions('form', [ | 456 ->setDisplayOptions('form', [ |
485 'type' => 'entity_reference_autocomplete', | 457 'type' => 'entity_reference_autocomplete', |
486 'weight' => 5, | 458 'weight' => 5, |
487 'settings' => [ | 459 'settings' => [ |
488 'match_operator' => 'CONTAINS', | 460 'match_operator' => 'CONTAINS', |
539 /** | 511 /** |
540 * Default value callback for 'uid' base field definition. | 512 * Default value callback for 'uid' base field definition. |
541 * | 513 * |
542 * @see ::baseFieldDefinitions() | 514 * @see ::baseFieldDefinitions() |
543 * | 515 * |
516 * @deprecated The ::getCurrentUserId method is deprecated in 8.6.x and will | |
517 * be removed before 9.0.0. | |
518 * | |
544 * @return int[] | 519 * @return int[] |
545 * An array of default values. | 520 * An array of default values. |
546 */ | 521 */ |
547 public static function getCurrentUserId() { | 522 public static function getCurrentUserId() { |
523 @trigger_error('The ::getCurrentUserId method is deprecated in 8.6.x and will be removed before 9.0.0.', E_USER_DEPRECATED); | |
548 return [\Drupal::currentUser()->id()]; | 524 return [\Drupal::currentUser()->id()]; |
549 } | 525 } |
550 | 526 |
551 /** | 527 /** |
552 * {@inheritdoc} | 528 * {@inheritdoc} |