Esempio n. 1
0
 /**
  * GET
  * Building blocks student
  * @return Response
  */
 public function index()
 {
     $bbs = BuildingBlock::with('curators')->get();
     $tempSprints = Sprint::where('course_id', $this->currentCourse->id)->get();
     $sprints = [];
     $courseCompleted = 1;
     // default value
     foreach ($tempSprints as $index => $sprint) {
         $sprints[$index]['sprint'] = $sprint;
         $exams = Exam::where('sprint_id', $sprint->id)->get();
         $sprintCompleted = 1;
         foreach ($exams as $index2 => $exam) {
             $sprints[$index]['exams'][$index2]['exam'] = $exam;
             // Resultaten per toets inclusief de feedback van alle resultaten.
             // In de front-end wordt alleen het laatst toegevoegd resultaat voorzien van feedback
             $sprints[$index]['exams'][$index2]['results'] = Result::leftJoin('feedbacks', 'feedbacks.result_id', '=', 'results.id')->where('results.exam_id', $exam->id)->where('results.student_id', $this->userId)->orderBy('results.created_at')->get();
             // Checks if exam is completed
             $completed = Result::where('exam_id', $exam->id)->where('student_id', $this->userId)->where('result', 'v')->where('result', 'V')->orderBy('created_at')->get();
             if ($completed->isEmpty()) {
                 $examCompleted = 0;
                 $sprintCompleted = 0;
             } else {
                 $examCompleted = 1;
             }
             $sprints[$index]['exams'][$index2]['completed'] = $examCompleted;
         }
         if (!$sprintCompleted) {
             $courseCompleted = 0;
         }
         // alleen overschrijven als een sprint niet behaald is.
         $sprints[$index]['sprintCompleted'] = $sprintCompleted;
     }
     //        dd($sprints);
     return view('student.index', ['bbs' => $bbs, 'navbbs' => $this->navbbs, 'course' => $this->currentCourse, 'sprints' => $sprints, 'courseCompleted' => $courseCompleted]);
 }