Scobda nomination ensembles #106

Merged
okorpheus merged 25 commits from scobda_first_year into master 2025-02-12 21:51:10 +00:00
2 changed files with 11 additions and 8 deletions
Showing only changes of commit 66016fb2ec - Show all commits

View File

@ -6,7 +6,7 @@ use App\Http\Controllers\Controller;
use App\Models\NominationEnsemble; use App\Models\NominationEnsemble;
use App\Models\NominationEnsembleEntry; use App\Models\NominationEnsembleEntry;
use function dd; use function redirect;
class ScobdaNominationSeatingController extends Controller implements NominationSeatingController class ScobdaNominationSeatingController extends Controller implements NominationSeatingController
{ {
@ -29,14 +29,15 @@ class ScobdaNominationSeatingController extends Controller implements Nomination
return $item->data['instrument']; return $item->data['instrument'];
}); });
return view('nomination_ensembles.scobda.admin.seating.index', compact('ensembles', 'ensemble', 'acceptedNominations')); return view('nomination_ensembles.scobda.admin.seating.index',
compact('ensembles', 'ensemble', 'acceptedNominations'));
} }
public function seat(NominationEnsemble $ensemble) public function seat(NominationEnsemble $ensemble)
{ {
$nominations = NominationEnsembleEntry::where('nomination_ensemble_id', $nominations = NominationEnsembleEntry::where('nomination_ensemble_id',
$ensemble->id)->orderByRaw('CAST(data->"$.rank" AS UNSIGNED)')->get(); $ensemble->id)->orderByRaw('CAST(data->"$.rank" AS UNSIGNED)')->inRandomOrder()->get();
$rankGroupedNominations = $nominations->groupBy(function ($entry) { $rankGroupedNominations = $nominations->groupBy(function ($entry) {
return $entry->data['rank']; return $entry->data['rank'];
}); });
@ -71,6 +72,6 @@ class ScobdaNominationSeatingController extends Controller implements Nomination
$nomination->update(['data' => $data]); $nomination->update(['data' => $data]);
} }
dd($acceptedNominations); return redirect()->route('nomination.admin.seating.show', ['ensemble' => $ensemble])->with('Seating Complete');
} }
} }

View File

@ -25,7 +25,7 @@
<x-slot:right_side> <x-slot:right_side>
<x-form.form method="POST" <x-form.form method="POST"
action="{{ route('nomination.admin.seating.seat',[$ensemble]) }}"> action="{{ route('nomination.admin.seating.seat',[$ensemble]) }}">
<x-form.button>Seat Ensemble</x-form.button> <x-form.button>Reseat Ensemble</x-form.button>
</x-form.form> </x-form.form>
</x-slot:right_side> </x-slot:right_side>
</x-card.heading> </x-card.heading>
@ -33,14 +33,16 @@
@foreach($ensemble->data['instruments'] as $instrument) @foreach($ensemble->data['instruments'] as $instrument)
@php($seatOn = 1) @php($seatOn = 1)
@continue(! $acceptedNominations->has($instrument)) @continue(! $acceptedNominations->has($instrument))
<tr> <tr class="border-t-2 border b-2">
<x-table.th colspan="3" class="border-t-2 border-b-2">{{ $instrument }}</x-table.th> <x-table.th>{{ $instrument }}</x-table.th>
<x-table.th>Student Name</x-table.th>
<x-table.th>School (Nom Rank)</x-table.th>
</tr> </tr>
@foreach($acceptedNominations[$instrument] as $nom) @foreach($acceptedNominations[$instrument] as $nom)
<tr> <tr>
<x-table.td>{{ $seatOn }}</x-table.td> <x-table.td>{{ $seatOn }}</x-table.td>
<x-table.td>{{ $nom->student->full_name() }}</x-table.td> <x-table.td>{{ $nom->student->full_name() }}</x-table.td>
<x-table.td>{{ $nom->student->school->name }}</x-table.td> <x-table.td>{{ $nom->student->school->name }} ({{ $nom->data['rank'] }})</x-table.td>
</tr> </tr>
@php($seatOn++) @php($seatOn++)
@endforeach @endforeach