advancement back up on results page

This commit is contained in:
Matt Young 2024-07-20 22:48:35 -05:00
parent 1d61f5a48c
commit 1ffd1c645d
2 changed files with 35 additions and 32 deletions

View File

@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Enums\EntryFlags;
use App\Models\Audition;
use App\Models\Ensemble;
use App\Models\Entry;
@ -10,6 +11,8 @@ use App\Services\AuditionService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use function auditionSetting;
class ResultsPage extends Controller
{
protected $auditionService;
@ -53,24 +56,24 @@ class ResultsPage extends Controller
return $seatList;
});
// $publishedAdvancementAuditions = $this->auditionService->getPublishedAdvancementAuditions();
// $resultsAdvancementList = Cache::rememberForever('resultsAdvancementList', function () use ($publishedAdvancementAuditions) {
// $qualifierList = [];
// foreach ($publishedAdvancementAuditions as $audition) {
// $qualifierList[$audition->id] = Entry::with('flags', 'student.school')
// ->where('audition_id', $audition->id)
// ->where('for_advancement', true)
// ->get()->filter(function (Entry $entry) {
// return $entry->hasFlag('will_advance');
// })
// ->sortBy(function (Entry $entry) {
// return $entry->student->full_name(true);
// });
// }
//
// return $qualifierList;
// });
if (auditionSetting('advanceTo')) {
$publishedAdvancementAuditions = Audition::advancementPublished()->orderBy('score_order')->get();
$resultsAdvancementList = Cache::rememberForever('resultsAdvancementList',
function () {
// get entries with a related flag of will_advance
$advancingEntries = Entry::forAdvancement()->with('student.school')
->whereHas('flags', function ($query) {
$query->where('flag_name', EntryFlags::WILL_ADVANCE);
})
->get();
$advancingEntries = $advancingEntries->sortBy(function ($entry) {
return $entry->student->full_name(true);
});
return view('results.index', compact('publishedAuditions', 'resultsSeatList'));
return $advancingEntries->groupBy('audition_id');
});
}
return view('results.index', compact('publishedAuditions', 'resultsSeatList', 'publishedAdvancementAuditions', 'resultsAdvancementList'));
}
}

View File

@ -14,20 +14,20 @@
@endforeach
</div>
{{-- @if( auditionSetting('advanceTo') )--}}
{{-- <div class="h-full overflow-y-auto w-full">--}}
{{-- <h3 class="pb-3 pl-2 font-semibold text-lg">{{ auditionSetting('advanceTo') }} Qualifiers</h3>--}}
{{-- @foreach($publishedAdvancementAuditions as $audition)--}}
{{-- <x-results.table-audition-section :auditionName="$audition->name">--}}
{{-- @foreach($resultsAdvancementList[$audition->id] as $entry)--}}
{{-- <x-results.table-qualifier-row--}}
{{-- :student_name="$entry->student->full_name()"--}}
{{-- :school="$entry->student->school->name" />--}}
{{-- @endforeach--}}
{{-- </x-results.table-audition-section>--}}
{{-- @endforeach--}}
{{-- </div>--}}
{{-- @endif--}}
@if( auditionSetting('advanceTo') )
<div class="h-full overflow-y-auto w-full">
<h3 class="pb-3 pl-2 font-semibold text-lg">{{ auditionSetting('advanceTo') }} Qualifiers</h3>
@foreach($publishedAdvancementAuditions as $audition)
<x-results.table-audition-section :auditionName="$audition->name">
@foreach($resultsAdvancementList[$audition->id] as $entry)
<x-results.table-qualifier-row
:student_name="$entry->student->full_name()"
:school="$entry->student->school->name" />
@endforeach
</x-results.table-audition-section>
@endforeach
</div>
@endif
</div>