diff --git a/src/Listener/Traits/FormTypeTrait.php b/src/Listener/Traits/FormTypeTrait.php index 5c56b08..35e6d0b 100644 --- a/src/Listener/Traits/FormTypeTrait.php +++ b/src/Listener/Traits/FormTypeTrait.php @@ -133,7 +133,10 @@ protected function _getDefaultExtraLeftButtons(): array $action = $this->_action(); if ($action instanceof EditAction) { $blacklist = $action->getConfig('scaffold.actions_blacklist', []); - if (!in_array('delete', $blacklist, true)) { + if ( + !in_array('delete', $blacklist, true) && + $this->_crud()->action('delete')->enabled() + ) { $buttons[] = [ 'title' => __d('crud', 'Delete'), 'url' => ['action' => 'delete'], diff --git a/src/Listener/ViewListener.php b/src/Listener/ViewListener.php index 7f3c039..b457cc1 100644 --- a/src/Listener/ViewListener.php +++ b/src/Listener/ViewListener.php @@ -504,7 +504,10 @@ protected function _getAllowedActions(): array $blacklist = (array)$this->_action()->getConfig('scaffold.actions_blacklist'); $blacklist = array_combine($blacklist, $blacklist); foreach ($this->_crud()->getConfig('actions') as $action => $config) { - if ($config['className'] === 'Crud.Lookup') { + if ( + $config['className'] === 'Crud.Lookup' || + !$this->_crud()->action($action)->enabled() + ) { $blacklist[$action] = $action; } }