/**
  *
  * @param <type> $request
  * @return <type>
  */
 public function execute($request)
 {
     $this->setLayout(false);
     sfConfig::set('sf_web_debug', false);
     sfConfig::set('sf_debug', false);
     if ($this->getRequest()->isXmlHttpRequest()) {
         $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8');
     }
     $userRoleManager = $this->getContext()->getUserRoleManager();
     $mode = $request->getParameter('mode');
     $dataGroupName = $mode == self::MODE_CANDIDATES ? 'recruitment_candidates' : 'recruitment_vacancies';
     $requiredPermissions = array(BasicUserRoleManager::PERMISSION_TYPE_DATA_GROUP => array($dataGroupName => new ResourcePermission(true, false, false, false)));
     $allowedVacancyList = $userRoleManager->getAccessibleEntityIds('Vacancy', null, null, array(), array(), $requiredPermissions);
     $jobTitle = $request->getParameter('jobTitle');
     $vacancyService = new VacancyService();
     $vacancyList = $vacancyService->getVacancyListForJobTitle($jobTitle, $allowedVacancyList, true);
     $newVacancyList = array();
     foreach ($vacancyList as $vacancy) {
         if ($vacancy['status'] == JobVacancy::CLOSED) {
             $vacancy['name'] = $vacancy['name'] . " (Closed)";
         }
         $newVacancyList[] = $vacancy;
     }
     return $this->renderText(json_encode($newVacancyList));
 }
 /**
  *
  * @param <type> $request
  * @return <type>
  */
 public function execute($request)
 {
     $allowedVacancyList = $this->getUser()->getAttribute('user')->getAllowedVacancyList();
     $this->setLayout(false);
     sfConfig::set('sf_web_debug', false);
     sfConfig::set('sf_debug', false);
     $hiringManagerList = array();
     if ($this->getRequest()->isXmlHttpRequest()) {
         $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8');
     }
     $jobTitle = $request->getParameter('jobTitle');
     $vacancyId = $request->getParameter('vacancyId');
     $vacancyService = new VacancyService();
     $hiringManagerList = $vacancyService->getHiringManagersList($jobTitle, $vacancyId, $allowedVacancyList);
     return $this->renderText(json_encode($hiringManagerList));
 }
 /**
  *
  * @param <type> $request
  * @return <type>
  */
 public function execute($request)
 {
     $this->setLayout(false);
     sfConfig::set('sf_web_debug', false);
     sfConfig::set('sf_debug', false);
     $userRoleManager = $this->getContext()->getUserRoleManager();
     $mode = $request->getParameter('mode');
     $dataGroupName = $mode == getVacancyListForJobTitleJsonAction::MODE_CANDIDATES ? 'recruitment_candidates' : 'recruitment_vacancies';
     $requiredPermissions = array(BasicUserRoleManager::PERMISSION_TYPE_DATA_GROUP => array($dataGroupName => new ResourcePermission(true, false, false, false)));
     $allowedVacancyList = $userRoleManager->getAccessibleEntityIds('Vacancy', null, null, array(), array(), $requiredPermissions);
     if ($this->getRequest()->isXmlHttpRequest()) {
         $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8');
     }
     $jobTitle = $request->getParameter('jobTitle');
     $vacancyId = $request->getParameter('vacancyId');
     $vacancyService = new VacancyService();
     $hiringManagerList = $vacancyService->getHiringManagersList($jobTitle, $vacancyId, $allowedVacancyList);
     return $this->renderText(json_encode($hiringManagerList));
 }
 /**
  *
  * @param <type> $request
  * @return <type>
  */
 public function execute($request)
 {
     $allowedVacancyList = $this->getUser()->getAttribute('user')->getAllowedVacancyList();
     $this->setLayout(false);
     sfConfig::set('sf_web_debug', false);
     sfConfig::set('sf_debug', false);
     $vacancyList = array();
     if ($this->getRequest()->isXmlHttpRequest()) {
         $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8');
     }
     $jobTitle = $request->getParameter('jobTitle');
     $vacancyService = new VacancyService();
     $vacancyList = $vacancyService->getVacancyListForJobTitle($jobTitle, $allowedVacancyList, true);
     $newVacancyList = array();
     foreach ($vacancyList as $vacancy) {
         if ($vacancy['status'] == JobVacancy::CLOSED) {
             $vacancy['name'] = $vacancy['name'] . " (Closed)";
         }
         $newVacancyList[] = $vacancy;
     }
     return $this->renderText(json_encode($newVacancyList));
 }
 public function getAllowedVacancyList($role, $empNumber)
 {
     $vacancyService = new VacancyService();
     return $vacancyService->getVacancyListForUserRole($role, $empNumber);
 }