/** * @return \Zend\View\Model\ViewModel */ public function listAction() { $page = $this->params('page'); $templateQuery = $this->getGeneralService()->findFiltered(WebInfo::class, []); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($templateQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['paginator' => $paginator]); }
/** * @return ViewModel */ public function missingAction() { $affiliation = $this->getAffiliationService()->findAffiliationWithMissingLoi(); $page = $this->params('page'); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($affiliation, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['paginator' => $paginator]); }
/** * @return ViewModel */ public function overviewAction() { $which = $this->params('which', CalendarService::WHICH_UPCOMING); $page = $this->params('page', 1); $calendarItems = $this->getCalendarService()->findCalendarItems($which, $this->zfcUserAuthentication()->getIdentity()); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($calendarItems))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $whichValues = $this->getCalendarService()->getWhichValues(); return new ViewModel(['enableCalendarContact' => $this->getModuleOptions()->getCommunityCalendarContactEnabled(), 'which' => $which, 'paginator' => $paginator, 'whichValues' => $whichValues]); }
/** * @return \Zend\View\Model\ViewModel */ public function listAction() { $page = $this->params()->fromRoute('page', 1); $filterPlugin = $this->getGeneralFilter(); $contactQuery = $this->getGeneralService()->findEntitiesFiltered('gender', $filterPlugin->getFilter()); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($contactQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 20); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $form = new GenderFilter($this->getGeneralService()); $form->setData(['filter' => $filterPlugin->getFilter()]); return new ViewModel(['paginator' => $paginator, 'form' => $form, 'encodedFilter' => urlencode($filterPlugin->getHash()), 'order' => $filterPlugin->getOrder(), 'direction' => $filterPlugin->getDirection()]); }
/** * @return ViewModel */ public function viewAction() { $organisationService = $this->getOrganisationService()->setOrganisationId($this->params('id')); $page = $this->params()->fromRoute('page', 1); $filterPlugin = $this->getInvoiceFilter(); $invoiceQuery = $this->getInvoiceService()->findEntitiesFiltered('invoice', array_merge($filterPlugin->getFilter(), ['organisation' => [$organisationService->getOrganisation()->getId()]])); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($invoiceQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $form = new InvoiceFilter($this->getInvoiceService()); $form->setData(['filter' => $filterPlugin->getFilter()]); $projects = $this->getProjectService()->findProjectByOrganisation($organisationService->getOrganisation(), ProjectService::WHICH_ALL); return new ViewModel(['paginator' => $paginator, 'form' => $form, 'encodedFilter' => urlencode($filterPlugin->getHash()), 'order' => $filterPlugin->getOrder(), 'direction' => $filterPlugin->getDirection(), 'organisationService' => $organisationService, 'organisationDoa' => $this->getDoaService()->findDoaByOrganisation($organisationService->getOrganisation()), 'organisationLoi' => $this->getLoiService()->findLoiByOrganisation($organisationService->getOrganisation()), 'projects' => $projects, 'projectService' => $this->getProjectService()]); }
/** * @return ViewModel */ public function listAction() { if (!is_null($this->params('call'))) { $this->getCallService()->setCallId($this->params('call')); } if (!is_null($this->params('program'))) { $this->getProgramService()->setProgramId($this->params('program')); } $page = $this->params('page'); $projects = $this->getProjectService()->findProjectByContactByProgramOrCall($this->zfcUserAuthentication()->getIdentity(), ProjectService::WHICH_ALL, !$this->getProgramService()->isEmpty() ? $this->getProgramService()->getProgram() : null, !$this->getCallService()->isEmpty() ? $this->getCallService()->getCall() : null, null, $this->params()->fromQuery('q')); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($projects, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['paginator' => $paginator, 'search' => $this->params()->fromQuery('q'), 'calls' => $this->getCallService()->findNonEmptyCalls(), 'callId' => $this->getCallService()->isEmpty() ? null : $this->getCallService()->getCall()->getId(), 'selectedProgramId' => $this->getProgramService()->isEmpty() ? null : $this->getProgramService()->getProgram()->getId()]); }
/** * @return ViewModel */ public function listAction() { $paginator = null; $searchForm = new Search(); $search = $this->getRequest()->getQuery()->get('search'); $page = $this->getRequest()->getQuery()->get('page'); $searchForm->setData($_GET); if ($this->getRequest()->isGet() && $searchForm->isValid() && !empty($search)) { $contactSearchQuery = $this->getContactService()->searchContacts($search); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($contactSearchQuery))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); } return new ViewModel(['paginator' => $paginator, 'form' => $searchForm]); }
/** * Display the calendar on the website. * * @return ViewModel */ public function overviewAction() { $which = $this->getEvent()->getRouteMatch()->getParam('which', CalendarService::WHICH_UPCOMING); $page = $this->getEvent()->getRouteMatch()->getParam('page', 1); $year = $this->getEvent()->getRouteMatch()->getParam('year', date("Y")); $birthDays = $this->getContactService()->findContactsWithDateOfBirth(); $calendarItems = $this->getCalendarService()->findCalendarItems($which, $this->zfcUserAuthentication()->getIdentity())->getResult(); $calender = []; $today = new \DateTime(); foreach ($birthDays as $birthDay) { /* * Produce a index which holds the current year */ $dateOfBirth = $birthDay->getDateOfBirth(); $birthDayDate = \DateTime::createFromFormat('Y-m-d', sprintf("%s-%s", date('Y'), $dateOfBirth->format('m-d'))); if ($birthDayDate < $today) { continue; } $index = $birthDayDate->format('Y-m-d'); $calender[$index][] = ['item' => sprintf(_("Birthday of %s (%s)"), $birthDay->getDisplayName(), $birthDay->getDateOfBirth()->format("Y")), 'date' => $birthDayDate]; } /** * @var $calendarItem Calendar */ foreach ($calendarItems as $calendarItem) { if ($calendarItem->getDateFrom() < $today) { continue; } $index = $calendarItem->getDateFrom()->format('Y-m-d'); $calender[$index][] = ['item' => $calendarItem->getCalendar(), 'calendar' => $calendarItem, 'date' => null]; } ksort($calender); $paginator = new Paginator(new ArrayAdapter($calender)); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : PHP_INT_MAX); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $whichValues = $this->getCalendarService()->getWhichValues(); return new ViewModel(['which' => $which, 'paginator' => $paginator, 'whichValues' => $whichValues]); }
/** * @group ZF-5785 */ public function testGetSetDefaultItemCountPerPage() { Paginator\Paginator::setGlobalConfig(new Config\Config(array())); $paginator = new Paginator\Paginator(new Adapter\ArrayAdapter(range(1, 10))); $this->assertEquals(10, $paginator->getItemCountPerPage()); Paginator\Paginator::setDefaultItemCountPerPage(20); $this->assertEquals(20, Paginator\Paginator::getDefaultItemCountPerPage()); $paginator = new Paginator\Paginator(new Adapter\ArrayAdapter(range(1, 10))); $this->assertEquals(20, $paginator->getItemCountPerPage()); $this->_restorePaginatorDefaults(); }
/** * @group ZF-5785 */ public function testGetSetDefaultItemCountPerPage() { Paginator\Paginator::setOptions(new Config\Config(array())); $paginator = Paginator\Paginator::factory(range(1, 10)); $this->assertEquals(10, $paginator->getItemCountPerPage()); Paginator\Paginator::setDefaultItemCountPerPage(20); $this->assertEquals(20, Paginator\Paginator::getDefaultItemCountPerPage()); $paginator = Paginator\Paginator::factory(range(1, 10)); $this->assertEquals(20, $paginator->getItemCountPerPage()); $this->_restorePaginatorDefaults(); }
/** * @return ViewModel */ public function searchAction() { $searchService = $this->getContactSearchService(); $page = $this->params('page', 1); $form = new SearchResult(); $data = array_merge(['query' => '*', 'facet' => []], $this->getRequest()->getQuery()->toArray()); if ($this->getRequest()->isGet()) { $searchService->setSearch($data['query']); if (isset($data['facet'])) { foreach ($data['facet'] as $facetField => $values) { $quotedValues = []; foreach ($values as $value) { $quotedValues[] = sprintf("\"%s\"", $value); } $searchService->addFilterQuery($facetField, implode(' ' . SolariumQuery::QUERY_OPERATOR_OR . ' ', $quotedValues)); } } $form->addSearchResults($searchService->getQuery()->getFacetSet(), $searchService->getResultSet()->getFacetSet()); $form->setData($data); } $paginator = new Paginator(new SolariumPaginator($searchService->getSolrClient(), $searchService->getQuery())); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 16); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['form' => $form, 'paginator' => $paginator, 'queryParams' => http_build_query($data), 'routeName' => $this->getEvent()->getRouteMatch()->getMatchedRouteName(), 'params' => $this->getEvent()->getRouteMatch()->getParams(), 'currentPage' => $page, 'lastPage' => $paginator->getPageRange(), 'showAlwaysFirstAndLast' => true]); }
/** * @return ViewModel */ public function noFinancialAction() { $page = $this->params()->fromRoute('page', 1); $filterPlugin = $this->getOrganisationFilter(); $organisationQuery = $this->getOrganisationService()->findActiveOrganisationWithoutFinancial($filterPlugin->getFilter()); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($organisationQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $form = new OrganisationFilter($this->getOrganisationService()); $form->setData(['filter' => $filterPlugin->getFilter()]); return new ViewModel(['paginator' => $paginator, 'form' => $form, 'encodedFilter' => urlencode($filterPlugin->getHash()), 'order' => $filterPlugin->getOrder(), 'direction' => $filterPlugin->getDirection()]); }
/** * @param int $page * * @return string */ public function parseProjectList($page = 1) { //if call is not empty $whichProjects = $this->getProjectService()->getOptions()->getProjectHasVersions() ? ProjectService::WHICH_ONLY_ACTIVE : ProjectService::WHICH_ALL; $whichTemplate = $this->getProjectService()->getOptions()->getProjectHasVersions() ? 'project/partial/list/project' : 'project/partial/list/project_eu'; if (!$this->getCallService()->isEmpty()) { $cacheKey = 'call_' . $this->getCallService()->getCall()->getId(); $projectQuery = $this->getProjectService()->findProjectsByCall($this->getCallService()->getCall(), $whichProjects); } elseif (!$this->getProgramService()->isEmpty()) { $cacheKey = 'program_' . $this->getProgramService()->getProgram()->getId(); $projectQuery = $this->getProjectService()->findProjectByProgram($this->getProgramService()->getProgram(), $whichProjects); } else { $cacheKey = 'all'; $projectQuery = $this->getProjectService()->findAllProjects($whichProjects); } //Push the yearSpan into the navigation $this->getServiceLocator()->get('content_update_navigation_service')->updateNavigationWithCalls($this->getRouteMatch()->getParam('docRef'), $this->getCallService()->findNonEmptyCalls(), (int) $this->getRouteMatch()->getParam('call')); $success = false; $config = $this->getConfig(); $key = $config['cache_key'] . '-project-list-html-' . $cacheKey . '-page-' . $page; $html = $this->getCache()->getItem($key, $success); if (!$success) { $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($projectQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $html = $this->getZfcTwigRenderer()->render($whichTemplate, ['paginator' => $paginator]); $this->getCache()->setItem($key, $html); } return $html; }
/** * Create a list of organisations for the current country. * * @param int $page * @throws \InvalidArgumentException * @return string */ public function parseOrganisationList($page) { if (is_null($this->getCountry())) { throw new \InvalidArgumentException("The country cannot be null"); } $organisationQuery = $this->getOrganisationService()->findOrganisationByCountry($this->getCountry(), true, true); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($organisationQuery))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return $this->getRenderer()->render('general/partial/list/organisation', ['country' => $this->getCountry(), 'paginator' => $paginator]); }
/** * Produce a list of organisation. * * @param $page * * @return string */ public function parseOrganisationList($page) { $organisationQuery = $this->getOrganisationService()->findOrganisations(true, true); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($organisationQuery))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return $this->getRenderer()->render('organisation/partial/list/organisation', ['paginator' => $paginator]); }