121 lines
7.5 KiB
PHP
121 lines
7.5 KiB
PHP
<?php
|
|
|
|
// Admin Routes
|
|
use App\Http\Middleware\CheckIfAdmin;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->group(function () {
|
|
Route::view('/', 'admin.dashboard')->name('admin.dashboard');
|
|
|
|
Route::post('/auditions/roomUpdate', [\App\Http\Controllers\Admin\AuditionController::class, 'roomUpdate']); // Endpoint for JS assigning auditions to rooms
|
|
Route::post('/scoring/assign_guide_to_audition', [\App\Http\Controllers\Admin\AuditionController::class, 'scoringGuideUpdate']); // Endpoint for JS assigning scoring guides to auditions
|
|
|
|
Route::get('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'index'])->name('audition-settings');
|
|
Route::post('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'save'])->name('audition-settings-save');
|
|
|
|
// Admin Ensemble Routes
|
|
Route::prefix('ensembles')->controller(\App\Http\Controllers\Admin\EnsembleController::class)->group(function () {
|
|
Route::get('/', 'index')->name('admin.ensembles.index');
|
|
Route::post('/', 'store')->name('admin.ensembles.store');
|
|
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');
|
|
Route::post('/seating-limits/{ensemble}', 'seatingLimitsSet')->name('admin.ensembles.seatingLimits.ensemble.set');
|
|
});
|
|
|
|
// Admin Event Routes
|
|
Route::prefix('events')->controller(\App\Http\Controllers\Admin\EventController::class)->group(function () {
|
|
Route::get('/', 'index')->name('admin.events.index');
|
|
Route::post('/', 'store')->name('admin.events.store');
|
|
Route::delete('/{event}', 'destroy')->name('admin.events.destroy');
|
|
});
|
|
|
|
// Admin Rooms Routes
|
|
Route::prefix('rooms')->controller(\App\Http\Controllers\Admin\RoomController::class)->group(function () {
|
|
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')->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::patch('/guides/{guide}/subscore/{subscore}', 'subscore_update')->name('admin.scoring.subscore_update'); // Modify a subscore
|
|
Route::delete('/guides/{guide}/subscore/{subscore}', 'subscore_destroy')->name('admin.scoring.subscore_destroy'); // Delete a subscore
|
|
Route::post('/reorder-display', 'reorder_display')->name('admin.scoring.reorder_display');
|
|
Route::post('/reorder-tiebreak', 'reorder_tiebreak')->name('admin.scoring.reorder_tiebreak');
|
|
Route::delete('/guides/{guide}', 'destroy')->name('admin.scoring.destroy'); // Delete a scoring guide
|
|
});
|
|
|
|
// Admin Auditions Routes
|
|
Route::prefix('auditions')->controller(\App\Http\Controllers\Admin\AuditionController::class)->group(function () {
|
|
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
|
|
Route::prefix('entries')->controller(\App\Http\Controllers\Admin\EntryController::class)->group(function () {
|
|
Route::get('/', 'index')->name('admin.entries.index');
|
|
Route::get('/create', 'create');
|
|
Route::post('/', 'store');
|
|
Route::get('/{entry}/edit', 'edit')->name('admin.entries.edit');
|
|
Route::patch('/{entry}', 'update');
|
|
Route::delete('/{entry}', 'destroy')->name('admin.entries.destroy');
|
|
|
|
});
|
|
|
|
// Admin Student Routes
|
|
Route::prefix('students')->controller(\App\Http\Controllers\Admin\StudentController::class)->group(function () {
|
|
Route::get('/', 'index')->name('admin.students.index');
|
|
Route::get('/create', 'create')->name('admin.students.create');
|
|
Route::post('/', 'store')->name('admin.students.store');
|
|
Route::get('/{student}/edit', 'edit')->name('admin.students.edit');
|
|
Route::patch('/{student}', 'update')->name('admin.students.update');
|
|
Route::delete('/{student}', 'destroy')->name('admin.students.destroy');
|
|
});
|
|
|
|
// Admin School Routes
|
|
Route::prefix('schools')->controller(\App\Http\Controllers\Admin\SchoolController::class)->group(function () {
|
|
Route::post('/{school}/add_domain', 'add_domain')->name('admin.schools.add_domain');
|
|
Route::get('/', 'index')->name('admin.schools.index');
|
|
Route::get('/create', 'create')->name('admin.schools.create');
|
|
Route::get('/{school}', 'show')->name('admin.schools.show');
|
|
Route::get('/{school}/edit', 'edit')->name('admin.schools.edit');
|
|
Route::get('/{school}/invoice', 'viewInvoice')->name('admin.schools.invoice');
|
|
Route::patch('/{school}', 'update')->name('admin.schools.update');
|
|
Route::post('/', 'store')->name('admin.schools.store');
|
|
Route::delete('/domain/{domain}', 'destroy_domain')->name('admin.schools.destroy_domain');
|
|
Route::delete('/{school}', 'destroy')->name('admin.schools.destroy');
|
|
|
|
});
|
|
|
|
// Admin User Routes
|
|
Route::prefix('users')->controller(\App\Http\Controllers\Admin\UserController::class)->group(function () {
|
|
Route::get('/', 'index')->name('admin.users.index');
|
|
Route::get('/create', 'create')->name('admin.users.create');
|
|
Route::post('/', 'store')->name('admin.users.store');
|
|
Route::get('/{user}/edit', 'edit')->name('admin.users.edit');
|
|
Route::patch('/{user}', 'update')->name('admin.users.update');
|
|
Route::delete('/{user}', 'destroy')->name('admin.users.destroy');
|
|
});
|
|
});
|