コード例 #1
0
 /**
  * Returns the list of all Land entities
  */
 public function listAction()
 {
     if ($this->request->getFormat() === 'json') {
         $this->view->setVariablesToRender(['land']);
     }
     $searchArr = [];
     if ($this->request->hasArgument('columns')) {
         $columns = $this->request->getArgument('columns');
         foreach ($columns as $column) {
             if (!empty($column['data']) && !empty($column['search']['value'])) {
                 $searchArr[$column['data']] = $column['search']['value'];
             }
         }
     }
     if ($this->request->hasArgument('order')) {
         $order = $this->request->getArgument('order');
         if (!empty($order)) {
             $orderDir = $order[0]['dir'];
             $orderById = $order[0]['column'];
             if (!empty($orderById)) {
                 $columns = $this->request->getArgument('columns');
                 $orderBy = $columns[$orderById]['data'];
             }
         }
     }
     if ($this->request->hasArgument('draw')) {
         $draw = $this->request->getArgument('draw');
     } else {
         $draw = 0;
     }
     $start = $this->request->hasArgument('start') ? $this->request->getArgument('start') : self::start;
     $length = $this->request->hasArgument('length') ? $this->request->getArgument('length') : self::length;
     if (empty($searchArr)) {
         if (isset($orderBy) && !empty($orderBy) && (isset($orderDir) && !empty($orderDir))) {
             if ($orderDir === 'asc') {
                 $orderArr = [$orderBy => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING];
             } elseif ($orderDir === 'desc') {
                 $orderArr = [$orderBy => \TYPO3\Flow\Persistence\QueryInterface::ORDER_DESCENDING];
             }
         }
         if (isset($orderArr) && !empty($orderArr)) {
             $orderings = $orderArr;
         } else {
             $orderings = ['land' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING];
         }
         $land = $this->landRepository->getCertainNumberOfLand($start, $length, $orderings);
         $recordsTotal = $this->landRepository->getNumberOfEntries();
         $recordsFiltered = $recordsTotal;
     } else {
         if (isset($orderBy) && !empty($orderBy) && (isset($orderDir) && !empty($orderDir))) {
             if ($orderDir === 'asc') {
                 $orderArr = [$orderBy, 'ASC'];
             } elseif ($orderDir === 'desc') {
                 $orderArr = [$orderBy, 'DESC'];
             }
         }
         if (isset($orderArr) && !empty($orderArr)) {
             $orderings = $orderArr;
         } else {
             $orderings = ['land', 'ASC'];
         }
         $land = $this->landRepository->searchCertainNumberOfLand($start, $length, $orderings, $searchArr, 1);
         $recordsFiltered = $this->landRepository->searchCertainNumberOfLand($start, $length, $orderings, $searchArr, 2);
         $recordsTotal = $this->landRepository->getNumberOfEntries();
     }
     if (!isset($recordsFiltered)) {
         $recordsFiltered = $recordsTotal;
     }
     $this->view->assign('land', ['data' => $land, 'draw' => $draw, 'recordsTotal' => $recordsTotal, 'recordsFiltered' => $recordsFiltered]);
     $this->view->assign('bearbeiter', $this->bearbeiterObj->getBearbeiter());
     return $this->view->render();
 }