Seating limits page with dropdown to select Ensemble. Next design limits form.
This commit is contained in:
parent
6909cdd229
commit
1b94e7f081
|
|
@ -141,7 +141,7 @@ class AuditionController extends Controller
|
|||
if(! Auth::user()->is_admin) abort(403);
|
||||
// if($audition->entries->count() > 0) abort(403, 'Cannot delete an audition with entries.'
|
||||
if($audition->entries->count() > 0) {
|
||||
return redirect()->route('adminAuditionIndex')->with('error', 'Cannot delete an audition with entries.');
|
||||
return redirect()->route('admin.auditions.index')->with('error', 'Cannot delete an audition with entries.');
|
||||
}
|
||||
$audition->delete();
|
||||
return redirect('/admin/auditions');
|
||||
|
|
|
|||
|
|
@ -57,6 +57,12 @@ class EnsembleController extends Controller
|
|||
return redirect()->route('admin.ensembles.index')->with('success','Ensemble updated successfully');
|
||||
}
|
||||
|
||||
public function seatingLimits(Ensemble $ensemble)
|
||||
{
|
||||
$ensembles = Ensemble::with('event')->orderBy('event_id')->get();
|
||||
return view('admin.ensembles.seatingLimits',compact('ensemble','ensembles'));
|
||||
}
|
||||
|
||||
public function updateEnsembleRank(Request $request)
|
||||
{
|
||||
if(! Auth::user()->is_admin) abort(403);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<x-layout.app>
|
||||
<x-slot:page_title>Seating Limits</x-slot:page_title>
|
||||
<x-card.card class="mx-auto max-w-md">
|
||||
<x-card.heading>Choose Ensemble</x-card.heading>
|
||||
<div class="p-3">
|
||||
<x-form.select
|
||||
name="ensemble"
|
||||
x-data="{ }"
|
||||
x-on:change="window.location.href =
|
||||
`{{ route('admin.ensembles.seatingLimits') }}/${event.target.value}`">
|
||||
<option value=""></option>
|
||||
@foreach($ensembles as $optionEnsemble)
|
||||
<option value ="{{$optionEnsemble->id}}">{{$optionEnsemble->event->name}} - {{$optionEnsemble->name}}</option>
|
||||
@endforeach
|
||||
</x-form.select>
|
||||
</div>
|
||||
</x-card.card>
|
||||
</x-layout.app>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
@php($classes = "block p-2 hover:text-indigo-600")
|
||||
<a {{ $attributes->merge(['class' => $classes]) }}>{{ $slot }}</a>
|
||||
|
|
@ -21,13 +21,14 @@
|
|||
{{-- TODO conver to named routes --}}
|
||||
<div class="absolute left-1/2 z-10 mt-5 flex w-screen max-w-min -translate-x-1/2 px-4" x-show="open" x-cloak>
|
||||
<div class="w-56 shrink rounded-xl bg-white p-4 text-sm font-semibold leading-6 text-gray-900 shadow-lg ring-1 ring-gray-900/5">
|
||||
<a href="/admin/events" class="block p-2 hover:text-indigo-600">Events</a>
|
||||
<a href="/admin/auditions" class="block p-2 hover:text-indigo-600">Auditions</a>
|
||||
<a href="{{ route('admin.ensembles.index') }}" class="block p-2 hover:text-indigo-600">Ensembles</a>
|
||||
<a href="/admin/scoring" class="block p-2 hover:text-indigo-600">Scoring</a>
|
||||
<a href="/admin/rooms" class="block p-2 hover:text-indigo-600">Rooms</a>
|
||||
<a href="/admin/rooms/judging_assignments" class="block p-2 hover:text-indigo-600">Judges</a>
|
||||
<a href="/admin/auditions/run_draw" class="block p-2 hover:text-indigo-600">Run Draw</a>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.events.index')">Events</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.auditions.index')">Auditions</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.ensembles.index')">Ensembles</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.ensembles.seatingLimits')">Seating Limits</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.scoring.index')">Scoring</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.rooms.index')">Rooms</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.rooms.judgingAssignment')">Judges</x-layout.navbar.menus.menu-item>
|
||||
<x-layout.navbar.menus.menu-item :href="route('admin.auditions.runDraw')">Run Draw</x-layout.navbar.menus.menu-item>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -65,6 +65,8 @@ Route::middleware(['auth','verified',CheckIfAdmin::class])->prefix('admin/')->gr
|
|||
Route::delete('/{ensemble}','destroy')->name('admin.ensembles.destroy');
|
||||
Route::post('/updateEnsembleRank','updateEnsembleRank')->name('admin.ensembles.updateEnsembleRank');
|
||||
Route::patch('/{ensemble}','updateEnsemble')->name('admin.ensembles.updateEnsemble');
|
||||
Route::get('/seating-limits','seatingLimits')->name('admin.ensembles.seatingLimits');
|
||||
Route::get('/seating-limits/{ensemble}','seatingLimits')->name('admin.ensembles.seatingLimits.ensemble');
|
||||
});
|
||||
|
||||
// Admin Event Routes
|
||||
|
|
@ -76,39 +78,39 @@ Route::middleware(['auth','verified',CheckIfAdmin::class])->prefix('admin/')->gr
|
|||
|
||||
// Admin Rooms Routes
|
||||
Route::prefix('rooms')->controller(\App\Http\Controllers\Admin\RoomController::class)->group(function() {
|
||||
Route::get('/','index');
|
||||
Route::get('/create','create');
|
||||
Route::post('/','store');
|
||||
Route::post('/{room}/edit','edit');
|
||||
Route::patch('/{room}','update');
|
||||
Route::delete('/{room}','destroy');
|
||||
Route::get('/judging_assignments','judgingAssignment'); // Screen to assign judges to rooms
|
||||
Route::match(['post', 'delete'], '/{room}/judge', 'updateJudgeAssignment');
|
||||
Route::get('/','index')->name('admin.rooms.index');
|
||||
Route::get('/create','create')->name('admin.rooms.create');
|
||||
Route::post('/','store')->name('admin.rooms.store');
|
||||
Route::post('/{room}/edit','edit')->name('admin.rooms.edit');
|
||||
Route::patch('/{room}','update')->name('admin.rooms.update');
|
||||
Route::delete('/{room}','destroy')->name('admin.rooms.destroy');
|
||||
Route::get('/judging_assignments','judgingAssignment')->name('admin.rooms.judgingAssignment'); // Screen to assign judges to rooms
|
||||
Route::match(['post', 'delete'], '/{room}/judge', 'updateJudgeAssignment')->name('admin.rooms.updateJudgeAssignment');
|
||||
|
||||
});
|
||||
|
||||
// Admin Scoring Guides
|
||||
Route::prefix('scoring')->controller(\App\Http\Controllers\Admin\ScoringGuideController::class)->group(function() {
|
||||
Route::get('/','index'); // Scoring Setup Homepage
|
||||
Route::post('/guides','store'); // Save a new scoring guide
|
||||
Route::get('/guides/{guide}/edit','edit'); // Edit scoring guide
|
||||
Route::patch('/guides/{guide}/edit','update'); // Save changes to audition guide (rename)
|
||||
Route::post('/guides/{guide}/subscore','subscore_store'); // Save a new subscore
|
||||
Route::post('/reorder-display','reorder_display');
|
||||
Route::post('/reorder-tiebreak','reorder_tiebreak');
|
||||
Route::get('/','index')->name('admin.scoring.index'); // Scoring Setup Homepage
|
||||
Route::post('/guides','store')->name('admin.scoring.store'); // Save a new scoring guide
|
||||
Route::get('/guides/{guide}/edit','edit')->name('admin.scoring.edit'); // Edit scoring guide
|
||||
Route::patch('/guides/{guide}/edit','update')->name('admin.scoring.update'); // Save changes to audition guide (rename)
|
||||
Route::post('/guides/{guide}/subscore','subscore_store')->name('admin.scoring.subscore_store'); // Save a new subscore
|
||||
Route::post('/reorder-display','reorder_display')->name('admin.scoring.reorder_display');
|
||||
Route::post('/reorder-tiebreak','reorder_tiebreak')->name('admin.scoring.reorder_tiebreak');
|
||||
});
|
||||
|
||||
// Admin Auditions Routes
|
||||
Route::prefix('auditions')->controller(\App\Http\Controllers\Admin\AuditionController::class)->group(function() {
|
||||
Route::get('/','index')->name('adminAuditionIndex');
|
||||
Route::get('/create','create');
|
||||
Route::post('/','store');
|
||||
Route::get('/{audition}/edit','edit');
|
||||
Route::patch('/{audition}','update');
|
||||
Route::post('/reorder','reorder');
|
||||
Route::delete('/{audition}','destroy');
|
||||
Route::get('/run_draw','prepareDraw');
|
||||
Route::post('/run_draw','runDraw');
|
||||
Route::get('/','index')->name('admin.auditions.index');
|
||||
Route::get('/create','create')->name('admin.auditions.create');
|
||||
Route::post('/','store')->name('admin.auditions.store');
|
||||
Route::get('/{audition}/edit','edit')->name('admin.auditions.edit');
|
||||
Route::patch('/{audition}','update')->name('admin.auditions.update');
|
||||
Route::post('/reorder','reorder')->name('admin.auditions.reorder');
|
||||
Route::delete('/{audition}','destroy')->name('admin.auditions.destroy');
|
||||
Route::get('/run_draw','prepareDraw')->name('admin.auditions.prepareDraw');
|
||||
Route::post('/run_draw','runDraw')->name('admin.auditions.runDraw');
|
||||
});
|
||||
|
||||
// Admin Entries Routes
|
||||
|
|
|
|||
Loading…
Reference in New Issue