public function viewScore(Application $application)
 {
     $criteria = Criteria::get();
     $judges = User::where(['role' => 'judge'])->get();
     $judgeScores = [];
     // Select all scores made by each judge
     foreach ($judges as $judge) {
         $scores = $application->scores()->where('user_id', $judge->id)->get();
         foreach ($scores as $score) {
             $judgeScores[$judge->id][$score->criteria_id] = $score->score;
         }
     }
     return view('pages/scores/view', compact('application', 'criteria', 'judges', 'judgeScores'));
 }
 public function reviewApplication(Application $application, Request $request)
 {
     // Did the current user create this application?
     if ($application->user->id != Auth::user()->id) {
         // If not, are they authorized to view applications?
         if (!(Auth::user()->can('view-application') || Auth::user()->can('view-submitted-application') && $application->status != 'new')) {
             $request->session()->flash('error', 'You are not authorized to view this application.');
             return redirect('/login');
         }
     }
     $questions = Question::get();
     $criteria = ['objective' => Criteria::where('type', 'objective')->get(), 'subjective' => Criteria::where('type', 'subjective')->get()];
     // Generate an array of answers based on their associated question ID
     $answers = [];
     foreach ($application->answers as $answer) {
         $answers[$answer->question_id] = $answer;
     }
     $scores = [];
     // Select all scores made by the current user
     foreach ($application->scores()->where('user_id', Auth::user()->id)->get() as $score) {
         $scores[$score->criteria_id] = $score;
     }
     $judged = Judged::where(['application_id' => $application->id, 'user_id' => Auth::user()->id])->get()->first();
     return view('pages/applications/review', compact('application', 'questions', 'answers', 'criteria', 'scores', 'judged'));
 }