Example #1
0
 /**
  * @Route("")
  * @Theme("admin")
  *
  * view items
  *
  * @param Request $request
  *
  * @return Response HTML output
  */
 public function indexAction(Request $request)
 {
     // Get parameters
     $startnum = $request->query->get('startnum', 1);
     $orderBy = $request->query->get('orderby', 'pageid');
     $currentSortDirection = $request->query->get('sdir', Column::DIRECTION_DESCENDING);
     $filterForm = $this->createForm(new FilterType(), $request->query->all(), array('action' => $this->generateUrl('zikulapagesmodule_admin_index'), 'method' => 'POST', 'entityCategoryRegistries' => CategoryRegistryUtil::getRegisteredModuleCategories($this->name, 'PageEntity', 'id')));
     $filterForm->handleRequest($request);
     $filterData = $filterForm->isSubmitted() ? $filterForm->getData() : $request->query->all();
     $sortableColumns = new SortableColumns($this->get('router'), 'zikulapagesmodule_admin_index', 'orderby', 'sdir');
     $sortableColumns->addColumn(new Column('pageid'));
     // first added is automatically the default
     $sortableColumns->addColumn(new Column('title'));
     $sortableColumns->addColumn(new Column('cr_date'));
     $sortableColumns->setOrderBy($sortableColumns->getColumn($orderBy), $currentSortDirection);
     $sortableColumns->setAdditionalUrlParameters(array('language' => isset($filterData['language']) ? $filterData['language'] : null, 'filtercats_serialized' => isset($filterData['categories']) ? serialize($filterData['categories']) : null));
     $pages = new PageCollectionManager($this->container->get('doctrine.entitymanager'));
     $pages->setStartNumber($startnum);
     $pages->setItemsPerPage(\ModUtil::getVar($this->name, 'itemsperpage'));
     $pages->setOrder($orderBy, $currentSortDirection);
     $pages->enablePager();
     $pages->setFilterBy($filterData);
     $templateParameters = array();
     $templateParameters['filter_active'] = isset($filterData['category']) && count($filterData['category']) > 0 || !empty($filterData['language']);
     $templateParameters['sort'] = $sortableColumns->generateSortableColumns();
     $templateParameters['pages'] = $pages->get();
     $templateParameters['lang'] = ZLanguage::getLanguageCode();
     $templateParameters['pager'] = $pages->getPager();
     $templateParameters['modvars'] = \ModUtil::getModvars();
     // temporary solution
     $templateParameters['filterForm'] = $filterForm->createView();
     // attempt to disable caching for this only
     $response = new Response();
     $response->expire();
     return $this->render('ZikulaPagesModule:Admin:view.html.twig', $templateParameters, $response);
 }
Example #2
0
 /**
  * @Route("/view/{prop}/{cat}/{startnum}", requirements={"startnum" = "^[1-9]\d*$", "cat" = "^[1-9]\d*$"})
  *
  * view page list
  *
  * @param Request $request
  *
  * @throws AccessDeniedException
  *
  * @return Response html string
  */
 public function viewAction(Request $request, $prop, $cat, $startnum = 1)
 {
     if (!SecurityUtil::checkPermission($this->name . '::', '::', ACCESS_OVERVIEW)) {
         throw new AccessDeniedException();
     }
     // @TODO the prop category must be converted to the propId and links adjusted throughout
     // then the CollectionManager must also include this parameter in the search
     $pages = new PageCollectionManager($this->container->get('doctrine.entitymanager'));
     $pages->setStartNumber($startnum);
     $pages->setItemsPerPage(\ModUtil::getVar($this->name, 'itemsperpage'));
     $pages->setOrder('title', 'ASC');
     $pages->setCategory($cat);
     $pages->enablePager();
     $templateParameters = array('startnum' => $startnum, 'category' => CategoryUtil::getCategoryByID($cat), 'lang' => \ZLanguage::getLanguageCode(), 'pages' => $pages->get(), 'pager' => $pages->getPager());
     $request->attributes->set('_legacy', true);
     // forces template to render inside old theme
     return $this->render('ZikulaPagesModule:User:view.html.twig', $templateParameters);
 }