/**
  * @param PageTemplate $template
  * @param Resource $parent
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function indexAction(PageTemplate $template, Resource $parent = null)
 {
     $module = $template->getModule();
     $moduleRepository = $this->moduleRepository;
     $moduleRepository->getRepository($module)->setClass(new ResourceRepository());
     $entities = $moduleRepository->findByTemplate($template, $parent);
     $this->get("bigfish.eav.flattern.table")->generate($module);
     $grid = $this->container->get("bigfish.grid.factory")->createGrid($this->container->get("bigfish.resource.grid.resource_module_type"), $entities, array("module" => $module, "title" => $template->getName(), "description" => $template->getDescription(), "template" => $template, "parent" => $parent ? $parent->getId() : 0));
     return $this->render("BigfishResourceBundle:Resource:index.html.twig", array("grid" => $grid->createView(), 'entities' => $entities, "module" => $module, 'template' => $template, 'createUrl' => $this->generateUrl('resource_create', array('template' => $template->getId()))));
 }
 public function findByTemplate(Template $template, Resource $parent = null)
 {
     $culture = $this->getLanguageManager()->getCulture();
     $context = $this->getContextManager()->getContext();
     $module = $template->getModule();
     $qb = $this->initialize();
     $qb->addSelect("*");
     $qb->from($this->buildEavQuery($module), EavTables::CONTAINER_PREFIX);
     //        $qb = $this->createQueryBuilder();
     //        $qb->addSelect("*")
     $qb->where($qb->expr()->isNull(EavTables::CONTAINER_PREFIX . ".deleted"))->andWhere($qb->expr()->eq(EavTables::CONTAINER_PREFIX . ".context_id", ":context_id"))->setParameter("context_id", $context->getId())->andWhere($qb->expr()->eq(EavTables::CONTAINER_PREFIX . ".culture", ":culture"))->setParameter("culture", $culture);
     if ($parent) {
         $qb->andWhere($qb->expr()->eq("Resource.parent_id", ":parent_id"))->setParameter("parent_id", $parent->getId());
     } else {
         $qb->andWhere($qb->expr()->isNull("Resource.parent_id", ":parent_id"));
     }
     $qb->andWhere($qb->expr()->eq("Template.template_id", ":template_id"))->setParameter("template_id", $template->getId())->orderBy(EavTables::CONTAINER_PREFIX . ".sequence", "ASC");
     $result = $qb->getQuery()->getResult();
     return $result;
 }