Ejemplo n.º 1
0
 public function testSetGetPartial()
 {
     $options = ['fieldset' => 'Jobs/ListFilterLocationFieldset'];
     $testedObject = new ListFilter(null, $options);
     $this->assertEquals($testedObject->getViewPartial(), 'jobs/form/list-filter');
     $input = "viewpartial";
     $testedObject->setViewPartial($input);
     $this->assertEquals($testedObject->getViewPartial(), $input);
 }
Ejemplo n.º 2
0
 /**
  * List job postings
  *
  * @return ViewModel
  */
 public function indexAction()
 {
     /* @var $request \Zend\Http\Request */
     $request = $this->getRequest();
     $params = $request->getQuery();
     $jsonFormat = 'json' == $params->get('format');
     $isRecruiter = $this->acl()->isRole(User::ROLE_RECRUITER);
     if (!$jsonFormat && !$request->isXmlHttpRequest()) {
         $session = new Session('Jobs\\Index');
         $sessionKey = $this->auth()->isLoggedIn() ? 'userParams' : 'guestParams';
         $sessionParams = $session[$sessionKey];
         if ($sessionParams) {
             foreach ($sessionParams as $key => $value) {
                 $params->set($key, $params->get($key, $value));
             }
         } elseif ($isRecruiter) {
             $params->set('by', 'me');
         }
         $session[$sessionKey] = $params->toArray();
         $this->searchForm->bind($params);
     }
     if (!isset($params['sort'])) {
         $params['sort'] = '-date';
     }
     $paginator = $this->paginatorservice('Jobs/Job', $params);
     $return = array('by' => $params->get('by', 'all'), 'jobs' => $paginator);
     if (isset($this->searchForm)) {
         $return['filterForm'] = $this->searchForm;
     }
     $model = new ViewModel();
     $model->setVariables($return);
     $model->setTemplate('jobs/index/index');
     return $model;
 }
Ejemplo n.º 3
0
 /**
  * @return ViewModel
  */
 public function listOpenJobsAction()
 {
     /* @var $request \Zend\Http\Request */
     $request = $this->getRequest();
     $params = $request->getQuery();
     $jsonFormat = 'json' == $params->get('format');
     if (!$jsonFormat && !$request->isXmlHttpRequest()) {
         $session = new Session('Jobs\\Index');
         $sessionKey = $this->auth()->isLoggedIn() ? 'userParams' : 'guestParams';
         $sessionParams = $session[$sessionKey];
         if ($sessionParams) {
             foreach ($sessionParams as $key => $value) {
                 $params->set($key, $params->get($key, $value));
             }
         }
         /* @var $filterForm \Jobs\Form\ListFilter */
         $session[$sessionKey] = $params->toArray();
         $this->searchForm->bind($params);
     }
     if (!isset($params['sort'])) {
         $params['sort'] = '-date';
     }
     $paginator = $this->paginator('Jobs/Admin', $params);
     $return = array('by' => $params->get('by', 'all'), 'jobs' => $paginator);
     if (isset($this->searchForm)) {
         $return['filterForm'] = $this->searchForm;
     }
     $model = new ViewModel();
     $model->setVariables($return);
     $model->setTemplate('jobs/index/approval');
     return $model;
 }
Ejemplo n.º 4
0
 /**
  * List jobs
  *
  * @return ViewModel
  */
 public function indexAction()
 {
     /* @var \Zend\Http\Request $request */
     $request = $this->getRequest();
     $params = $request->getQuery();
     $jsonFormat = 'json' == $request->getQuery()->get('format');
     $event = $this->getEvent();
     $routeMatch = $event->getRouteMatch();
     $matchedRouteName = $routeMatch->getMatchedRouteName();
     $url = $this->url()->fromRoute($matchedRouteName, array(), array('force_canonical' => true));
     if (!$jsonFormat && !$request->isXmlHttpRequest()) {
         $session = new Session('Jobs\\Index');
         $sessionKey = $this->auth()->isLoggedIn() ? 'userParams' : 'guestParams';
         $sessionParams = $session[$sessionKey];
         if ($sessionParams) {
             foreach ($sessionParams as $key => $value) {
                 $params->set($key, $params->get($key, $value));
             }
         }
         $session[$sessionKey] = $params->toArray();
         $this->searchForm->bind($params);
     }
     $params = $params->get('params', []);
     if (isset($params['l']['data']) && isset($params['l']['name']) && !empty($params['l']['name'])) {
         /* @var \Geo\Form\GeoText $geoText */
         $geoText = $this->searchForm->get('params')->get('l');
         $geoText->setValue($params['l']);
         $params['location'] = $geoText->getValue('entity');
     }
     if (!isset($params['sort'])) {
         $params['sort'] = '-date';
     }
     $this->searchForm->setAttribute('action', $url);
     $params['by'] = "guest";
     $paginator = $this->paginator('Jobs/Board', $params);
     $options = $this->searchForm->getOptions();
     $options['showButtons'] = false;
     $this->searchForm->setOptions($options);
     $organizationImageCache = $this->serviceLocator->get('Organizations\\ImageFileCache\\Manager');
     $return = array('by' => $params['by'], 'jobs' => $paginator, 'filterForm' => $this->searchForm, 'organizationImageCache' => $organizationImageCache);
     $model = new ViewModel($return);
     return $model;
 }
Ejemplo n.º 5
0
 /**
  * List jobs
  */
 public function indexAction()
 {
     $params = $this->getRequest()->getQuery();
     $jsonFormat = 'json' == $params->get('format');
     if (!$jsonFormat && !$this->getRequest()->isXmlHttpRequest()) {
         $session = new Session('Jobs\\Index');
         $sessionKey = $this->auth()->isLoggedIn() ? 'userParams' : 'guestParams';
         $sessionParams = $session[$sessionKey];
         if ($sessionParams) {
             foreach ($sessionParams as $key => $value) {
                 $params->set($key, $params->get($key, $value));
             }
         }
         $session[$sessionKey] = $params->toArray();
         $this->searchForm->bind($params);
     }
     if (!isset($params['sort'])) {
         $params['sort'] = '-date';
     }
     $params['by'] = "guest";
     $paginator = $this->paginator('Jobs/Job', $params);
     $return = array('by' => $params->get('by', 'all'), 'jobs' => $paginator, 'filterForm' => $this->searchForm);
     return $return;
 }