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}