private function produceAssignment(Unit $unit, User $student, QuestionRepository $questionRepository, CourseDefinition $courseDefinition)
 {
     $assignment = new Assignment();
     $assignment->unit = $unit;
     $assignment->generated_at = new DateTime();
     $assignment->student = $student;
     $this->persist($assignment);
     $questions = $this->generateQuestions($courseDefinition->get($unit, CourseDefinition::QUESTIONS));
     foreach ($questions as $i => $question) {
         $question->order = $i + 1;
         $question->assignment = $assignment;
         $questionRepository->persist($question);
     }
     return $assignment;
 }
 /**
  * Assembles a new question.
  * @return Model\Entity\Question
  */
 public function assemble()
 {
     $question = new Question();
     $question->itemKey = $this->assembleQuestionItemKey();
     $question->paramsKey = $this->questionItems[$question->itemKey]->assembleParamsKey();
     $question->hash = $this->hash;
     /* Question texts are saved so that they're 
      * available in case the definition
      * changes and it's been already used somehow */
     $question->text = $this->questionItems[$question->itemKey]->getText($question->paramsKey);
     $question->prefill = $this->questionItems[$question->itemKey]->getPrefill($question->paramsKey);
     $question->input = $this->questionItems[$question->itemKey]->getInput($question->paramsKey);
     $this->repository->persist($question);
     return $question;
 }
Esempio n. 3
0
 /**
  * List questions.
  *
  * @return Response
  */
 public function Questions()
 {
     $questions = $this->questionRepository->getQuestions();
     return view('Front::question.questions', ['questions' => $questions]);
 }