/**
  * Index grades of a specific user.
  *
  * @param User $user
  * @return \Illuminate\Http\Response
  */
 public function show(User $user)
 {
     $this->authorize('userProfile', $user);
     $grades = $user->grades;
     $quizzes = $user->quizzes()->withPivot('attempt')->orderBy('name', 'asc')->orderBy('pivot_attempt', 'asc')->get();
     $evaluations = Evaluation::all();
     return view('users.show', ['grades' => $grades, 'quizzes' => $quizzes, 'evaluations' => $evaluations, 'user' => $user]);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Evaluation::create(['category' => 'In-class activities', 'grade' => 10]);
     Evaluation::create(['category' => 'Assignments', 'grade' => 15]);
     Evaluation::create(['category' => 'Labs', 'grade' => 15]);
     Evaluation::create(['category' => 'Midterm 1', 'grade' => 10]);
     Evaluation::create(['category' => 'Midterm 2', 'grade' => 20]);
     Evaluation::create(['category' => 'Final Exam', 'grade' => 30]);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  Evaluation $evaluation
  * @return \Illuminate\Http\Response
  */
 public function destroy(Evaluation $evaluation)
 {
     $evaluation->delete();
     return redirect()->action('EvaluationsController@index');
 }
 /**
  * Display the home page.
  *
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function home()
 {
     $evaluations = Evaluation::all();
     return view('pages.home', ['evaluations' => $evaluations]);
 }
 /**
  * Displays students at risk for a given evaluation at a certain level.
  *
  * @param Evaluation $evaluation
  * @param $level
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function risk(Evaluation $evaluation, $level)
 {
     $studentRisk = $evaluation->risk($level);
     $studentIds = [];
     $i = 0;
     foreach ($studentRisk as $student) {
         $studentIds[$i] = $student['user_id'];
         $i++;
     }
     $students = User::students()->whereIn('id', $studentIds)->get();
     return view('admin.risk', ['evaluation' => $evaluation, 'students' => $students, 'level' => $level]);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int $id
  * @return Response
  */
 public function destroy($id)
 {
     $evaluation = Evaluation::findOrFail($id);
     $evaluation->delete();
     $message = trans('messages.evaluation_successfully_removed');
     Flash::info($message);
     return redirect()->route('teacher.units.show', $evaluation->unit);
 }
 public function detailEvaluation($id_user, $id_evaluador)
 {
     if (\Gate::denies('ver-evaluacion', $id_user)) {
         $mensaje = "Acceso no autorizado, tu solo puedes acceder a tus evaluaciones";
         \Session::flash('alerta', $mensaje);
         return redirect()->route('estudiante.index');
     }
     $user = Evaluation::where('evaluations.id_user', $id_user)->where('evaluations.id_evaluador', $id_evaluador)->select('users.*', 'evaluations.*', 'carreras.*', 'universidades.*', 'projects.autor2', 'projects.cedula2', 'projects.tutor', 'projects.cedulatutor')->join('users', 'users.id', '=', 'evaluations.id_user')->join('projects', 'projects.id_user', '=', 'users.id')->join('carreras', 'carreras.id', '=', 'users.id_carrera')->join('universidades', 'universidades.id', '=', 'carreras.id_universidad')->first();
     $evaluador = Evaluation::where('id_user', $id_user)->where('id_evaluador', $id_evaluador)->select('users.*', 'carreras.*', 'universidades.*')->join('users', 'users.id', '=', 'evaluations.id_evaluador')->join('carreras', 'carreras.id', '=', 'users.id_carrera')->join('universidades', 'universidades.id', '=', 'carreras.id_universidad')->first();
     $formevaluacion = EvaluacionForm::where('id_carrera', $user->id_carrera)->first();
     $evaluacion = Evaluation::where('id_user', $id_user)->where('id_evaluador', $id_evaluador)->select('evaluations.*')->first();
     return view('estudianteviews.evaluaciondetalle', ['user' => $user, 'evaluador' => $evaluador, 'formevaluacion' => $formevaluacion, 'evaluacion' => $evaluacion]);
 }
 public function detailEvaluation($id_user, $id_evaluador)
 {
     $user = Evaluation::where('evaluations.id_user', $id_user)->where('evaluations.id_evaluador', $id_evaluador)->select('users.*', 'evaluations.*', 'carreras.*', 'universidades.*', 'projects.autor2', 'projects.cedula2', 'projects.tutor', 'projects.cedulatutor')->join('users', 'users.id', '=', 'evaluations.id_user')->join('projects', 'projects.id_user', '=', 'users.id')->join('carreras', 'carreras.id', '=', 'users.id_carrera')->join('universidades', 'universidades.id', '=', 'carreras.id_universidad')->first();
     $evaluador = Evaluation::where('id_user', $id_user)->where('id_evaluador', $id_evaluador)->select('users.*', 'carreras.*', 'universidades.*')->join('users', 'users.id', '=', 'evaluations.id_evaluador')->join('carreras', 'carreras.id', '=', 'users.id_carrera')->join('universidades', 'universidades.id', '=', 'carreras.id_universidad')->first();
     $formevaluacion = EvaluacionForm::where('id_carrera', $user->id_carrera)->first();
     $evaluacion = Evaluation::where('id_user', $id_user)->where('id_evaluador', $id_evaluador)->select('evaluations.*')->first();
     return view('profesorviews.evaluaciondetalle', ['user' => $user, 'evaluador' => $evaluador, 'formevaluacion' => $formevaluacion, 'evaluacion' => $evaluacion]);
 }
 public function destroyEvaluation($id)
 {
     $evaluacion = Evaluation::FindOrFail($id);
     $evaluacion->delete();
     return "";
 }
 /**
  * Displays edit a submission view.
  *
  * @param Submission $submission
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function edit(Submission $submission)
 {
     $evaluations = Evaluation::lists('category', 'id');
     return view('submission.edit', ['submission' => $submission, 'evaluations' => $evaluations]);
 }