public function indexAction(Request $request) { $filters = array(); $startDate = new \DateTime($request->get('startDate', null)); $endDate = new \DateTime($request->get('endDate', null)); if ($request->get('startDate')) { $filters['startDate'] = $startDate->format("Y-m-d H:i:s"); } if ($request->get('endDate')) { $filters['endDate'] = $endDate->format("Y-m-d H:i:s"); } if ($request->get('action')) { $filters['action'] = $request->get('action'); } if ($request->get('isClientOnly')) { $users = $this->getDoctrine()->getRepository('UserBundle:AdminUser')->getAllUsers(); $ids = array(); foreach ($users as $user) { $ids[] = $user['accountId']; } $filters['isClientOnly'] = $ids; } $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)); $this->userService = $this->get('services.twig_user'); $this->historyService = $this->get('services.log.entity_version'); // build the data into a "more readable" log history $entries = array(); foreach ($pager->getResults() as $versionEntry) { $entries[] = $this->buildViewDataOfVersionEntry($versionEntry); } $response = $this->render('AdminBundle:EntityHistory:index.html.twig', array('entries' => $entries, 'pager' => $pager, 'filter' => $filters, 'options' => VersionEntryActions::getActionOptions())); return $response; }
<?php namespace HealthCareAbroad\LogBundle\Entity; use HealthCareAbroad\LogBundle\Entity\VersionEntry; final class VersionEntryActions { const CREATE = 'Create'; const UPDATE = 'Update'; const REMOVE = 'Remove'; private static $actions = array(); static function getActionOptions() { return self::$actions; } public static function getActions() { return static::$actions; } public static function _initActions() { static::$actions = array(VersionEntryActions::CREATE => 'create', VersionEntryActions::UPDATE => 'update', VersionEntryActions::REMOVE => 'remove'); } public static function getActionLabel($action) { return isset(self::$actions[$action]) ? self::$actions[$action] : ''; } } VersionEntryActions::_initActions();