/** * @Route("/transaction/find", name="findTransactions") */ public function findTransactionsAction(Request $oRequest) { // $aCategories = $this->container->getParameter('categories'); $nPages = $nFirstResult = 0; $aRequest = $oRequest->request->all(); $nPage = isset($aRequest['page']) ? $aRequest['page'] : 1; $nPerPage = $this->container->getParameter('per_page'); $sWording = !empty($aRequest['wording']) ? $aRequest['wording'] : null; if ($nPage > 1) { $nFirstResult = $nPerPage * ($nPage - 1); } if (!empty($aRequest['date_begin']) && !empty($aRequest['date_end'])) { $oAccount = $this->getRepoEntity('Account')->find($aRequest['account']); $sDateBegin = $aRequest['date_begin']; $sDateEnd = $aRequest['date_end']; $nCategId = $aRequest['category']; $oRepTransaction = $this->getRepoEntity('Transaction'); $oCategory = null; if ($nCategId != 0) { $oCategory = $this->getRepoEntity('Category')->findOneById($nCategId); } $aoTransactions = $oRepTransaction->findByAccount($oAccount, $sDateBegin, $sDateEnd, $oCategory, $sWording, null, $nFirstResult, $nPerPage); $nPages = Help::getNumberPages($aoTransactions['TotalRecordCount'], $nPerPage); } return $this->render('AnalyzerBundle:Transaction:list.html.twig', array('aoTransactions' => $aoTransactions, 'nPages' => $nPages, 'currentPage' => $nPage)); }