/** * Creates fake Quiz and exercise in it * @param string $exerciseName Exercise's class name */ public function createForPortalAction($exerciseName) { $quiz = new \_OurBrand_\Quiz\Domain\Model\Quiz(); if (!$this->accessHelper->canUserCreateQuiz($this->currentUser, $quiz->getType())) { $this->throwStatus(403); } $quiz->setCreator($this->currentUser->getIdentifier()); $quiz->setAuthor($this->currentUser->getName()); $quiz->setPropertiesForPortalQuizWhenCreatesTheQuiz(); $this->quizRepository->add($quiz); $exerciseType = null; $exerciseClassName = '\\_OurBrand_\\Quiz\\Domain\\Model\\Exercises\\' . $exerciseName; if (class_exists($exerciseClassName)) { $newExercise = $this->objectManager->get($exerciseClassName); } else { throw new \InvalidArgumentException('Model Class not defined: ' . $exerciseName); } $quiz->addExercise($newExercise); $quiz->touch(); $newExercise->setType($exerciseType); $newExercise->setTitle(''); $this->quizRepository->update($quiz); $this->persistenceManager->persistAll(); $this->redirect('editForPortal', 'exercise', null, array('exercise' => $newExercise)); }
/** * @param \_OurBrand_\Quiz\Domain\Model\Quiz $quiz */ public function duplicateAction($quiz) { $newQuiz = $this->quizService->makeCopy($quiz); if ($newQuiz == null) { // TODO: User error handling. } $newQuiz->setCreator($this->currentUser->getIdentifier()); $newQuiz->setIsDraft(true); $this->quizRepository->add($newQuiz); $this->persistenceManager->persistAll(); $this->redirect('edit', null, null, array('quiz' => $newQuiz)); }
/** * Generate testData * * This command inserts all the required data to start testing the student view of the Dictation exercise * * @return void */ public function generateInsertCommand() { $quiz = new Quiz(); $quiz->setTitle('Dictation Insert'); $quiz->setAuthor('Test Instructor'); $quiz->setCreator('instructor'); $quiz->setIsDraft(false); $quiz->setType(0); $exercise = new InsertDictationExercise(); $exercise->setTitle('Spelling and Grammer: Insert Dictation'); $exercise->setDescription('Description'); $snippet = new DictationSnippet(); $snippet->setText('<span class="textShow">This is a very</span> <span class="textmark">marvellous</span> horse'); $markedText = new MarkedText(); $markedText->setText('marvellous'); $snippet->addMarkedText($markedText); $exercise->addSnippet($snippet); $snippet = new DictationSnippet(); $snippet->setText('<span class="textShow">This is another</span> <span class="textmark">sentence</span> horse'); $markedText = new MarkedText(); $markedText->setText('sentence'); $snippet->addMarkedText($markedText); $exercise->addSnippet($snippet); $snippet = new DictationSnippet(); $snippet->setText('<span class="textmark">Newest</span> <span class="textShow">more</span><span class="textmark">text</span>'); $markedText = new MarkedText(); $markedText->setText('Newest'); $snippet->addMarkedText($markedText); $markedText = new MarkedText(); $markedText->setText('text'); $snippet->addMarkedText($markedText); $exercise->addSnippet($snippet); $quiz->addExercise($exercise); $this->quizRepository->add($quiz); //Create QuizSession $quizSession = new QuizSession(); $quizSession->setQuiz($quiz); $quizSession->setInstructor('instructor'); $quizSession->setStudentCanSeeSummaryAndReviewExercises(1); $quizSession->setShowGradeOnSummary(1); $this->quizSessionRepository->add($quizSession); //Create studentQuizSession $studentQuizSession = new StudentQuizSession(); $studentQuizSession->setQuizSession($quizSession); $studentQuizSession->setStudent('student'); $this->studentQuizSessionRepository->add($studentQuizSession); }
public function setUpQuiz() { $quiz = new \_OurBrand_\Quiz\Domain\Model\Quiz(); $quiz->setAuthor('Tester'); $quiz->setIsDraft(false); $quiz->setIsDeleted(false); $quiz->setCreator('tester'); $quiz->setType(0); $quiz->setTitle('Test Quiz'); $subject = $this->filterOptions['subjects']['Math']; $quiz->addSubject($subject); $level1 = $this->filterOptions['teamLevels']['4']; $quiz->addLevel($level1); $level2 = $this->filterOptions['teamLevels']['5']; $quiz->addLevel($level2); $category = $this->filterOptions['categories']['Geometry']; $quiz->setCategory($category); $quiz->addExercise($this->exercises['1']); $this->quizRepository->add($quiz); $quiz = new \_OurBrand_\Quiz\Domain\Model\Quiz(); $quiz->setAuthor('Tester'); $quiz->setIsDraft(false); $quiz->setIsDeleted(false); $quiz->setCreator('tester'); $quiz->setType(0); $quiz->setTitle('Test Quiz2'); $subject = $this->filterOptions['subjects']['Math']; $quiz->addSubject($subject); $level1 = $this->filterOptions['teamLevels']['4']; $quiz->addLevel($level1); $level2 = $this->filterOptions['teamLevels']['5']; $quiz->addLevel($level2); $category = $this->filterOptions['categories']['Geometry']; $quiz->setCategory($category); $this->quizRepository->add($quiz); $this->persistenceManager->persistAll(); }