From faaaaae67c3a0efe23bbbd79dff414c9664de8fd Mon Sep 17 00:00:00 2001 From: Alex Pott Date: Mon, 5 Aug 2013 11:15:40 +0200 Subject: [PATCH] =?UTF-8?q?Issue=20#2045043=20by=20bechtold,=20vijaycs85,?= =?UTF-8?q?=20YesCT,=20G=C3=A1bor=20Hojtsy:=20Fixed=20Field=20listings=20o?= =?UTF-8?q?perations=20cannot=20be=20altered.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/Drupal/field_ui/FieldOverview.php | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php index d4c392ca6aaa..621c08dd85f4 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php @@ -9,6 +9,7 @@ namespace Drupal\field_ui; use Drupal\Core\Entity\EntityManager; use Drupal\Core\Entity\Field\FieldTypePluginManager; +use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\field_ui\OverviewBase; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\field\Plugin\Core\Entity\Field; @@ -25,6 +26,13 @@ class FieldOverview extends OverviewBase { */ protected $fieldTypeManager; + /** + * The module handler service. + * + * @var \Drupal\Core\Extension\ModuleHandlerInterface + */ + protected $moduleHandler; + /** * Constructs a new FieldOverview. * @@ -32,10 +40,13 @@ class FieldOverview extends OverviewBase { * The entity manager. * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager * The field type manager + * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler + * The module handler to invoke hooks on. */ - public function __construct(EntityManager $entity_manager, FieldTypePluginManager $field_type_manager) { - $this->entityManager = $entity_manager; + public function __construct(EntityManager $entity_manager, FieldTypePluginManager $field_type_manager, ModuleHandlerInterface $module_handler) { + parent::__construct($entity_manager); $this->fieldTypeManager = $field_type_manager; + $this->moduleHandler = $module_handler; } /** @@ -44,7 +55,8 @@ class FieldOverview extends OverviewBase { public static function create(ContainerInterface $container) { return new static( $container->get('plugin.manager.entity'), - $container->get('plugin.manager.entity.field.field_type') + $container->get('plugin.manager.entity.field.field_type'), + $container->get('module_handler') ); } @@ -142,6 +154,8 @@ class FieldOverview extends OverviewBase { 'href' => "$admin_field_path/delete", 'attributes' => array('title' => t('Delete instance.')), ); + // Allow altering the operations on this entity listing. + $this->moduleHandler->alter('entity_operation', $links, $instance); $table[$name]['operations']['data'] = array( '#type' => 'operations', '#links' => $links,