示例#1
0
 /**
  * Record the LOR answer as a child answer
  * @param \Foundation\Form\Input $input
  * @param \Jazzee\Entity\Answer $parent
  */
 public function newLorAnswer(\Foundation\Form\Input $input, \Jazzee\Entity\Answer $parent)
 {
     if ($parent->getChildren()->count() == 0) {
         $page = $parent->getPage()->getChildren()->first();
         $child = new \Jazzee\Entity\Answer();
         $parent->addChild($child);
         $child->setPage($page);
         $child->setApplicant($parent->getApplicant());
         foreach ($page->getElements() as $element) {
             $element->getJazzeeElement()->setController($this->_controller);
             foreach ($element->getJazzeeElement()->getElementAnswers($input->get('el' . $element->getId())) as $elementAnswer) {
                 $child->addElementAnswer($elementAnswer);
             }
         }
         $this->_form->applyDefaultValues();
         $this->_controller->getEntityManager()->persist($child);
         //flush here so the answerId will be correct when we view
         $this->_controller->getEntityManager()->flush();
     }
 }
示例#2
0
 public function fillLorForm(\Jazzee\Entity\Answer $answer)
 {
     $child = $answer->getChildren()->first();
     $this->branchingForm($child->getPage());
     foreach ($child->getPage()->getElements() as $element) {
         $element->getJazzeeElement()->setController($this->_controller);
         $value = $element->getJazzeeElement()->formValue($child);
         if ($value) {
             $this->getForm()->getElementByName('el' . $element->getId())->setValue($value);
         }
     }
 }