Scobda nomination ensembles #106
|
|
@ -6,6 +6,8 @@ use App\Http\Controllers\Controller;
|
||||||
use App\Models\NominationEnsemble;
|
use App\Models\NominationEnsemble;
|
||||||
use App\Models\NominationEnsembleEntry;
|
use App\Models\NominationEnsembleEntry;
|
||||||
|
|
||||||
|
use function dd;
|
||||||
|
|
||||||
class ScobdaNominationSeatingController extends Controller implements NominationSeatingController
|
class ScobdaNominationSeatingController extends Controller implements NominationSeatingController
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
|
|
@ -19,8 +21,15 @@ class ScobdaNominationSeatingController extends Controller implements Nomination
|
||||||
public function show(NominationEnsemble $ensemble)
|
public function show(NominationEnsemble $ensemble)
|
||||||
{
|
{
|
||||||
$ensembles = NominationEnsemble::all();
|
$ensembles = NominationEnsemble::all();
|
||||||
|
$acceptedNominations = NominationEnsembleEntry::where('nomination_ensemble_id', $ensemble->id)
|
||||||
|
->where('data->accepted', true)
|
||||||
|
->orderByRaw('CAST(data->"$.rank" AS UNSIGNED)')
|
||||||
|
->get();
|
||||||
|
$acceptedNominations = $acceptedNominations->groupBy(function ($item) {
|
||||||
|
return $item->data['instrument'];
|
||||||
|
});
|
||||||
|
|
||||||
return view('nomination_ensembles.scobda.admin.seating.index', compact('ensembles', 'ensemble'));
|
return view('nomination_ensembles.scobda.admin.seating.index', compact('ensembles', 'ensemble', 'acceptedNominations'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,6 +65,12 @@ class ScobdaNominationSeatingController extends Controller implements Nomination
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($acceptedNominations as $nomination) {
|
||||||
|
$data = $nomination->data;
|
||||||
|
$data['accepted'] = true;
|
||||||
|
$nomination->update(['data' => $data]);
|
||||||
|
}
|
||||||
|
|
||||||
dd($acceptedNominations);
|
dd($acceptedNominations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,12 +23,29 @@
|
||||||
<x-card.heading>
|
<x-card.heading>
|
||||||
{{ $ensemble->name }}
|
{{ $ensemble->name }}
|
||||||
<x-slot:right_side>
|
<x-slot:right_side>
|
||||||
<x-form.form method="POST" action="{{ route('nomination.admin.seating.seat',[$ensemble]) }}">
|
<x-form.form method="POST"
|
||||||
|
action="{{ route('nomination.admin.seating.seat',[$ensemble]) }}">
|
||||||
<x-form.button>Seat Ensemble</x-form.button>
|
<x-form.button>Seat Ensemble</x-form.button>
|
||||||
</x-form.form>
|
</x-form.form>
|
||||||
</x-slot:right_side>
|
</x-slot:right_side>
|
||||||
</x-card.heading>
|
</x-card.heading>
|
||||||
|
<x-table.table>
|
||||||
|
@foreach($ensemble->data['instruments'] as $instrument)
|
||||||
|
@php($seatOn = 1)
|
||||||
|
@continue(! $acceptedNominations->has($instrument))
|
||||||
|
<tr>
|
||||||
|
<x-table.th colspan="3" class="border-t-2 border-b-2">{{ $instrument }}</x-table.th>
|
||||||
|
</tr>
|
||||||
|
@foreach($acceptedNominations[$instrument] as $nom)
|
||||||
|
<tr>
|
||||||
|
<x-table.td>{{ $seatOn }}</x-table.td>
|
||||||
|
<x-table.td>{{ $nom->student->full_name() }}</x-table.td>
|
||||||
|
<x-table.td>{{ $nom->student->school->name }}</x-table.td>
|
||||||
|
</tr>
|
||||||
|
@php($seatOn++)
|
||||||
|
@endforeach
|
||||||
|
@endforeach
|
||||||
|
</x-table.table>
|
||||||
</x-card.card>
|
</x-card.card>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue