public function load(ObjectManager $manager)
 {
     $exercisequestion = new ExerciseQuestion($this->getReference('exercise1'), $this->getReference('question1'));
     $exercisequestion->setOrdre(1);
     $manager->persist($exercisequestion);
     $manager->flush();
     $exercisequestion = new ExerciseQuestion($this->getReference('exercise1'), $this->getReference('question2'));
     $exercisequestion->setOrdre(2);
     $manager->persist($exercisequestion);
     $manager->flush();
 }
 /**
  * To link a question with an exercise
  *
  * @access public
  *
  * @param UJM\ExoBundle\Entity\Exercise $exercise instance of Exercise
  * @param InteractionQCM or InteractionGraphic or ... $interX
  *
  */
 public function setExerciseQuestion($exercise, $interX, $order = -1)
 {
     $eq = new ExerciseQuestion($exercise, $interX->getInteraction()->getQuestion());
     if ($order == -1) {
         $dql = 'SELECT max(eq.ordre) FROM UJM\\ExoBundle\\Entity\\ExerciseQuestion eq ' . 'WHERE eq.exercise=' . $exercise->getId();
         $query = $this->doctrine->getManager()->createQuery($dql);
         $maxOrdre = $query->getResult();
         $eq->setOrdre((int) $maxOrdre[0][1] + 1);
     } else {
         $eq->setOrdre($order);
     }
     $this->om->persist($eq);
     $this->om->flush();
 }
 public function onCopy(CopyResourceEvent $event)
 {
     $em = $this->container->get('doctrine.orm.entity_manager');
     $resource = $event->getResource();
     $exerciseToCopy = $em->getRepository('UJMExoBundle:Exercise')->find($resource->getId());
     $listQuestionsExoToCopy = $em->getRepository('UJMExoBundle:ExerciseQuestion')->findBy(array('exercise' => $exerciseToCopy->getId()));
     $newExercise = new Exercise();
     $newExercise->setName($resource->getName());
     $newExercise->setTitle($exerciseToCopy->getTitle());
     $newExercise->setDescription($exerciseToCopy->getDescription());
     $newExercise->setShuffle($exerciseToCopy->getShuffle());
     $newExercise->setNbQuestion($exerciseToCopy->getNbQuestion());
     $newExercise->setDateCreate($exerciseToCopy->getDateCreate());
     $newExercise->setDuration($exerciseToCopy->getDuration());
     $newExercise->setNbQuestionPage($exerciseToCopy->getNbQuestionPage());
     $newExercise->setDoprint($exerciseToCopy->getDoprint());
     $newExercise->setMaxAttempts($exerciseToCopy->getMaxAttempts());
     $newExercise->setCorrectionMode($exerciseToCopy->getCorrectionMode());
     $newExercise->setDateCorrection($exerciseToCopy->getDateCorrection());
     $newExercise->setMarkMode($exerciseToCopy->getMarkMode());
     $newExercise->setStartDate($exerciseToCopy->getStartDate());
     $newExercise->setUseDateEnd($exerciseToCopy->getUseDateEnd());
     $newExercise->setEndDate($exerciseToCopy->getEndDate());
     $newExercise->setDispButtonInterrupt($exerciseToCopy->getDispButtonInterrupt());
     $newExercise->setLockAttempt($exerciseToCopy->getLockAttempt());
     $newExercise->setPublished($exerciseToCopy->getPublished());
     $em->persist($newExercise);
     $em->flush();
     foreach ($listQuestionsExoToCopy as $eq) {
         $questionToAdd = $em->getRepository('UJMExoBundle:Question')->find($eq->getQuestion());
         $exerciseQuestion = new ExerciseQuestion($newExercise, $questionToAdd);
         $exerciseQuestion->setOrdre($eq->getOrdre());
         $em->persist($exerciseQuestion);
     }
     $user = $this->container->get('security.token_storage')->getToken()->getUser();
     $subscription = new Subscription($user, $newExercise);
     $subscription->setAdmin(true);
     $subscription->setCreator(true);
     $em->persist($subscription);
     $em->flush();
     $event->setCopy($newExercise);
     $event->stopPropagation();
 }
 /**
  * To record the question's import.
  *
  * @access public
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function importValidateAction()
 {
     $request = $this->container->get('request');
     if ($request->isXmlHttpRequest()) {
         $exoID = $request->request->get('exoID');
         $pageGoNow = $request->request->get('pageGoNow');
         $qid = $request->request->get('qid');
         $em = $this->getDoctrine()->getManager();
         $dql = 'SELECT max(eq.ordre) FROM UJM\\ExoBundle\\Entity\\ExerciseQuestion eq ' . 'WHERE eq.exercise=' . $exoID;
         $query = $em->createQuery($dql);
         $result = $query->getResult();
         $maxOrdre = (int) $result[0][1] + 1;
         foreach ($qid as $q) {
             $question = $this->getDoctrine()->getManager()->getRepository('UJMExoBundle:Question')->find($q);
             if (count($question) > 0) {
                 $exo = $em->getRepository('UJMExoBundle:Exercise')->find($exoID);
                 $question = $em->getRepository('UJMExoBundle:Question')->find($q);
                 $eq = new ExerciseQuestion($exo, $question);
                 $eq->setOrdre((int) $maxOrdre);
                 $em->persist($eq);
                 $maxOrdre++;
             }
         }
         $em->flush();
         $url = (string) $this->generateUrl('ujm_exercise_questions', array('id' => $exoID, 'pageNow' => $pageGoNow));
         return new \Symfony\Component\HttpFoundation\Response($url);
     } else {
         return $this->redirect($this->generateUrl('ujm_exercise_import_question', array('exoID' => $exoID)));
     }
 }