コード例 #1
0
 public function load(ObjectManager $manager)
 {
     $petition = new GroupPetition();
     $petition->setPetitionTitle('Petition title');
     $petition->setPetitionBody('Petition body');
     $petition->setUser($this->getReference('group-group1'));
     $petition->setPublishedAt(new \DateTime('now'));
     $option = new Option();
     $option->setQuestion($petition)->setValue('sign');
     $this->addReference('petition1', $petition);
     $this->addReference('petition-option1', $option);
     $manager->persist($option);
     $manager->persist($petition);
     $manager->flush();
 }
コード例 #2
0
 /**
  * @Route("/new")
  * @Template("CivixFrontBundle:Petition:new.html.twig")
  */
 public function newAction(Request $request)
 {
     $class = $this->getPetitionClass();
     $petitionFormClass = $this->getPetitionFormClass();
     $petition = new $class();
     $form = $this->createForm(new $petitionFormClass($this->getUser()), new PetitionFormModel($petition));
     if ('POST' === $request->getMethod()) {
         if ($form->submit($request)->isValid()) {
             $manager = $this->getDoctrine()->getManager();
             $petition->setUser($this->getUser());
             /* @var $educationalContext \Civix\FrontBundle\Form\Model\EducationalContext */
             $educationalContext = $form->getData()->getEducationalContext();
             $petition->clearEducationalContext();
             foreach ($educationalContext->getItems() as $item) {
                 if ($item->getImageFile()) {
                     $this->get('vich_uploader.storage')->upload($item);
                 }
                 /**
                  * @var $entity \Civix\CoreBundle\Entity\Poll\EducationalContext
                  */
                 $entity = $item->createEntity();
                 if ($entity) {
                     $entity->setQuestion($petition);
                     $manager->persist($entity);
                 }
             }
             $option = new Option();
             $option->setQuestion($petition)->setValue('sign');
             $manager->persist($option);
             $manager->persist($petition);
             $manager->flush();
             $this->get('session')->getFlashBag()->add('notice', 'The petition has been successfully saved');
             return $this->redirect($this->generateUrl("civix_front_{$this->getUser()->getType()}_petition_index"));
         }
     }
     return ['form' => $form->createView(), 'isShowGroupSection' => $this->isShowGroupSections($petition)];
 }
コード例 #3
0
 /**
  * Add options
  *
  * @param Option $options
  *
  * @return Question
  */
 public function addOption(Option $options)
 {
     $options->setQuestion($this);
     $this->options[] = $options;
     return $this;
 }
 public function setQuestion(\Civix\CoreBundle\Entity\Poll\Question $question = NULL)
 {
     $this->__load();
     return parent::setQuestion($question);
 }