Commit 29e5277a authored by catch's avatar catch

Issue #3038926 by Berdir: Add @trigger_error() to deprecated...

Issue #3038926 by Berdir: Add @trigger_error() to deprecated EntityManager->EntityDisplayRepository methods
parent 4b188443
......@@ -445,6 +445,7 @@ public function getCanonicalMultiple($entity_type_id, array $entity_ids, array $
* @see https://www.drupal.org/node/2549139
*/
public function getAllViewModes() {
@trigger_error('EntityManagerInterface::getAllViewModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getAllViewModes() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getAllViewModes();
}
......@@ -458,6 +459,7 @@ public function getAllViewModes() {
* @see https://www.drupal.org/node/2549139
*/
public function getViewModes($entity_type_id) {
@trigger_error('EntityManagerInterface::getViewModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModes() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getViewModes($entity_type_id);
}
......@@ -471,6 +473,7 @@ public function getViewModes($entity_type_id) {
* @see https://www.drupal.org/node/2549139
*/
public function getAllFormModes() {
@trigger_error('EntityManagerInterface::getAllFormModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getAllFormModes() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getAllFormModes();
}
......@@ -484,6 +487,7 @@ public function getAllFormModes() {
* @see https://www.drupal.org/node/2549139
*/
public function getFormModes($entity_type_id) {
@trigger_error('EntityManagerInterface::getFormModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModes() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getFormModes($entity_type_id);
}
......@@ -497,6 +501,7 @@ public function getFormModes($entity_type_id) {
* @see https://www.drupal.org/node/2549139
*/
public function getViewModeOptions($entity_type_id) {
@trigger_error('EntityManagerInterface::getViewModeOptions() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModeOptions() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getViewModeOptions($entity_type_id);
}
......@@ -510,6 +515,7 @@ public function getViewModeOptions($entity_type_id) {
* @see https://www.drupal.org/node/2549139
*/
public function getFormModeOptions($entity_type_id) {
@trigger_error('EntityManagerInterface::getFormModeOptions() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModeOptions() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getFormModeOptions($entity_type_id);
}
......@@ -523,6 +529,7 @@ public function getFormModeOptions($entity_type_id) {
* @see https://www.drupal.org/node/2549139
*/
public function getViewModeOptionsByBundle($entity_type_id, $bundle) {
@trigger_error('EntityManagerInterface::getViewModeOptionsByBundle() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModeOptionsByBundle() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getViewModeOptionsByBundle($entity_type_id, $bundle);
}
......@@ -536,6 +543,7 @@ public function getViewModeOptionsByBundle($entity_type_id, $bundle) {
* @see https://www.drupal.org/node/2549139
*/
public function getFormModeOptionsByBundle($entity_type_id, $bundle) {
@trigger_error('EntityManagerInterface::getFormModeOptionsByBundle() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModeOptionsByBundle() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
return $this->container->get('entity_display.repository')->getFormModeOptionsByBundle($entity_type_id, $bundle);
}
......@@ -549,6 +557,7 @@ public function getFormModeOptionsByBundle($entity_type_id, $bundle) {
* @see https://www.drupal.org/node/2549139
*/
public function clearDisplayModeInfo() {
@trigger_error('EntityManagerInterface::clearDisplayModeInfo() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::clearDisplayModeInfo() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
$this->container->get('entity_display.repository')->clearDisplayModeInfo();
}
......
......@@ -3,9 +3,11 @@
namespace Drupal\comment\Plugin\Field\FieldFormatter;
use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait;
use Drupal\Core\Entity\Entity\EntityViewDisplay;
use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityFormBuilderInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Session\AccountInterface;
......@@ -31,6 +33,12 @@
* )
*/
class CommentDefaultFormatter extends FormatterBase implements ContainerFactoryPluginInterface {
use DeprecatedServicePropertyTrait;
/**
* {@inheritdoc}
*/
protected $deprecatedProperties = ['entityManager' => 'entity.manager'];
/**
* {@inheritdoc}
......@@ -64,11 +72,11 @@ public static function defaultSettings() {
protected $viewBuilder;
/**
* The entity manager.
* The entity display repository.
*
* @var \Drupal\Core\Entity\EntityManagerInterface
* @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface
*/
protected $entityManager;
protected $entityDisplayRepository;
/**
* The entity form builder.
......@@ -95,9 +103,10 @@ public static function create(ContainerInterface $container, array $configuratio
$configuration['view_mode'],
$configuration['third_party_settings'],
$container->get('current_user'),
$container->get('entity.manager'),
$container->get('entity_type.manager'),
$container->get('entity.form_builder'),
$container->get('current_route_match')
$container->get('current_route_match'),
$container->get('entity_display.repository')
);
}
......@@ -120,21 +129,27 @@ public static function create(ContainerInterface $container, array $configuratio
* Third party settings.
* @param \Drupal\Core\Session\AccountInterface $current_user
* The current user.
* @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
* The entity manager
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\Entity\EntityFormBuilderInterface $entity_form_builder
* The entity form builder.
* @param \Drupal\Core\Routing\RouteMatchInterface $route_match
* The route match object.
* @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
* The entity display repository.
*/
public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, EntityManagerInterface $entity_manager, EntityFormBuilderInterface $entity_form_builder, RouteMatchInterface $route_match) {
public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, EntityTypeManagerInterface $entity_type_manager, EntityFormBuilderInterface $entity_form_builder, RouteMatchInterface $route_match, EntityDisplayRepositoryInterface $entity_display_repository = NULL) {
parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings);
$this->viewBuilder = $entity_manager->getViewBuilder('comment');
$this->storage = $entity_manager->getStorage('comment');
$this->viewBuilder = $entity_type_manager->getViewBuilder('comment');
$this->storage = $entity_type_manager->getStorage('comment');
$this->currentUser = $current_user;
$this->entityManager = $entity_manager;
$this->entityFormBuilder = $entity_form_builder;
$this->routeMatch = $route_match;
if (!$entity_display_repository) {
@trigger_error('Calling RssPluginBase::__construct() with the $entity_repository argument is supported in drupal:8.7.0 and will be required before drupal:9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
$entity_display_repository = \Drupal::service('entity_display.repository');
}
$this->entityDisplayRepository = $entity_display_repository;
}
/**
......@@ -280,7 +295,7 @@ public function calculateDependencies() {
* as value.
*/
protected function getViewModes() {
return $this->entityManager->getViewModeOptionsByBundle('comment', $this->getFieldSetting('comment_type'));
return $this->entityDisplayRepository->getViewModeOptionsByBundle('comment', $this->getFieldSetting('comment_type'));
}
}
......@@ -46,7 +46,7 @@ public function preRender($result) {
$cids[] = $row->cid;
}
$this->comments = $this->entityManager->getStorage('comment')->loadMultiple($cids);
$this->comments = $this->entityTypeManager->getStorage('comment')->loadMultiple($cids);
}
/**
......@@ -99,7 +99,7 @@ public function render($row) {
// The comment gets built and modules add to or modify
// $comment->rss_elements and $comment->rss_namespaces.
$build = $this->entityManager->getViewBuilder('comment')->view($comment, 'rss');
$build = $this->entityTypeManager->getViewBuilder('comment')->view($comment, 'rss');
unset($build['#theme']);
if (!empty($comment->rss_namespaces)) {
......
......@@ -35,6 +35,7 @@
*/
public function addDefaultCommentField($entity_type, $bundle, $field_name = 'comment', $default_value = CommentItemInterface::OPEN, $comment_type_id = 'comment', $comment_view_mode = 'full') {
$entity_manager = \Drupal::entityManager();
$entity_display_repository = \Drupal::service('entity_display.repository');
// Create the comment type if needed.
$comment_type_storage = $entity_manager->getStorage('comment_type');
if ($comment_type = $comment_type_storage->load($comment_type_id)) {
......@@ -94,7 +95,7 @@ public function addDefaultCommentField($entity_type, $bundle, $field_name = 'com
'weight' => 20,
])
->save();
foreach ($entity_manager->getFormModes($entity_type) as $id => $form_mode) {
foreach ($entity_display_repository->getFormModes($entity_type) as $id => $form_mode) {
$display = entity_get_form_display($entity_type, $bundle, $id);
// Only update existing displays.
if ($display && !$display->isNew()) {
......@@ -112,7 +113,7 @@ public function addDefaultCommentField($entity_type, $bundle, $field_name = 'com
'settings' => ['view_mode' => $comment_view_mode],
])
->save();
foreach ($entity_manager->getViewModes($entity_type) as $id => $view_mode) {
foreach ($entity_display_repository->getViewModes($entity_type) as $id => $view_mode) {
$display = entity_get_display($entity_type, $bundle, $id);
// Only update existing displays.
if ($display && !$display->isNew()) {
......
......@@ -2,7 +2,9 @@
namespace Drupal\field_ui\Plugin\Derivative;
use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Component\Plugin\Derivative\DeriverBase;
use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
use Drupal\Core\Routing\RouteProviderInterface;
......@@ -15,6 +17,12 @@
*/
class FieldUiLocalTask extends DeriverBase implements ContainerDeriverInterface {
use StringTranslationTrait;
use DeprecatedServicePropertyTrait;
/**
* {@inheritdoc}
*/
protected $deprecatedProperties = ['entityManager' => 'entity.manager'];
/**
* The route provider.
......@@ -24,26 +32,40 @@ class FieldUiLocalTask extends DeriverBase implements ContainerDeriverInterface
protected $routeProvider;
/**
* The entity manager
* The entity type manager.
*
* @var \Drupal\Core\Entity\EntityManagerInterface
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected $entityManager;
protected $entityTypeManager;
/**
* The entity display repository.
*
* @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface
*/
protected $entityDisplayRepository;
/**
* Creates an FieldUiLocalTask object.
*
* @param \Drupal\Core\Routing\RouteProviderInterface $route_provider
* The route provider.
* @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
* The entity manager.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* The translation manager.
* @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
* The entity display repository.
*/
public function __construct(RouteProviderInterface $route_provider, EntityManagerInterface $entity_manager, TranslationInterface $string_translation) {
public function __construct(RouteProviderInterface $route_provider, EntityTypeManagerInterface $entity_type_manager, TranslationInterface $string_translation, EntityDisplayRepositoryInterface $entity_display_repository = NULL) {
$this->routeProvider = $route_provider;
$this->entityManager = $entity_manager;
$this->entityTypeManager = $entity_type_manager;
$this->stringTranslation = $string_translation;
if (!$entity_display_repository) {
@trigger_error('Calling FieldUiLocalTask::__construct() with the $entity_repository argument is supported in drupal:8.7.0 and will be required before drupal:9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
$entity_display_repository = \Drupal::service('entity_display.repository');
}
$this->entityDisplayRepository = $entity_display_repository;
}
/**
......@@ -52,8 +74,9 @@ public function __construct(RouteProviderInterface $route_provider, EntityManage
public static function create(ContainerInterface $container, $base_plugin_id) {
return new static(
$container->get('router.route_provider'),
$container->get('entity.manager'),
$container->get('string_translation')
$container->get('entity_type.manager'),
$container->get('string_translation'),
$container->get('entity_display.repository')
);
}
......@@ -63,7 +86,7 @@ public static function create(ContainerInterface $container, $base_plugin_id) {
public function getDerivativeDefinitions($base_plugin_definition) {
$this->derivatives = [];
foreach ($this->entityManager->getDefinitions() as $entity_type_id => $entity_type) {
foreach ($this->entityTypeManager->getDefinitions() as $entity_type_id => $entity_type) {
if ($entity_type->get('field_ui_base_route')) {
$this->derivatives["overview_$entity_type_id"] = [
'route_name' => "entity.$entity_type_id.field_ui_fields",
......@@ -124,7 +147,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
// One local task for each form mode.
$weight = 0;
foreach ($this->entityManager->getFormModes($entity_type_id) as $form_mode => $form_mode_info) {
foreach ($this->entityDisplayRepository->getFormModes($entity_type_id) as $form_mode => $form_mode_info) {
$this->derivatives['field_form_display_' . $form_mode . '_' . $entity_type_id] = [
'title' => $form_mode_info['label'],
'route_name' => "entity.entity_form_display.$entity_type_id.form_mode",
......@@ -133,13 +156,13 @@ public function getDerivativeDefinitions($base_plugin_definition) {
],
'parent_id' => "field_ui.fields:form_display_overview_$entity_type_id",
'weight' => $weight++,
'cache_tags' => $this->entityManager->getDefinition('entity_form_display')->getListCacheTags(),
'cache_tags' => $this->entityTypeManager->getDefinition('entity_form_display')->getListCacheTags(),
];
}
// One local task for each view mode.
$weight = 0;
foreach ($this->entityManager->getViewModes($entity_type_id) as $view_mode => $form_mode_info) {
foreach ($this->entityDisplayRepository->getViewModes($entity_type_id) as $view_mode => $form_mode_info) {
$this->derivatives['field_display_' . $view_mode . '_' . $entity_type_id] = [
'title' => $form_mode_info['label'],
'route_name' => "entity.entity_view_display.$entity_type_id.view_mode",
......@@ -148,7 +171,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
],
'parent_id' => "field_ui.fields:display_overview_$entity_type_id",
'weight' => $weight++,
'cache_tags' => $this->entityManager->getDefinition('entity_view_display')->getListCacheTags(),
'cache_tags' => $this->entityTypeManager->getDefinition('entity_view_display')->getListCacheTags(),
];
}
}
......@@ -168,7 +191,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
* An array of local tasks plugin definitions, keyed by plugin ID.
*/
public function alterLocalTasks(&$local_tasks) {
foreach ($this->entityManager->getDefinitions() as $entity_type_id => $entity_type) {
foreach ($this->entityTypeManager->getDefinitions() as $entity_type_id => $entity_type) {
if ($route_name = $entity_type->get('field_ui_base_route')) {
$local_tasks["field_ui.fields:overview_$entity_type_id"]['base_route'] = $route_name;
$local_tasks["field_ui.fields:form_display_overview_$entity_type_id"]['base_route'] = $route_name;
......@@ -176,11 +199,11 @@ public function alterLocalTasks(&$local_tasks) {
$local_tasks["field_ui.fields:field_form_display_default_$entity_type_id"]['base_route'] = $route_name;
$local_tasks["field_ui.fields:field_display_default_$entity_type_id"]['base_route'] = $route_name;
foreach ($this->entityManager->getFormModes($entity_type_id) as $form_mode => $form_mode_info) {
foreach ($this->entityDisplayRepository->getFormModes($entity_type_id) as $form_mode => $form_mode_info) {
$local_tasks['field_ui.fields:field_form_display_' . $form_mode . '_' . $entity_type_id]['base_route'] = $route_name;
}
foreach ($this->entityManager->getViewModes($entity_type_id) as $view_mode => $form_mode_info) {
foreach ($this->entityDisplayRepository->getViewModes($entity_type_id) as $view_mode => $form_mode_info) {
$local_tasks['field_ui.fields:field_display_' . $view_mode . '_' . $entity_type_id]['base_route'] = $route_name;
}
}
......
......@@ -497,17 +497,17 @@ public function testGetDisplayModeOptions() {
$form_display_teaser->save();
// Test getViewModeOptionsByBundle().
$view_modes = \Drupal::entityManager()->getViewModeOptionsByBundle('node', 'article');
$view_modes = \Drupal::service('entity_display.repository')->getViewModeOptionsByBundle('node', 'article');
$this->assertEqual($view_modes, ['default' => 'Default']);
$display_teaser->setStatus(TRUE)->save();
$view_modes = \Drupal::entityManager()->getViewModeOptionsByBundle('node', 'article');
$view_modes = \Drupal::service('entity_display.repository')->getViewModeOptionsByBundle('node', 'article');
$this->assertEqual($view_modes, ['default' => 'Default', 'teaser' => 'Teaser']);
// Test getFormModeOptionsByBundle().
$form_modes = \Drupal::entityManager()->getFormModeOptionsByBundle('user', 'user');
$form_modes = \Drupal::service('entity_display.repository')->getFormModeOptionsByBundle('user', 'user');
$this->assertEqual($form_modes, ['default' => 'Default']);
$form_display_teaser->setStatus(TRUE)->save();
$form_modes = \Drupal::entityManager()->getFormModeOptionsByBundle('user', 'user');
$form_modes = \Drupal::service('entity_display.repository')->getFormModeOptionsByBundle('user', 'user');
$this->assertEqual($form_modes, ['default' => 'Default', 'register' => 'Register']);
}
......
......@@ -384,7 +384,7 @@ function node_add_body_field(NodeTypeInterface $type, $label = 'Body') {
// The teaser view mode is created by the Standard profile and therefore
// might not exist.
$view_modes = \Drupal::entityManager()->getViewModes('node');
$view_modes = \Drupal::service('entity_display.repository')->getViewModes('node');
if (isset($view_modes['teaser'])) {
entity_get_display('node', $type->id(), 'teaser')
->setComponent('body', [
......
......@@ -2,7 +2,8 @@
namespace Drupal\node\Plugin\views\row;
use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\views\Plugin\views\row\RssPluginBase;
/**
......@@ -50,12 +51,14 @@ class Rss extends RssPluginBase {
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
* The entity manager.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
* The entity display repository.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityManagerInterface $entity_manager) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_manager);
$this->nodeStorage = $entity_manager->getStorage('node');
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityDisplayRepositoryInterface $entity_display_repository = NULL) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $entity_display_repository);
$this->nodeStorage = $entity_type_manager->getStorage('node');
}
/**
......
......@@ -2,7 +2,9 @@
namespace Drupal\views\Plugin\views\row;
use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
......@@ -11,12 +13,26 @@
*/
abstract class RssPluginBase extends RowPluginBase {
use DeprecatedServicePropertyTrait;
/**
* {@inheritdoc}
*/
protected $deprecatedProperties = ['entityManager' => 'entity.manager'];
/**
* The entity manager.
*
* @var \Drupal\Core\Entity\EntityManagerInterface
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected $entityManager;
protected $entityTypeManager;
/**
* The entity display repository.
*
* @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface
*/
protected $entityDisplayRepository;
/**
* Constructs a RssPluginBase object.
......@@ -27,13 +43,20 @@
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
* The entity manager.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
* The entity display repository.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityManagerInterface $entity_manager) {
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityDisplayRepositoryInterface $entity_display_repository = NULL) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->entityManager = $entity_manager;
$this->entityTypeManager = $entity_type_manager;
if (!$entity_display_repository) {
@trigger_error('Calling RssPluginBase::__construct() with the $entity_repository argument is supported in drupal:8.7.0 and will be required before drupal:9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
$entity_display_repository = \Drupal::service('entity_display.repository');
}
$this->entityDisplayRepository = $entity_display_repository;
}
/**
......@@ -44,7 +67,8 @@ public static function create(ContainerInterface $container, array $configuratio
$configuration,
$plugin_id,
$plugin_definition,
$container->get('entity.manager')
$container->get('entity_type.manager'),
$container->get('entity_display.repository')
);
}
......@@ -84,7 +108,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
* Return the main options, which are shown in the summary title.
*/
public function buildOptionsForm_summary_options() {
$view_modes = $this->entityManager->getViewModes($this->entityTypeId);
$view_modes = $this->entityDisplayRepository->getViewModes($this->entityTypeId);
$options = [];
foreach ($view_modes as $mode => $settings) {
$options[$mode] = $settings['label'];
......@@ -98,7 +122,7 @@ public function buildOptionsForm_summary_options() {
public function calculateDependencies() {
$dependencies = parent::calculateDependencies();
$view_mode = $this->entityManager
$view_mode = $this->entityTypeManager
->getStorage('entity_view_mode')
->load($this->entityTypeId . '.' . $this->options['view_mode']);
if ($view_mode) {
......
......@@ -3,6 +3,7 @@
namespace Drupal\Tests\Core\Entity;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityFieldManagerInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface;
......@@ -42,6 +43,13 @@ class EntityManagerTest extends UnitTestCase {
*/
protected $entityTypeRepository;
/**
* The entity display repository.
*
* @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface|\Prophecy\Prophecy\ProphecyInterface
*/
protected $entityDisplayRepository;
/**
* The entity type bundle info.
*
......@@ -81,6 +89,7 @@ protected function setUp() {
$this->entityTypeBundleInfo = $this->prophesize(EntityTypeBundleInfoInterface::class);
$this->entityFieldManager = $this->prophesize(EntityFieldManagerInterface::class);
$this->entityRepository = $this->prophesize(EntityRepositoryInterface::class);
$this->entityDisplayRepository = $this->prophesize(EntityDisplayRepositoryInterface::class);
$this->entityLastInstalledSchemaRepository = $this->prophesize(EntityLastInstalledSchemaRepositoryInterface::class);
$container = new ContainerBuilder();
......@@ -89,6 +98,7 @@ protected function setUp() {
$container->set('entity_type.bundle.info', $this->entityTypeBundleInfo->reveal());
$container->set('entity_field.manager', $this->entityFieldManager->reveal());
$container->set('entity.repository', $this->entityRepository->reveal());
$container->set('entity_display.repository', $this->entityDisplayRepository->reveal());
$container->set('entity.last_installed_schema.repository', $this->entityLastInstalledSchemaRepository->reveal());
$this->entityManager = new EntityManager();
......@@ -234,6 +244,114 @@ public function testGetLastInstalledFieldStorageDefinitions() {
$this->assertEquals([], $this->entityManager->getLastInstalledFieldStorageDefinitions($entity_type_id));
}
/**
* Tests the getAllViewModes() method.
*
* @covers ::getAllViewModes
*
* @expectedDeprecation EntityManagerInterface::getAllViewModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getAllViewModes() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetAllViewModes() {
$this->entityDisplayRepository->getAllViewModes()->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getAllViewModes());
}
/**
* Tests the getViewModes() method.
*
* @covers ::getViewModes
*
* @expectedDeprecation EntityManagerInterface::getViewModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModes() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetViewModes() {
$this->entityDisplayRepository->getViewModes('entity_type')->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getViewModes('entity_type'));
}
/**
* Tests the getViewModeOptions() method.
*
* @covers ::getViewModeOptions
*
* @expectedDeprecation EntityManagerInterface::getViewModeOptions() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModeOptions() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetViewModeOptions() {
$this->entityDisplayRepository->getViewModeOptions('entity_type')->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getViewModeOptions('entity_type'));
}
/**
* Tests the getViewModeOptionsByBundle() method.
*
* @covers ::getViewModeOptionsByBundle
*
* @expectedDeprecation EntityManagerInterface::getViewModeOptionsByBundle() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModeOptionsByBundle() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetViewModeOptionsByBundle() {
$this->entityDisplayRepository->getViewModeOptionsByBundle('entity_type', 'bundle')->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getViewModeOptionsByBundle('entity_type', 'bundle'));
}
/**
* Tests the getAllFormModes() method.
*
* @covers ::getAllFormModes
*
* @expectedDeprecation EntityManagerInterface::getAllFormModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getAllFormModes() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetAllFormModes() {
$this->entityDisplayRepository->getAllFormModes()->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getAllFormModes());
}
/**
* Tests the getFormModes() method.
*
* @covers ::getFormModes
*
* @expectedDeprecation EntityManagerInterface::getFormModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModes() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetFormModes() {
$this->entityDisplayRepository->getFormModes('entity_type')->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getFormModes('entity_type'));
}
/**
* Tests the getFormModeOptions() method.
*
* @covers ::getFormModeOptions
*
* @expectedDeprecation EntityManagerInterface::getFormModeOptions() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModeOptions() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetFormModeOptions() {
$this->entityDisplayRepository->getFormModeOptions('entity_type')->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getFormModeOptions('entity_type'));
}
/**
* Tests the getFormModeOptionsByBundle() method.
*
* @covers ::getFormModeOptionsByBundle
*
* @expectedDeprecation EntityManagerInterface::getFormModeOptionsByBundle() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModeOptionsByBundle() instead. See https://www.drupal.org/node/2549139.
*/
public function testGetFormModeOptionsByBundle() {
$this->entityDisplayRepository->getFormModeOptionsByBundle('entity_type', 'bundle')->shouldBeCalled()->willReturn([]);
$this->assertEquals([], $this->entityManager->getFormModeOptionsByBundle('entity_type', 'bundle'));
}
/**
* Tests the clearDisplayModeInfo() method.
*
* @covers ::clearDisplayModeInfo
*
* @expectedDeprecation EntityManagerInterface::clearDisplayModeInfo() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::clearDisplayModeInfo() instead. See https://www.drupal.org/node/2549139.
*/
public function testClearDisplayModeInfo() {
$this->entityDisplayRepository->clearDisplayModeInfo()->shouldBeCalled()->willReturn([]);
$this->entityManager->clearDisplayModeInfo();
}
/**
* Tests the useCaches() method.
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment