Generator modułów administracyjnych w Symfony nie umożliwia wybrania akcji, które dany moduł ma wykonywać, zawsze dostajemy pełen zestaw CRUD. Czasami zachodzi potrzeba zablokowania niektórych akcji, np. w wypadku logów bezpieczeństwa sens ma jedynie index (przeglądanie listy), a jakakolwiek modyfikacja powinna być zabroniona.
Odnośniki widoczne na liście można łatwo ukryć edytując plik generator.yml, wystarczy domyślne akcje zastąpić pustymi listami.
generator:
param:
config:
list:
title: Permission changes log
actions: {}
object_actions: {}
batch_actions: {}
filter:
display: [agent_user_name, subject_user_name, permission_name, created_at]
Akcje można jednak dalej wykonywać ręcznie wpisując URL, dlatego należy je zablokować w kontrolerze.
class permission_logActions extends autoPermission_logActions
{
public function preExecute()
{
$this->forward404If($this->getActionName() !== 'index', 'Action disabled');
parent::preExecute();
}
}