/**
  * Show edit history of an object
  * Required REQUEST parameters are:
  *     objectId - int
  *     objectClass - base64_encoded fully qualified class name
  *
  * @param Request $request
  * @return \HealthCareAbroad\AdminBundle\Controller\Response
  * @author Allejo Chris G. Velarde
  */
 public function showEditHistoryAction(Request $request)
 {
     $objectId = $request->get('objectId', null);
     $objectClass = $request->get('objectClass', null);
     if ($objectId === null || $objectClass === null) {
         return new Response("objectId and objectClass are required parameters", 400);
     }
     $objectClass = \base64_decode($objectClass);
     if (!\class_exists($objectClass)) {
         throw $this->createNotFoundException("Cannot view history of invalid class {$objectClass}");
     }
     $this->userService = $this->get('services.twig_user');
     $this->historyService = $this->get('services.log.entity_version');
     $filters = array('objectId' => $objectId, 'objectClass' => $objectClass);
     $qb = $this->getDoctrine()->getRepository('LogBundle:VersionEntry')->getQueryBuilderForFindAll($filters);
     $adapter = new DoctrineOrmAdapter($qb, Query::HYDRATE_ARRAY);
     $pager = new Pager($adapter);
     $pager->setLimit(50);
     $pager->setPage($request->get('page', 1));
     foreach ($pager->getResults() as $versionEntry) {
         $entries[] = $this->buildViewDataOfVersionEntry($versionEntry);
     }
     $response = $this->render('AdminBundle:EntityHistory:editHistory.html.twig', array('entries' => $entries, 'pager' => $pager, 'objectId' => $objectId, 'objectClass' => $objectClass));
     return $response;
 }
 public function indexAction(Request $request)
 {
     $searchTerm = \trim($request->get('q', ''));
     $page = $request->get('page', 1);
     $qb = $this->getDoctrine()->getEntityManager()->createQueryBuilder()->select('a, b')->from('TermBundle:Term', 'a')->innerJoin('a.termDocuments', 'b')->orderBy('a.name');
     if ('' != $searchTerm) {
         $qb->where('a.name LIKE :searchQuery')->setParameter('searchQuery', '%' . $searchTerm . '%');
     }
     $pager = new Pager(new DoctrineOrmAdapter($qb));
     $pager->setLimit('25');
     $pager->setPage($page);
     $data = array('pager' => $pager);
     return $this->render('AdminBundle:Terms:index.html.twig', $data);
 }
 public function testIsNotPaginable()
 {
     $this->pager->setLimit(100);
     $this->assertEquals(false, $this->pager->isPaginable());
 }