Skip to content
Snippets Groups Projects
Commit cae20a01 authored by Stephen Mustgrave's avatar Stephen Mustgrave
Browse files

Revert "Issue #3385382: Add Support for Media Revisions"

parent 179da8a8
Branches 8.x-1.x
Tags 1.2.0
1 merge request!31Revert "Issue #3385382: Add Support for Media Revisions"
Pipeline #40539 passed with warnings
......@@ -5,17 +5,14 @@ namespace Drupal\media_alias_display\Controller;
use Drupal\Core\Cache\CacheableMetadata;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Config\ImmutableConfig;
use Drupal\Core\Datetime\DateFormatterInterface;
use Drupal\Core\Entity\Controller\EntityRevisionViewController;
use Drupal\Core\Entity\Controller\EntityViewController;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Entity\RevisionableInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Logger\LoggerChannelInterface;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\StreamWrapper\StreamWrapperManagerInterface;
use Drupal\Core\StringTranslation\TranslationInterface;
use Drupal\file\FileInterface;
use Drupal\media\MediaInterface;
use Drupal\media\Plugin\media\Source\File as FileMediaSource;
......@@ -29,7 +26,7 @@ use Symfony\Component\HttpFoundation\ResponseHeaderBag;
/**
* Defines a controller to render a file with Media Alias being used.
*/
class DisplayController extends EntityRevisionViewController {
class DisplayController extends EntityViewController {
/**
* The current user.
......@@ -76,14 +73,10 @@ class DisplayController extends EntityRevisionViewController {
/**
* The controller constructor.
*
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\Entity\EntityRepositoryInterface $entityRepository
* The entity repository.
* @param \Drupal\Core\Datetime\DateFormatterInterface $dateFormatter
* The date formatter.
* @param \Drupal\Core\StringTranslation\TranslationInterface $translation
* The string translation manager.
* @param \Drupal\Core\Render\RendererInterface $renderer
* The renderer service.
* @param \Drupal\Core\Session\AccountInterface $current_user
* Current user.
* @param \Drupal\Core\Logger\LoggerChannelInterface $logger
......@@ -97,10 +90,8 @@ class DisplayController extends EntityRevisionViewController {
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler.
*/
public function __construct(EntityTypeManagerInterface $entityTypeManager,
EntityRepositoryInterface $entityRepository,
DateFormatterInterface $dateFormatter,
TranslationInterface $translation,
public function __construct(EntityTypeManagerInterface $entity_type_manager,
RendererInterface $renderer,
AccountInterface $current_user,
LoggerChannelInterface $logger,
Request $request_stack,
......@@ -108,7 +99,7 @@ class DisplayController extends EntityRevisionViewController {
StreamWrapperManagerInterface $stream_wrapper_manager,
ModuleHandlerInterface $module_handler
) {
parent::__construct($entityTypeManager, $entityRepository, $dateFormatter, $translation);
parent::__construct($entity_type_manager, $renderer);
$this->currentUser = $current_user;
$this->logger = $logger;
$this->request = $request_stack;
......@@ -123,9 +114,7 @@ class DisplayController extends EntityRevisionViewController {
public static function create(ContainerInterface $container) {
return new static(
$container->get('entity_type.manager'),
$container->get('entity.repository'),
$container->get('date.formatter'),
$container->get('string_translation'),
$container->get('renderer'),
$container->get('current_user'),
$container->get('logger.factory')->get('media_alias_display'),
$container->get('request_stack')->getCurrentRequest(),
......@@ -136,31 +125,14 @@ class DisplayController extends EntityRevisionViewController {
}
/**
* Render the current revision.
*
* Difference between this and viewRevision is first object passed in.
* {@inheritdoc}
*/
public function view(EntityInterface $media, $view_mode = 'full', $langcode = NULL) {
assert($media instanceof MediaInterface);
return $this->check($media, $view_mode, $langcode);
}
/**
* Using EntityRevisionViewController render the Media revision.
*/
public function viewRevision(RevisionableInterface $_entity_revision, $view_mode = 'full', $langcode = NULL) {
assert($_entity_revision instanceof MediaInterface);
return $this->check($_entity_revision, $view_mode, $langcode);
}
/**
* Bulk of the Media Alias Display module.
*/
private function check($media, $view_mode = 'full', $langcode = NULL) {
$config = $this->configManager->get('media_alias_display.settings');
if (!empty($config->get('kill_switch')) && $config->get('kill_switch')) {
return $this->updateRenderCache(parent::__invoke($media, $view_mode), $config);
return $this->updateRenderCache(parent::view($media, $view_mode), $config);
}
$media_bundle = $media->bundle();
......@@ -175,7 +147,7 @@ class DisplayController extends EntityRevisionViewController {
}
if (!$allow_all_bundles && isset($allowed_bundles[$media_bundle]) && empty($allowed_bundles[$media_bundle])) {
return $this->updateRenderCache(parent::__invoke($media, $view_mode), $config);
return $this->updateRenderCache(parent::view($media, $view_mode), $config);
}
}
......@@ -194,7 +166,7 @@ class DisplayController extends EntityRevisionViewController {
) {
$override_module = $media->get('field_override_mad_module')->value;
if (isset($override_module) && $override_module) {
return $this->updateRenderCache(parent::__invoke($media, $view_mode), $config);
return $this->updateRenderCache(parent::view($media, $view_mode), $config);
}
}
......@@ -206,7 +178,7 @@ class DisplayController extends EntityRevisionViewController {
->notice('Media item "@media_entity_id" does not have a file media source', [
'@media_entity_id' => $media->id(),
]);
return $this->updateRenderCache(parent::__invoke($media, $view_mode), $config);
return $this->updateRenderCache(parent::view($media, $view_mode), $config);
}
$file = $media->get($source->getConfiguration()['source_field'])->entity;
......@@ -217,7 +189,7 @@ class DisplayController extends EntityRevisionViewController {
->notice('Media item "@media_entity_id" does not have a file entity attached', [
'@media_entity_id' => $media->id(),
]);
return $this->updateRenderCache(parent::__invoke($media, $view_mode), $config);
return $this->updateRenderCache(parent::view($media, $view_mode), $config);
}
assert($file instanceof FileInterface);
......@@ -230,7 +202,7 @@ class DisplayController extends EntityRevisionViewController {
->notice('File attached to Media item "@media_entity_id" does not exist on disk', [
'@media_entity_id' => $media->id(),
]);
return $this->updateRenderCache(parent::__invoke($media, $view_mode), $config);
return $this->updateRenderCache(parent::view($media, $view_mode), $config);
}
$response = new BinaryFileResponse($uri, Response::HTTP_OK, [], $scheme !== 'private');
......
......@@ -20,12 +20,6 @@ class RouteSubscriber extends RouteSubscriberBase {
'_controller' => '\Drupal\media_alias_display\Controller\DisplayController::view',
]);
}
if ($route = $collection->get('entity.media.revision')) {
$route->setDefaults([
'_controller' => '\Drupal\media_alias_display\Controller\DisplayController::viewRevision',
]);
}
}
}
......@@ -163,15 +163,6 @@ class MediaAliasDisplayControllerTest extends MediaFunctionalTestBase {
$assert_session->statusCodeEquals(200);
$assert_session->responseHeaderContains('Content-Type', $media_file->getMimeType());
// Test a revision.
$vid = $media->id();
$media->setName($this->randomMachineName());
$media->setNewRevision();
$media->save();
$this->drupalGet('media/' . $media->id() . '/revisions/' . $vid . '/view');
$assert_session->statusCodeEquals(200);
$assert_session->responseHeaderContains('Content-Type', $media_file->getMimeType());
// Test when the kill switch is enabled.
\Drupal::configFactory()
->getEditable('media_alias_display.settings')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment