12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace Sonata\AdminBundle\Route;
- use Sonata\AdminBundle\Admin\AdminInterface;
- use Sonata\AdminBundle\Builder\RouteBuilderInterface;
- use Sonata\AdminBundle\Model\AuditManagerInterface;
- class QueryStringBuilder implements RouteBuilderInterface
- {
-
- protected $manager;
-
- public function __construct(AuditManagerInterface $manager)
- {
- $this->manager = $manager;
- }
-
- public function build(AdminInterface $admin, RouteCollection $collection)
- {
- $collection->add('list');
- $collection->add('create');
- $collection->add('batch');
- $collection->add('edit');
- $collection->add('delete');
- $collection->add('show');
- $collection->add('export');
- if ($this->manager->hasReader($admin->getClass())) {
- $collection->add('history', '/audit-history');
- $collection->add('history_view_revision', '/audit-history-view');
- $collection->add('history_compare_revisions', '/audit-history-compare');
- }
- if ($admin->isAclEnabled()) {
- $collection->add('acl', $admin->getRouterIdParameter().'/acl');
- }
-
- if ($admin->getParent()) {
- return;
- }
-
- foreach ($admin->getChildren() as $children) {
- $collection->addCollection($children->getRoutes());
- }
- }
- }
|