public function listAction(Request $request)
 {
     $repo = $this->get('wucdbm_menu_builder.repo.menus');
     $filter = new MenuFilter();
     $pagination = $filter->getPagination()->enable();
     $filterForm = $this->createForm(FilterType::class, $filter);
     $filter->load($request, $filterForm);
     $menus = $repo->filter($filter);
     $data = ['menus' => $menus, 'filter' => $filter, 'pagination' => $pagination, 'filterForm' => $filterForm->createView()];
     return $this->render('@WucdbmMenuBuilderClient/Menu/list/list.html.twig', $data);
 }
 public function filter(MenuFilter $filter)
 {
     $builder = $this->getQueryBuilder();
     if ($filter->getName()) {
         $builder->andWhere('m.name = :name')->setParameter('name', '%' . $filter->getName() . '%');
     }
     $route = $filter->getRoute();
     if ($route instanceof Route) {
         $builder->andWhere('itemRoute.id = :routeId')->setParameter('routeId', $route->getId());
     }
     return $this->returnFilteredEntities($builder, $filter, 'm.id');
 }