/** * @covers Kunstmaan\FormBundle\Entity\FormSubmissionField::getSubmission * @covers Kunstmaan\FormBundle\Entity\FormSubmissionField::setSubmission */ public function testSetGetSubmission() { $object = $this->object; $submission = new FormSubmission(); $submission->setId(123); $object->setSubmission($submission); $retrievedSubmission = $object->getSubmission(); $this->assertEquals($submission, $retrievedSubmission); $this->assertEquals($submission->getId(), $retrievedSubmission->getId()); }
/** * @param FormPageInterface $page The form page * @param Request $request The request * @param RenderContext $context The render context * * @return RedirectResponse|void|null */ public function handleForm(FormPageInterface $page, Request $request, RenderContext $context) { /* @var $em EntityManager */ $em = $this->container->get('doctrine.orm.entity_manager'); /* @var $formBuilder FormBuilderInterface */ $formBuilder = $this->container->get('form.factory')->createBuilder('form'); /* @var $router RouterInterface */ $router = $this->container->get('router'); /* @var $fields ArrayObject */ $fields = new ArrayObject(); $pageParts = $em->getRepository('KunstmaanPagePartBundle:PagePartRef')->getPageParts($page, $page->getFormElementsContext()); foreach ($pageParts as $sequence => $pagePart) { if ($pagePart instanceof FormAdaptorInterface) { $pagePart->adaptForm($formBuilder, $fields, $sequence); } } $form = $formBuilder->getForm(); if ($request->getMethod() == 'POST') { $form->handleRequest($request); if ($form->isValid()) { $formSubmission = new FormSubmission(); $formSubmission->setIpAddress($request->getClientIp()); $formSubmission->setNode($em->getRepository('KunstmaanNodeBundle:Node')->getNodeFor($page)); $formSubmission->setLang($locale = $request->getLocale()); $em->persist($formSubmission); /* @var $field FormSubmissionField */ foreach ($fields as $field) { $field->setSubmission($formSubmission); $field->onValidPost($form, $formBuilder, $request, $this->container); $em->persist($field); } $em->flush(); $em->refresh($formSubmission); $event = new SubmissionEvent($formSubmission, $page); $this->container->get('event_dispatcher')->dispatch(FormEvents::ADD_SUBMISSION, $event); $from = $page->getFromEmail(); $to = $page->getToEmail(); $subject = $page->getSubject(); if (!empty($from) && !empty($to) && !empty($subject)) { $mailer = $this->container->get('kunstmaan_form.form_mailer'); $mailer->sendContactMail($formSubmission, $from, $to, $subject); } return new RedirectResponse($page->generateThankYouUrl($router, $context)); } } $context["frontendform"] = $form->createView(); $context["frontendformobject"] = $form; return null; }
/** * @covers Kunstmaan\FormBundle\Entity\FormSubmission::__toString */ public function testToString() { $stringValue = $this->object->__toString(); $this->assertNotNull($stringValue); $this->assertTrue(is_string($stringValue)); }