diff --git a/code/controllers/AssetAdmin.php b/code/controllers/AssetAdmin.php index e678a9cd..e5e9cd7a 100644 --- a/code/controllers/AssetAdmin.php +++ b/code/controllers/AssetAdmin.php @@ -95,7 +95,7 @@ JS // Don't filter list when a detail view is requested, // to avoid edge cases where the filtered list wouldn't contain the requested // record due to faulty session state (current folder not always encoded in URL, see #7408). - if(!$folder->ID && ($this->request->param('ID') == 'field')) { + if(!$folder->ID && $this->request->requestVar('ID') === null && ($this->request->param('ID') == 'field')) { return $list; } diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php index d194f861..46ff5c00 100644 --- a/code/controllers/CMSMain.php +++ b/code/controllers/CMSMain.php @@ -638,6 +638,18 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr $actions = $record->getAllCMSActions(); } else { $actions = $record->getCMSActions(); + + // Find and remove action menus that have no actions. + if ($actions && $actions->Count()) { + $tabset = $actions->fieldByName('ActionMenus'); + if ($tabset) { + foreach ($tabset->getChildren() as $tab) { + if (!$tab->getChildren()->count()) { + $tabset->removeByName($tab->getName()); + } + } + } + } } // Use