/** * 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); }
/** * 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); }