/** * 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(); } }
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); } } }