diff --git a/app/Http/Controllers/Judging/JudgingController.php b/app/Http/Controllers/Judging/JudgingController.php index 84f6fab..7318d16 100644 --- a/app/Http/Controllers/Judging/JudgingController.php +++ b/app/Http/Controllers/Judging/JudgingController.php @@ -83,11 +83,10 @@ class JudgingController extends Controller // Validate form data try { - $subscores = $this->auditionService->getSubscores($entry->audition); + $subscores = $this->auditionService->getSubscores($entry->audition, 'all'); } catch (AuditionServiceException $e) { return redirect()->back()->with('error', 'Unable to get subscores - '.$e->getMessage()); } - $validationChecks = []; foreach ($subscores as $subscore) { $validationChecks['score'.'.'.$subscore->id] = 'required|integer|max:'.$subscore->max_score; @@ -122,7 +121,7 @@ class JudgingController extends Controller // Validate form data try { - $subscores = $this->auditionService->getSubscores($entry->audition); + $subscores = $this->auditionService->getSubscores($entry->audition, 'all'); } catch (AuditionServiceException $e) { return redirect()->back()->with('error', 'Error getting subscores - '.$e->getMessage()); } diff --git a/app/Services/AuditionService.php b/app/Services/AuditionService.php index 09edccf..d4e7530 100644 --- a/app/Services/AuditionService.php +++ b/app/Services/AuditionService.php @@ -43,9 +43,14 @@ class AuditionService $modeColumn = match ($mode) { 'seating' => 'for_seating', 'advancement' => 'for_advance', + 'all' => null, }; $audition->load('scoringGuide.subscores'); + if ($mode == 'all') { + return $audition->scoringGuide->subscores->sortBy($sortColumn); + } + return $audition->scoringGuide->subscores->where($modeColumn, true)->sortBy($sortColumn); }); } @@ -100,9 +105,10 @@ class AuditionService foreach ($limits as $limit) { $lims[$limit->audition_id][$limit->ensemble_id] = [ 'ensemble' => $ensembles->find($limit->ensemble_id), - 'limit' =>$limit->maximum_accepted, - ]; + 'limit' => $limit->maximum_accepted, + ]; } + return $lims; }); @@ -118,7 +124,7 @@ class AuditionService protected function validateMode($mode) { - if ($mode !== 'seating' && $mode !== 'advancement') { + if ($mode !== 'seating' && $mode !== 'advancement' && $mode !== 'all') { throw new AuditionServiceException('Invalid mode requested. Mode must be seating or advancement'); } }