Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
D
drupal
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Custom Issue Tracker
Custom Issue Tracker
Labels
Merge Requests
300
Merge Requests
300
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Analytics
Analytics
Code Review
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
project
drupal
Commits
24526aed
Commit
24526aed
authored
Mar 26, 2014
by
catch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Issue
#2165725
by Xano: Introduce hook_entity_operation()."
This reverts commit
2cf87103
.
parent
2fe3785c
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
71 additions
and
191 deletions
+71
-191
core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php
...lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php
+2
-3
core/lib/Drupal/Core/Entity/EntityListBuilder.php
core/lib/Drupal/Core/Entity/EntityListBuilder.php
+5
-21
core/modules/action/lib/Drupal/action/ActionListBuilder.php
core/modules/action/lib/Drupal/action/ActionListBuilder.php
+2
-2
core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockListBuilder.php
..._block/lib/Drupal/custom_block/CustomBlockListBuilder.php
+2
-2
core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockTypeListBuilder.php
...ck/lib/Drupal/custom_block/CustomBlockTypeListBuilder.php
+2
-2
core/modules/block/lib/Drupal/block/BlockListBuilder.php
core/modules/block/lib/Drupal/block/BlockListBuilder.php
+2
-2
core/modules/config_translation/config_translation.module
core/modules/config_translation/config_translation.module
+2
-5
core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationEntityListBuilder.php
...slation/Controller/ConfigTranslationEntityListBuilder.php
+4
-4
core/modules/field/lib/Drupal/field/Entity/FieldInstanceConfig.php
...les/field/lib/Drupal/field/Entity/FieldInstanceConfig.php
+0
-1
core/modules/field_ui/field_ui.module
core/modules/field_ui/field_ui.module
+2
-5
core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
+16
-4
core/modules/filter/lib/Drupal/filter/FilterFormatListBuilder.php
...ules/filter/lib/Drupal/filter/FilterFormatListBuilder.php
+2
-2
core/modules/image/lib/Drupal/image/ImageStyleListBuilder.php
.../modules/image/lib/Drupal/image/ImageStyleListBuilder.php
+2
-2
core/modules/language/lib/Drupal/language/LanguageListBuilder.php
...ules/language/lib/Drupal/language/LanguageListBuilder.php
+2
-2
core/modules/menu/lib/Drupal/menu/MenuListBuilder.php
core/modules/menu/lib/Drupal/menu/MenuListBuilder.php
+2
-2
core/modules/node/lib/Drupal/node/NodeListBuilder.php
core/modules/node/lib/Drupal/node/NodeListBuilder.php
+2
-2
core/modules/node/lib/Drupal/node/NodeTypeListBuilder.php
core/modules/node/lib/Drupal/node/NodeTypeListBuilder.php
+2
-2
core/modules/responsive_image/lib/Drupal/responsive_image/ResponsiveImageMappingListBuilder.php
...al/responsive_image/ResponsiveImageMappingListBuilder.php
+2
-2
core/modules/search/lib/Drupal/search/SearchPageListBuilder.php
...odules/search/lib/Drupal/search/SearchPageListBuilder.php
+2
-2
core/modules/shortcut/lib/Drupal/shortcut/ShortcutSetListBuilder.php
...s/shortcut/lib/Drupal/shortcut/ShortcutSetListBuilder.php
+2
-2
core/modules/system/entity.api.php
core/modules/system/entity.api.php
+4
-26
core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyListBuilder.php
...es/taxonomy/lib/Drupal/taxonomy/VocabularyListBuilder.php
+2
-2
core/modules/user/lib/Drupal/user/RoleListBuilder.php
core/modules/user/lib/Drupal/user/RoleListBuilder.php
+2
-2
core/modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php
.../modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php
+2
-2
core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
.../tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
+4
-90
No files found.
core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php
View file @
24526aed
...
...
@@ -30,9 +30,8 @@ public function load() {
/**
* {@inheritdoc}
*/
public
function
getDefaultOperations
(
EntityInterface
$entity
)
{
/** @var \Drupal\Core\Config\Entity\ConfigEntityInterface $entity */
$operations
=
parent
::
getDefaultOperations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
$this
->
entityType
->
hasKey
(
'status'
))
{
if
(
!
$entity
->
status
()
&&
$entity
->
hasLinkTemplate
(
'enable'
))
{
...
...
core/lib/Drupal/Core/Entity/EntityListBuilder.php
View file @
24526aed
...
...
@@ -93,25 +93,6 @@ protected function getLabel(EntityInterface $entity) {
* {@inheritdoc}
*/
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
$this
->
getDefaultOperations
(
$entity
);
$operations
+=
$this
->
moduleHandler
()
->
invokeAll
(
'entity_operation'
,
array
(
$entity
));
$this
->
moduleHandler
->
alter
(
'entity_operation'
,
$operations
,
$entity
);
uasort
(
$operations
,
'\Drupal\Component\Utility\SortArray::sortByWeightElement'
);
return
$operations
;
}
/**
* Gets this list's default operations.
*
* @param \Drupal\Core\Entity\EntityInterface $entity
* The entity the operations are for.
*
* @return array
* The array structure is identical to the return value of
* self::getOperations().
*/
protected
function
getDefaultOperations
(
EntityInterface
$entity
)
{
$operations
=
array
();
if
(
$entity
->
access
(
'update'
)
&&
$entity
->
hasLinkTemplate
(
'edit-form'
))
{
$operations
[
'edit'
]
=
array
(
...
...
@@ -170,11 +151,14 @@ public function buildRow(EntityInterface $entity) {
* @see \Drupal\Core\Entity\EntityListBuilder::buildRow()
*/
public
function
buildOperations
(
EntityInterface
$entity
)
{
// Retrieve and sort operations.
$operations
=
$this
->
getOperations
(
$entity
);
$this
->
moduleHandler
()
->
alter
(
'entity_operation'
,
$operations
,
$entity
);
uasort
(
$operations
,
array
(
'Drupal\Component\Utility\SortArray'
,
'sortByWeightElement'
));
$build
=
array
(
'#type'
=>
'operations'
,
'#links'
=>
$
this
->
getOperations
(
$entity
)
,
'#links'
=>
$
operations
,
);
return
$build
;
}
...
...
core/modules/action/lib/Drupal/action/ActionListBuilder.php
View file @
24526aed
...
...
@@ -101,8 +101,8 @@ public function buildHeader() {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
$entity
->
isConfigurable
()
?
parent
::
get
Default
Operations
(
$entity
)
:
array
();
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
$entity
->
isConfigurable
()
?
parent
::
getOperations
(
$entity
)
:
array
();
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'title'
]
=
t
(
'Configure'
);
}
...
...
core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockListBuilder.php
View file @
24526aed
...
...
@@ -36,8 +36,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'query'
][
'destination'
]
=
'admin/structure/block/custom-blocks'
;
}
...
...
core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockTypeListBuilder.php
View file @
24526aed
...
...
@@ -20,8 +20,8 @@ class CustomBlockTypeListBuilder extends ConfigEntityListBuilder {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
// Place the edit operation after the operations added by field_ui.module
// which have the weights 15, 20, 25.
if
(
isset
(
$operations
[
'edit'
]))
{
...
...
core/modules/block/lib/Drupal/block/BlockListBuilder.php
View file @
24526aed
...
...
@@ -378,8 +378,8 @@ public function buildForm(array $form, array &$form_state) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'title'
]
=
t
(
'Configure'
);
...
...
core/modules/config_translation/config_translation.module
View file @
24526aed
...
...
@@ -159,18 +159,15 @@ function config_translation_config_translation_info(&$info) {
}
/**
* Implements hook_entity_operation().
* Implements hook_entity_operation
_alter
().
*/
function
config_translation_entity_operation
(
EntityInterface
$entity
)
{
$operations
=
array
();
function
config_translation_entity_operation_alter
(
array
&
$operations
,
EntityInterface
$entity
)
{
if
(
\
Drupal
::
currentUser
()
->
hasPermission
(
'translate configuration'
))
{
$operations
[
'translate'
]
=
array
(
'title'
=>
t
(
'Translate'
),
'weight'
=>
50
,
)
+
$entity
->
urlInfo
(
'drupal:config-translation-overview'
);
}
return
$operations
;
}
/**
...
...
core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationEntityListBuilder.php
View file @
24526aed
...
...
@@ -83,13 +83,13 @@ public function buildHeader() {
/**
* {@inheritdoc}
*/
public
function
getDefault
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getDefault
Operations
(
$entity
);
foreach
(
array_keys
(
$operations
)
as
$operation
)
{
public
function
build
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
build
Operations
(
$entity
);
foreach
(
array_keys
(
$operations
[
'#links'
]
)
as
$operation
)
{
// This is a translation UI for translators. Show the translation
// operation only.
if
(
!
(
$operation
==
'translate'
))
{
unset
(
$operations
[
$operation
]);
unset
(
$operations
[
'#links'
][
$operation
]);
}
}
return
$operations
;
...
...
core/modules/field/lib/Drupal/field/Entity/FieldInstanceConfig.php
View file @
24526aed
...
...
@@ -23,7 +23,6 @@
* id = "field_instance_config",
* label = @Translation("Field instance"),
* controllers = {
* "list_builder" = "\Drupal\Core\Config\Entity\ConfigEntityListBuilder",
* "storage" = "Drupal\field\FieldInstanceConfigStorageController"
* },
* config_prefix = "instance",
...
...
core/modules/field_ui/field_ui.module
View file @
24526aed
...
...
@@ -172,10 +172,9 @@ function field_ui_form_node_type_form_alter(&$form, $form_state) {
}
/**
* Implements hook_entity_operation().
* Implements hook_entity_operation
_alter
().
*/
function
field_ui_entity_operation
(
EntityInterface
$entity
)
{
$operations
=
array
();
function
field_ui_entity_operation_alter
(
array
&
$operations
,
EntityInterface
$entity
)
{
$info
=
$entity
->
getEntityType
();
// Add manage fields and display links if this entity type is the bundle
// of another.
...
...
@@ -199,8 +198,6 @@ function field_ui_entity_operation(EntityInterface $entity) {
)
+
$entity
->
urlInfo
(
'field_ui-display'
);
}
}
return
$operations
;
}
/**
...
...
core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
View file @
24526aed
...
...
@@ -7,7 +7,6 @@
namespace
Drupal\field_ui
;
use
Drupal\Core\Entity\EntityListBuilderInterface
;
use
Drupal\Core\Entity\EntityManagerInterface
;
use
Drupal\Core\Extension\ModuleHandlerInterface
;
use
Drupal\Core\Field\FieldTypePluginManagerInterface
;
...
...
@@ -27,6 +26,13 @@ class FieldOverview extends OverviewBase {
*/
protected
$fieldTypeManager
;
/**
* The module handler service.
*
* @var \Drupal\Core\Extension\ModuleHandlerInterface
*/
protected
$moduleHandler
;
/**
* Constructs a new FieldOverview.
*
...
...
@@ -34,10 +40,13 @@ class FieldOverview extends OverviewBase {
* The entity manager.
* @param \Drupal\Core\Field\FieldTypePluginManagerInterface $field_type_manager
* The field type manager
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler to invoke hooks on.
*/
public
function
__construct
(
EntityManagerInterface
$entity_manager
,
FieldTypePluginManagerInterface
$field_type_manager
)
{
public
function
__construct
(
EntityManagerInterface
$entity_manager
,
FieldTypePluginManagerInterface
$field_type_manager
,
ModuleHandlerInterface
$module_handler
)
{
parent
::
__construct
(
$entity_manager
);
$this
->
fieldTypeManager
=
$field_type_manager
;
$this
->
moduleHandler
=
$module_handler
;
}
/**
...
...
@@ -46,7 +55,8 @@ public function __construct(EntityManagerInterface $entity_manager, FieldTypePlu
public
static
function
create
(
ContainerInterface
$container
)
{
return
new
static
(
$container
->
get
(
'entity.manager'
),
$container
->
get
(
'plugin.manager.field.field_type'
)
$container
->
get
(
'plugin.manager.field.field_type'
),
$container
->
get
(
'module_handler'
)
);
}
...
...
@@ -154,9 +164,11 @@ public function buildForm(array $form, array &$form_state, $entity_type_id = NUL
'route_parameters'
=>
$route_parameters
,
'attributes'
=>
array
(
'title'
=>
$this
->
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'
=>
$
this
->
entityManager
->
getListBuilder
(
'field_instance_config'
)
->
getOperations
(
$instance
)
,
'#links'
=>
$
links
,
);
if
(
!
empty
(
$field
->
locked
))
{
...
...
core/modules/filter/lib/Drupal/filter/FilterFormatListBuilder.php
View file @
24526aed
...
...
@@ -118,8 +118,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'title'
]
=
t
(
'Configure'
);
...
...
core/modules/image/lib/Drupal/image/ImageStyleListBuilder.php
View file @
24526aed
...
...
@@ -74,13 +74,13 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
public
function
getOperations
(
EntityInterface
$entity
)
{
$flush
=
array
(
'title'
=>
t
(
'Flush'
),
'weight'
=>
200
,
)
+
$entity
->
urlInfo
(
'flush-form'
);
return
parent
::
get
Default
Operations
(
$entity
)
+
array
(
'flush'
=>
$flush
);
return
parent
::
getOperations
(
$entity
)
+
array
(
'flush'
=>
$flush
);
}
/**
...
...
core/modules/language/lib/Drupal/language/LanguageListBuilder.php
View file @
24526aed
...
...
@@ -44,8 +44,8 @@ public function getFormId() {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
$default
=
language_default
();
// Deleting the site default language is not allowed.
...
...
core/modules/menu/lib/Drupal/menu/MenuListBuilder.php
View file @
24526aed
...
...
@@ -45,8 +45,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'title'
]
=
t
(
'Edit menu'
);
...
...
core/modules/node/lib/Drupal/node/NodeListBuilder.php
View file @
24526aed
...
...
@@ -124,8 +124,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
p
rotected
function
getDefaul
tOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
p
ublic
function
ge
tOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
$destination
=
drupal_get_destination
();
foreach
(
$operations
as
$key
=>
$operation
)
{
...
...
core/modules/node/lib/Drupal/node/NodeTypeListBuilder.php
View file @
24526aed
...
...
@@ -83,8 +83,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
// Place the edit operation after the operations added by field_ui.module
// which have the weights 15, 20, 25.
if
(
isset
(
$operations
[
'edit'
]))
{
...
...
core/modules/responsive_image/lib/Drupal/responsive_image/ResponsiveImageMappingListBuilder.php
View file @
24526aed
...
...
@@ -36,8 +36,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
$operations
[
'duplicate'
]
=
array
(
'title'
=>
t
(
'Duplicate'
),
'weight'
=>
15
,
...
...
core/modules/search/lib/Drupal/search/SearchPageListBuilder.php
View file @
24526aed
...
...
@@ -260,9 +260,9 @@ public function buildForm(array $form, array &$form_state) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
public
function
getOperations
(
EntityInterface
$entity
)
{
/** @var $entity \Drupal\search\SearchPageInterface */
$operations
=
parent
::
get
Default
Operations
(
$entity
);
$operations
=
parent
::
getOperations
(
$entity
);
// Prevent the default search from being disabled or deleted.
if
(
$entity
->
isDefaultSearch
())
{
...
...
core/modules/shortcut/lib/Drupal/shortcut/ShortcutSetListBuilder.php
View file @
24526aed
...
...
@@ -28,8 +28,8 @@ public function buildHeader() {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'title'
]
=
t
(
'Edit shortcut set'
);
...
...
core/modules/system/entity.api.php
View file @
24526aed
...
...
@@ -754,27 +754,6 @@ function hook_entity_bundle_field_info_alter(&$fields, \Drupal\Core\Entity\Entit
}
}
/**
* Declares entity operations.
*
* @param \Drupal\Core\Entity\EntityInterface $entity
* The entity on which the linked operations will be performed.
*
* @return array
* An operations array as returned by
* \Drupal\Core\Entity\EntityListBuilderInterface::getOperations().
*/
function
hook_entity_operation
(
\
Drupal\Core\Entity\EntityInterface
$entity
)
{
$operations
=
array
();
$operations
[
'translate'
]
=
array
(
'title'
=>
t
(
'Translate'
),
'route_name'
=>
'foo_module.entity.translate'
,
'weight'
=>
50
,
);
return
$operations
;
}
/**
* Alter entity operations.
*
...
...
@@ -785,11 +764,10 @@ function hook_entity_operation(\Drupal\Core\Entity\EntityInterface $entity) {
* The entity on which the linked operations will be performed.
*/
function
hook_entity_operation_alter
(
array
&
$operations
,
\
Drupal\Core\Entity\EntityInterface
$entity
)
{
// Alter the title and weight.
$operations
[
'translate'
][
'title'
]
=
t
(
'Translate @entity_type'
,
array
(
'@entity_type'
=>
$entity
->
getEntityTypeId
(),
));
$operations
[
'translate'
][
'weight'
]
=
99
;
$operations
[
'translate'
]
=
array
(
'title'
=>
t
(
'Translate'
),
'weight'
=>
50
,
)
+
$entity
->
urlInfo
(
'my-custom-link-template'
);
}
/**
...
...
core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyListBuilder.php
View file @
24526aed
...
...
@@ -32,8 +32,8 @@ public function getFormId() {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
isset
(
$operations
[
'edit'
]))
{
$operations
[
'edit'
][
'title'
]
=
t
(
'edit vocabulary'
);
...
...
core/modules/user/lib/Drupal/user/RoleListBuilder.php
View file @
24526aed
...
...
@@ -43,8 +43,8 @@ public function buildRow(EntityInterface $entity) {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
$entity
->
hasLinkTemplate
(
'edit-permissions-form'
))
{
$operations
[
'permissions'
]
=
array
(
...
...
core/modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php
View file @
24526aed
...
...
@@ -135,8 +135,8 @@ public function buildHeader() {
/**
* {@inheritdoc}
*/
public
function
get
Default
Operations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
get
Default
Operations
(
$entity
);
public
function
getOperations
(
EntityInterface
$entity
)
{
$operations
=
parent
::
getOperations
(
$entity
);
if
(
$entity
->
hasLinkTemplate
(
'clone'
))
{
$operations
[
'clone'
]
=
array
(
...
...
core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
View file @
24526aed
...
...
@@ -7,9 +7,7 @@
namespace
Drupal\Tests\Core\Entity
;
use
Drupal\Core\DependencyInjection\ContainerBuilder
;
use
Drupal\Core\Entity\EntityInterface
;
use
Drupal\Core\Entity\EntityListBuilder
;
use
Drupal\entity_test
\
EntityTestListBuilder
;
use
Drupal\Tests\UnitTestCase
;
...
...
@@ -22,41 +20,6 @@
*/
class
EntityListBuilderTest
extends
UnitTestCase
{
/**
* The entity type used for testing.
*
* @var \Drupal\Core\Entity\EntityTypeInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected
$entityType
;
/**
* The module handler used for testing.
*
* @var \Drupal\Core\Extension\ModuleHandlerInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected
$moduleHandler
;
/**
* The translation manager used for testing.
*
* @var \Drupal\Core\StringTranslation\TranslationInterface
*/
protected
$translationManager
;
/**
* The role storage used for testing.
*
* @var \Drupal\user\RoleStorageControllerInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected
$roleStorage
;
/**
* The service container used for testing.
*
* @var \Drupal\Core\DependencyInjection\ContainerBuilder
*/
protected
$container
;
/**
* The entity used to construct the EntityListBuilder.
*
...
...
@@ -86,59 +49,10 @@ protected function setUp() {
parent
::
setUp
();
$this
->
role
=
$this
->
getMock
(
'Drupal\user\RoleInterface'
);
$this
->
roleStorage
=
$this
->
getMock
(
'\Drupal\user\RoleStorageControllerInterface'
);
$this
->
moduleHandler
=
$this
->
getMock
(
'\Drupal\Core\Extension\ModuleHandlerInterface'
);
$this
->
entityType
=
$this
->
getMock
(
'\Drupal\Core\Entity\EntityTypeInterface'
);
$this
->
translationManager
=
$this
->
getMock
(
'\Drupal\Core\StringTranslation\TranslationInterface'
);
$this
->
entityListBuilder
=
new
TestEntityListBuilder
(
$this
->
entityType
,
$this
->
roleStorage
,
$this
->
moduleHandler
);
$this
->
container
=
new
ContainerBuilder
();
\
Drupal
::
setContainer
(
$this
->
container
);
}
/**
* @covers \Drupal\Core\Entity\EntityListBuilder::getOperations
*/
public
function
testGetOperations
()
{
$operation_name
=
$this
->
randomName
();
$operations
=
array
(
$operation_name
=>
array
(
'title'
=>
$this
->
randomName
(),
),
);
$this
->
moduleHandler
->
expects
(
$this
->
once
())
->
method
(
'invokeAll'
)
->
with
(
'entity_operation'
,
array
(
$this
->
role
))
->
will
(
$this
->
returnValue
(
$operations
));
$this
->
moduleHandler
->
expects
(
$this
->
once
())
->
method
(
'alter'
)
->
with
(
'entity_operation'
);
$this
->
container
->
set
(
'module_handler'
,
$this
->
moduleHandler
);
$this
->
role
->
expects
(
$this
->
any
())
->
method
(
'access'
)
->
will
(
$this
->
returnValue
(
TRUE
));
$this
->
role
->
expects
(
$this
->
any
())
->
method
(
'hasLinkTemplate'
)
->
will
(
$this
->
returnValue
(
TRUE
));
$this
->
role
->
expects
(
$this
->
any
())
->
method
(
'urlInfo'
)
->
will
(
$this
->
returnValue
(
array
()));
$list
=
new
EntityListBuilder
(
$this
->
entityType
,
$this
->
roleStorage
,
$this
->
moduleHandler
);
$list
->
setTranslationManager
(
$this
->
translationManager
);
$operations
=
$list
->
getOperations
(
$this
->
role
);
$this
->
assertInternalType
(
'array'
,
$operations
);
$this
->
assertArrayHasKey
(
'edit'
,
$operations
);
$this
->
assertInternalType
(
'array'
,
$operations
[
'edit'
]);
$this
->
assertArrayHasKey
(
'title'
,
$operations
[
'edit'
]);
$this
->
assertArrayHasKey
(
'delete'
,
$operations
);
$this
->
assertInternalType
(
'array'
,
$operations
[
'delete'
]);
$this
->
assertArrayHasKey
(
'title'
,
$operations
[
'delete'
]);
$this
->
assertArrayHasKey
(
$operation_name
,
$operations
);
$this
->
assertInternalType
(
'array'
,
$operations
[
$operation_name
]);
$this
->
assertArrayHasKey
(
'title'
,
$operations
[
$operation_name
]);
$role_storage_controller
=
$this
->
getMock
(
'Drupal\user\RoleStorageControllerInterface'
);
$module_handler
=
$this
->
getMock
(
'Drupal\Core\Extension\ModuleHandlerInterface'
);
$entity_type
=
$this
->
getMock
(
'Drupal\Core\Entity\EntityTypeInterface'
);
$this
->
entityListBuilder
=
new
TestEntityListBuilder
(
$entity_type
,
$role_storage_controller
,
$module_handler
);
}
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment