protected function performServiceOpteration($actionsStack, $execLevel)
 {
     foreach ($actionsStack as $methodCall) {
         $service = $methodCall['service'];
         $method = $methodCall['method'];
         $messages = $methodCall['messages'];
         $resultUsageOption = isset($methodCall['useResultTo']) ? $methodCall['useResultTo'] : null;
         $serviceInstance = $this->getServiceClassInstance($service);
         if (method_exists($serviceInstance, $method)) {
             if ($execLevel == self::PRE_EXEC) {
                 $request = $this->getContext()->getRequest();
                 $returnValue = $serviceInstance->{$method}($request);
             } elseif ($execLevel == self::POST_EXEC) {
                 $form = $this->getContext()->getActionStack()->getFirstEntry()->getActionInstance()->getForm();
                 $returnValue = $serviceInstance->{$method}($form);
             } else {
                 // TODO: Warn
             }
             if (!empty($resultUsageOption)) {
                 $this->peformActionOperation($resultUsageOption, $returnValue);
             }
             if (isset($messages[$serviceInstance->getState()])) {
                 MessageRegistry::instance()->addMessage($messages[$serviceInstance->getState()], $module, $action);
             }
         }
     }
 }
 /**
  *
  * @param <type> $request
  */
 public function execute($request)
 {
     /* For highlighting corresponding menu item */
     $request->setParameter('initialActionName', 'viewJobVacancy');
     $this->vacancyPermissions = $this->getDataGroupPermissions('recruitment_vacancies');
     $this->vacancyId = $request->getParameter('Id');
     $values = array('vacancyId' => $this->vacancyId, 'vacancyPermissions' => $this->vacancyPermissions);
     $this->setForm(new AddJobVacancyForm(array(), $values));
     if ($this->getUser()->hasFlash('templateMessage')) {
         list($this->messageType, $this->message) = $this->getUser()->getFlash('templateMessage');
         MessageRegistry::instance()->addMessage($this->message, 'recruitment', 'addJobVacancy', MessageRegistry::PREPEND);
         $this->message = MessageRegistry::instance()->getMessage('recruitment', 'addJobVacancy');
     }
     if ($request->isMethod('post')) {
         if ($this->vacancyPermissions->canCreate() || $this->vacancyPermissions->canUpdate()) {
             $this->form->bind($request->getParameter($this->form->getName()));
             if ($this->form->isValid()) {
                 $this->vacancyId = $this->form->save();
                 $this->getUser()->setFlash('success', __(TopLevelMessages::SAVE_SUCCESS));
                 $this->redirect('recruitment/addJobVacancy?Id=' . $this->vacancyId);
             } else {
                 Logger::getLogger('recruitment.addJobVacancy')->error($this->form);
                 $this->getUser()->setFlash('warning', __(TopLevelMessages::SAVE_FAILURE), false);
             }
         }
     }
 }
 /**
  *
  * @param <type> $request
  */
 public function execute($request)
 {
     /* For highlighting corresponding menu item */
     $request->setParameter('initialActionName', 'viewJobVacancy');
     $usrObj = $this->getUser()->getAttribute('user');
     if (!$usrObj->isAdmin()) {
         $this->redirect('recruitment/viewCandidates');
     }
     $this->vacancyId = $request->getParameter('Id');
     $values = array('vacancyId' => $this->vacancyId);
     $this->setForm(new AddJobVacancyForm(array(), $values));
     if ($this->getUser()->hasFlash('templateMessage')) {
         list($this->messageType, $this->message) = $this->getUser()->getFlash('templateMessage');
         MessageRegistry::instance()->addMessage($this->message, 'recruitment', 'addJobVacancy', MessageRegistry::PREPEND);
         $this->message = MessageRegistry::instance()->getMessage('recruitment', 'addJobVacancy');
     }
     if ($request->isMethod('post')) {
         $this->form->bind($request->getParameter($this->form->getName()));
         if ($this->form->isValid()) {
             $this->vacancyId = $this->form->save();
             $this->getUser()->setFlash('success', __(TopLevelMessages::SAVE_SUCCESS));
             $this->redirect('recruitment/addJobVacancy?Id=' . $this->vacancyId);
         }
     }
 }
Ejemplo n.º 4
0
 public function getMessage($module, $action, $formatted = true, $separator = '; ')
 {
     $message = sfContext::getInstance()->getUser()->getAttribute('message', array(), 'system');
     if (!isset($message[$module][$action])) {
         $message[$module][$action] = array();
     }
     MessageRegistry::instance()->flushMessage();
     return $formatted ? implode($separator, $message[$module][$action]) : $message[$module][$action];
 }