Browse Source

Checked individual field types.

pull/730/head
Alan Stanley 6 years ago
parent
commit
7015821c71
  1. 15
      src/Controller/ManageMediaController.php

15
src/Controller/ManageMediaController.php

@ -22,6 +22,8 @@ class ManageMediaController extends ManageMembersController {
* Array of media types to add. * Array of media types to add.
*/ */
public function addToNodePage(NodeInterface $node) { public function addToNodePage(NodeInterface $node) {
// The role fedoraAdmin is currently hardcoded and
// must be in the user's profile for successful writes to Fedora.
$roles = $this->currentUser->getRoles(); $roles = $this->currentUser->getRoles();
$list = $this->generateTypeList( $list = $this->generateTypeList(
'media', 'media',
@ -34,10 +36,15 @@ class ManageMediaController extends ManageMembersController {
if (!in_array('fedoraadmin', $roles)) { if (!in_array('fedoraadmin', $roles)) {
$bundles = $list['#bundles']; $bundles = $list['#bundles'];
foreach ($bundles as $label => $bundle) { foreach ($bundles as $label => $bundle) {
$storage = $this->entityFieldManager->getFieldStorageDefinitions('media', $label); $fields = $this->entityFieldManager->getFieldDefinitions('media', $label);
$scheme = $storage['field_media_file']->getSetting('uri_scheme'); foreach ($fields as $field) {
if ($scheme == 'fedora') { $file_type = $field->getType();
unset($list['#bundles'][$label]); if ($file_type == 'file') {
$scheme = $field->getSetting('uri_scheme');
if ($scheme == 'fedora') {
unset($list['#bundles'][$label]);
}
}
} }
} }
} }

Loading…
Cancel
Save