From 47a9a999bcfc419f9bcebc2b01f13f83a1031ab9 Mon Sep 17 00:00:00 2001 From: Alan Stanley Date: Tue, 1 Oct 2019 09:06:47 -0300 Subject: [PATCH] Added role filter --- src/Controller/ManageMediaController.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Controller/ManageMediaController.php b/src/Controller/ManageMediaController.php index 776a6808..e0ef7a69 100644 --- a/src/Controller/ManageMediaController.php +++ b/src/Controller/ManageMediaController.php @@ -22,7 +22,9 @@ class ManageMediaController extends ManageMembersController { * Array of media types to add. */ public function addToNodePage(NodeInterface $node) { - return $this->generateTypeList( + $current_user = \Drupal::currentUser(); + $roles = $current_user->getRoles(); + $list = $this->generateTypeList( 'media', 'media_type', 'entity.media.add_form', @@ -30,6 +32,17 @@ class ManageMediaController extends ManageMembersController { $node, 'field_media_of' ); + if (!in_array('fedoraadmin', $roles)) { + $bundles = $list['#bundles']; + foreach ($bundles as $label => $bundle) { + $storage = $this->entityFieldManager->getFieldStorageDefinitions('media', $label); + $scheme = $storage['field_media_file']->getSetting('uri_scheme'); + if ($scheme == 'fedora') { + unset($list['#bundles'][$label]); + } + } + } + return $list; } /**