Auditionadmin 20 - Bonus scores are fully functional #25

Merged
okorpheus merged 16 commits from auditionadmin-20 into master 2024-07-16 08:04:08 +00:00
2 changed files with 51 additions and 25 deletions
Showing only changes of commit 7e0b8f51d9 - Show all commits

View File

@ -58,9 +58,9 @@ class BonusScoreDefinitionController extends Controller
foreach ($validData['audition'] as $auditionId => $value) { foreach ($validData['audition'] as $auditionId => $value) {
try { try {
$bonusScore->auditions()->attach($auditionId); $bonusScore->auditions()->attach($auditionId);
} catch (Exception $ex) { } catch (Exception) {
return redirect()->route('admin.bonus-scores.index')->with('error', return redirect()->route('admin.bonus-scores.index')->with('error',
'Error assigning auditions to bonus score - '.$ex->getMessage()); 'Error assigning auditions to bonus score');
} }
} }

View File

@ -1,20 +1,38 @@
<?php <?php
// Admin Routes // Admin Routes
use App\Http\Controllers\Admin\AuditionController;
use App\Http\Controllers\Admin\AuditionSettings;
use App\Http\Controllers\Admin\BonusScoreDefinitionController;
use App\Http\Controllers\Admin\DrawController;
use App\Http\Controllers\Admin\EnsembleController;
use App\Http\Controllers\Admin\EntryController;
use App\Http\Controllers\Admin\EventController;
use App\Http\Controllers\Admin\RoomController;
use App\Http\Controllers\Admin\SchoolController;
use App\Http\Controllers\Admin\ScoringGuideController;
use App\Http\Controllers\Admin\StudentController;
use App\Http\Controllers\Admin\UserController;
use App\Http\Middleware\CheckIfAdmin; use App\Http\Middleware\CheckIfAdmin;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->group(function () { Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->group(function () {
Route::view('/', 'admin.dashboard')->name('admin.dashboard'); 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('/auditions/roomUpdate', [
Route::post('/scoring/assign_guide_to_audition', [\App\Http\Controllers\Admin\AuditionController::class, 'scoringGuideUpdate'])->name('ajax.assignScoringGuideToAudition'); // Endpoint for JS assigning scoring guides to auditions AuditionController::class, 'roomUpdate',
]); // Endpoint for JS assigning auditions to rooms
Route::post('/scoring/assign_guide_to_audition', [
AuditionController::class, 'scoringGuideUpdate',
])->name('ajax.assignScoringGuideToAudition'); // Endpoint for JS assigning scoring guides to auditions
Route::get('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'index'])->name('audition-settings'); Route::get('/settings', [AuditionSettings::class, 'index'])->name('audition-settings');
Route::post('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'save'])->name('audition-settings-save'); Route::post('/settings',
[AuditionSettings::class, 'save'])->name('audition-settings-save');
// Admin Bonus Scores Routes // Admin Bonus Scores Routes
Route::prefix('bonus-scores')->controller(\App\Http\Controllers\Admin\BonusScoreDefinitionController::class)->group(function () { Route::prefix('bonus-scores')->controller(BonusScoreDefinitionController::class)->group(function (
) {
Route::get('/', 'index')->name('admin.bonus-scores.index'); Route::get('/', 'index')->name('admin.bonus-scores.index');
Route::post('/', 'store')->name('admin.bonus-scores.store'); Route::post('/', 'store')->name('admin.bonus-scores.store');
Route::post('/assign_auditions', 'assignAuditions')->name('admin.bonus-scores.addAuditions'); Route::post('/assign_auditions', 'assignAuditions')->name('admin.bonus-scores.addAuditions');
@ -24,7 +42,7 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
}); });
// Admin Ensemble Routes // Admin Ensemble Routes
Route::prefix('ensembles')->controller(\App\Http\Controllers\Admin\EnsembleController::class)->group(function () { Route::prefix('ensembles')->controller(EnsembleController::class)->group(function () {
Route::get('/', 'index')->name('admin.ensembles.index'); Route::get('/', 'index')->name('admin.ensembles.index');
Route::post('/', 'store')->name('admin.ensembles.store'); Route::post('/', 'store')->name('admin.ensembles.store');
Route::delete('/{ensemble}', 'destroy')->name('admin.ensembles.destroy'); Route::delete('/{ensemble}', 'destroy')->name('admin.ensembles.destroy');
@ -32,45 +50,52 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
Route::patch('/{ensemble}', 'updateEnsemble')->name('admin.ensembles.update'); Route::patch('/{ensemble}', 'updateEnsemble')->name('admin.ensembles.update');
Route::get('/seating-limits', 'seatingLimits')->name('admin.ensembles.seatingLimits'); Route::get('/seating-limits', 'seatingLimits')->name('admin.ensembles.seatingLimits');
Route::get('/seating-limits/{ensemble}', 'seatingLimits')->name('admin.ensembles.seatingLimits.ensemble'); Route::get('/seating-limits/{ensemble}', 'seatingLimits')->name('admin.ensembles.seatingLimits.ensemble');
Route::post('/seating-limits/{ensemble}', 'seatingLimitsSet')->name('admin.ensembles.seatingLimits.ensemble.set'); Route::post('/seating-limits/{ensemble}',
'seatingLimitsSet')->name('admin.ensembles.seatingLimits.ensemble.set');
}); });
// Admin Event Routes // Admin Event Routes
Route::prefix('events')->controller(\App\Http\Controllers\Admin\EventController::class)->group(function () { Route::prefix('events')->controller(EventController::class)->group(function () {
Route::get('/', 'index')->name('admin.events.index'); Route::get('/', 'index')->name('admin.events.index');
Route::post('/', 'store')->name('admin.events.store'); Route::post('/', 'store')->name('admin.events.store');
Route::delete('/{event}', 'destroy')->name('admin.events.destroy'); Route::delete('/{event}', 'destroy')->name('admin.events.destroy');
}); });
// Admin Rooms Routes // Admin Rooms Routes
Route::prefix('rooms')->controller(\App\Http\Controllers\Admin\RoomController::class)->group(function () { Route::prefix('rooms')->controller(RoomController::class)->group(function () {
Route::get('/', 'index')->name('admin.rooms.index'); Route::get('/', 'index')->name('admin.rooms.index');
Route::get('/create', 'create')->name('admin.rooms.create'); Route::get('/create', 'create')->name('admin.rooms.create');
Route::post('/', 'store')->name('admin.rooms.store'); Route::post('/', 'store')->name('admin.rooms.store');
Route::post('/{room}/edit', 'edit')->name('admin.rooms.edit'); Route::post('/{room}/edit', 'edit')->name('admin.rooms.edit');
Route::patch('/{room}', 'update')->name('admin.rooms.update'); Route::patch('/{room}', 'update')->name('admin.rooms.update');
Route::delete('/{room}', 'destroy')->name('admin.rooms.destroy'); Route::delete('/{room}', 'destroy')->name('admin.rooms.destroy');
Route::get('/judging_assignments', 'judgingAssignment')->name('admin.rooms.judgingAssignment'); // Screen to assign judges to rooms Route::get('/judging_assignments',
Route::match(['post', 'delete'], '/{room}/judge', 'updateJudgeAssignment')->name('admin.rooms.updateJudgeAssignment'); '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 // Admin Scoring Guides
Route::prefix('scoring')->controller(\App\Http\Controllers\Admin\ScoringGuideController::class)->group(function () { Route::prefix('scoring')->controller(ScoringGuideController::class)->group(function () {
Route::get('/', 'index')->name('admin.scoring.index'); // Scoring Setup Homepage Route::get('/', 'index')->name('admin.scoring.index'); // Scoring Setup Homepage
Route::post('/guides', 'store')->name('admin.scoring.store'); // Save a new scoring guide Route::post('/guides', 'store')->name('admin.scoring.store'); // Save a new scoring guide
Route::get('/guides/{guide}/edit/{tab?}', 'edit')->name('admin.scoring.edit'); // Edit scoring guide Route::get('/guides/{guide}/edit/{tab?}', '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::patch('/guides/{guide}/edit',
Route::post('/guides/{guide}/subscore', 'subscore_store')->name('admin.scoring.subscore_store'); // Save a new subscore 'update')->name('admin.scoring.update'); // Save changes to audition guide (rename)
Route::patch('/guides/{guide}/subscore/{subscore}', 'subscore_update')->name('admin.scoring.subscore_update'); // Modify a subscore Route::post('/guides/{guide}/subscore',
Route::delete('/guides/{guide}/subscore/{subscore}', 'subscore_destroy')->name('admin.scoring.subscore_destroy'); // Delete a 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-display', 'reorder_display')->name('admin.scoring.reorder_display');
Route::post('/reorder-tiebreak', 'reorder_tiebreak')->name('admin.scoring.reorder_tiebreak'); Route::post('/reorder-tiebreak', 'reorder_tiebreak')->name('admin.scoring.reorder_tiebreak');
Route::delete('/guides/{guide}', 'destroy')->name('admin.scoring.destroy'); // Delete a scoring guide Route::delete('/guides/{guide}', 'destroy')->name('admin.scoring.destroy'); // Delete a scoring guide
}); });
// Admin Auditions Routes // Admin Auditions Routes
Route::prefix('auditions')->controller(\App\Http\Controllers\Admin\AuditionController::class)->group(function () { Route::prefix('auditions')->controller(AuditionController::class)->group(function () {
Route::get('/', 'index')->name('admin.auditions.index'); Route::get('/', 'index')->name('admin.auditions.index');
Route::get('/create', 'create')->name('admin.auditions.create'); Route::get('/create', 'create')->name('admin.auditions.create');
Route::post('/', 'store')->name('admin.auditions.store'); Route::post('/', 'store')->name('admin.auditions.store');
@ -81,15 +106,16 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
}); });
// Admin Audition Draw Routes // Admin Audition Draw Routes
Route::prefix('draw')->controller(\App\Http\Controllers\Admin\DrawController::class)->group(function () { Route::prefix('draw')->controller(DrawController::class)->group(function () {
Route::get('/', 'index')->name('admin.draw.index'); Route::get('/', 'index')->name('admin.draw.index');
Route::post('/', 'store')->name('admin.draw.store'); Route::post('/', 'store')->name('admin.draw.store');
Route::get('/clear', 'edit')->name('admin.draw.edit'); // Select auditions for which the user would like to clear the draw Route::get('/clear',
'edit')->name('admin.draw.edit'); // Select auditions for which the user would like to clear the draw
Route::delete('/', 'destroy')->name('admin.draw.destroy'); // Clear the draw for the selected auditions Route::delete('/', 'destroy')->name('admin.draw.destroy'); // Clear the draw for the selected auditions
}); });
// Admin Entries Routes // Admin Entries Routes
Route::prefix('entries')->controller(\App\Http\Controllers\Admin\EntryController::class)->group(function () { Route::prefix('entries')->controller(EntryController::class)->group(function () {
Route::get('/', 'index')->name('admin.entries.index'); Route::get('/', 'index')->name('admin.entries.index');
Route::get('/create', 'create')->name('admin.entries.create'); Route::get('/create', 'create')->name('admin.entries.create');
Route::post('/', 'store')->name('admin.entries.store'); Route::post('/', 'store')->name('admin.entries.store');
@ -100,7 +126,7 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
}); });
// Admin Student Routes // Admin Student Routes
Route::prefix('students')->controller(\App\Http\Controllers\Admin\StudentController::class)->group(function () { Route::prefix('students')->controller(StudentController::class)->group(function () {
Route::get('/', 'index')->name('admin.students.index'); Route::get('/', 'index')->name('admin.students.index');
Route::get('/create', 'create')->name('admin.students.create'); Route::get('/create', 'create')->name('admin.students.create');
Route::post('/', 'store')->name('admin.students.store'); Route::post('/', 'store')->name('admin.students.store');
@ -110,7 +136,7 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
}); });
// Admin School Routes // Admin School Routes
Route::prefix('schools')->controller(\App\Http\Controllers\Admin\SchoolController::class)->group(function () { Route::prefix('schools')->controller(SchoolController::class)->group(function () {
Route::post('/{school}/add_domain', 'add_domain')->name('admin.schools.add_domain'); Route::post('/{school}/add_domain', 'add_domain')->name('admin.schools.add_domain');
Route::get('/', 'index')->name('admin.schools.index'); Route::get('/', 'index')->name('admin.schools.index');
Route::get('/create', 'create')->name('admin.schools.create'); Route::get('/create', 'create')->name('admin.schools.create');
@ -125,7 +151,7 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
}); });
// Admin User Routes // Admin User Routes
Route::prefix('users')->controller(\App\Http\Controllers\Admin\UserController::class)->group(function () { Route::prefix('users')->controller(UserController::class)->group(function () {
Route::get('/', 'index')->name('admin.users.index'); Route::get('/', 'index')->name('admin.users.index');
Route::get('/create', 'create')->name('admin.users.create'); Route::get('/create', 'create')->name('admin.users.create');
Route::post('/', 'store')->name('admin.users.store'); Route::post('/', 'store')->name('admin.users.store');