Chris@17: currentUser->hasPermission('administer media')) { Chris@17: $query->condition('status', 1); Chris@17: } Chris@17: return $query; Chris@17: } Chris@17: Chris@17: /** Chris@17: * {@inheritdoc} Chris@17: */ Chris@17: public function createNewEntity($entity_type_id, $bundle, $label, $uid) { Chris@17: $media = parent::createNewEntity($entity_type_id, $bundle, $label, $uid); Chris@17: Chris@17: // In order to create a referenceable media, it needs to published. Chris@17: /** @var \Drupal\media\MediaInterface $media */ Chris@17: $media->setPublished(); Chris@17: Chris@17: return $media; Chris@17: } Chris@17: Chris@17: /** Chris@17: * {@inheritdoc} Chris@17: */ Chris@17: public function validateReferenceableNewEntities(array $entities) { Chris@17: $entities = parent::validateReferenceableNewEntities($entities); Chris@17: // Mirror the conditions checked in buildEntityQuery(). Chris@17: if (!$this->currentUser->hasPermission('administer media')) { Chris@17: $entities = array_filter($entities, function ($media) { Chris@17: /** @var \Drupal\media\MediaInterface $media */ Chris@17: return $media->isPublished(); Chris@17: }); Chris@17: } Chris@17: return $entities; Chris@17: } Chris@17: Chris@17: }