/**
  * The add action
  * @return \Zend\View\Model\JsonModel
  */
 public function addAction()
 {
     if (!\Api\Service\Encoder\PageQuestion::validateParameters($this->_request->getParams())) {
         $this->getResponse()->setStatusCode(400);
         return new \Zend\View\Model\JsonModel(array("result" => "false", "error" => "Incorrect parameters"));
     } else {
         $model = new \Api\Model\PageQuestion();
         $model->setQuestionText($this->params()->fromPost("questionText"))->setRenderId($this->params()->fromPost("renderId"));
         $model = $this->getServiceLocator()->get("Api\\Service\\PageQuestion")->insert($model);
         if ($model instanceof \Api\Model\PageQuestion) {
             return new \Zend\View\Model\JsonModel(array("result" => "true", "error" => "", "model" => $model->toArray()));
         } else {
             $this->getResponse()->setStatusCode(417);
             return new \Zend\View\Model\JsonModel(array("result" => "false", "error" => "Add failed"));
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Add a new text question
  * @param  array $parameters
  * @return array
  */
 public function addText($parameters)
 {
     $answerService = $this->getServiceLocator()->get("Api\\Service\\Answer");
     $pageQuestionService = $this->getServiceLocator()->get("Api\\Service\\PageQuestion");
     $surveyId = $parameters['surveyId'];
     $pageId = $parameters['pageId'];
     $render = 3;
     if (isset($parameters['makeTextarea'])) {
         $render = 4;
     }
     $questionModel = new \Api\Model\Question();
     $questionModel->setQuestionText($parameters['questionText'])->setRenderId($render);
     $questionModel = $this->insert($questionModel);
     //now add the answer
     $answerModel = new \Api\Model\Answer();
     $answerModel->setAnswerText("text")->setQuestionId($questionModel->getId());
     $answerModel = $answerService->insert($answerModel);
     //now add the page question link
     $pageQuestionModel = new \Api\Model\PageQuestion();
     $pageQuestionModel->setQuestionId($questionModel->getId())->setPageId($parameters['pageId'])->setSortOrder($this->getPageQuestionSortOrder($parameters['pageId']));
     $pageQuestionModel = $pageQuestionService->insert($pageQuestionModel);
     return array('question' => $questionModel->toArray(), 'answers' => array($answerModel->toArray()), 'pageQuestion' => $pageQuestionModel->toArray());
 }