/**
  * Get the response for a forbidden operation.
  *
  * @return \Illuminate\Http\Response
  */
 public function forbiddenResponse()
 {
     $quiz = Quiz::findOrFail($this->quiz_id);
     $message = trans('messages.the_test_time_has_expired');
     Flash::warning($message);
     return redirect()->route('units.show', $quiz->unit->id);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  * @return Response
  */
 public function store(Request $request)
 {
     $quiz = Quiz::findOrFail($request->get('quiz_id'));
     //calculamos la nota
     $value_evaluation = $quiz->evaluation->value;
     $max_question = $quiz->evaluation->max_question;
     $min_value = $quiz->evaluation->min_value;
     $answers = $quiz->answers;
     /*
      * Respuestas Correctas
      */
     $correct_answers = 0;
     foreach ($answers as $answer) {
         if ($answer->correct == 1) {
             $correct_answers++;
         }
     }
     $quiz_result = $value_evaluation / $max_question * $correct_answers;
     $quiz_approval = $quiz_result * 100 / $value_evaluation;
     if ($quiz_approval < $min_value) {
         $quiz->status = 'rejected';
     } else {
         $quiz->status = 'approved';
     }
     $quiz->save();
     $result = new Result();
     $result->fill($request->all());
     $result->correct_answers = $correct_answers;
     $result->quiz_result = $quiz_result;
     $result->quiz_approval = $quiz_approval;
     $result->user_id = Auth::id();
     $result->save();
     return redirect()->route('results.show', $result);
 }
예제 #3
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, QuizRequest $request)
 {
     $quiz = Quiz::findOrFail($id);
     $quiz->category_id = $request->input('cat_list');
     $quiz->update($request->all());
     flash()->success('New Quiz has been updated!');
     return redirect('quizzes');
 }
 /**
  * Display the specified resource.
  *
  * @param  int $id
  * @return Response
  */
 public function show($id)
 {
     $quiz = Quiz::findOrFail($id);
     $result = Result::where('quiz_id', $quiz->id)->first();
     if (!$result) {
         $quiz->status = 'rejected';
         $quiz->save();
         $result = new Result();
         $result->quiz_id = $quiz->id;
         $result->user_id = $quiz->user_id;
         $result->save();
     }
     return view('teacher.results.show')->with('result', $result)->with('title', trans('titles.results'));
 }
 /**
  * @param $id
  * @param Request $request
  * @return \Illuminate\Http\RedirectResponse
  */
 public function next($id, Request $request)
 {
     $quiz = Quiz::findOrFail($id);
     $quiz->answers()->attach($request->get('answer_id'));
     return redirect()->route('quizzes.show', $quiz);
 }