Subscores can be deleted from a scoring guide
This commit is contained in:
parent
4a21fb39ce
commit
a96e7f4206
|
|
@ -135,6 +135,9 @@ class ScoringGuideController extends Controller
|
||||||
if (! $guide->exists() || ! $subscore->exists()) {
|
if (! $guide->exists() || ! $subscore->exists()) {
|
||||||
abort(409);
|
abort(409);
|
||||||
}
|
}
|
||||||
|
if ($subscore->scoring_guide_id !== $guide->id) { // Make sure the subscore were updating belongs to the guide
|
||||||
|
abort(409);
|
||||||
|
}
|
||||||
$validateData = request()->validate([
|
$validateData = request()->validate([
|
||||||
'name' => ['required'],
|
'name' => ['required'],
|
||||||
'max_score' => ['required', 'integer'],
|
'max_score' => ['required', 'integer'],
|
||||||
|
|
@ -157,6 +160,24 @@ class ScoringGuideController extends Controller
|
||||||
return redirect('/admin/scoring/guides/'.$guide->id.'/edit')->with('success', 'Subscore updated');
|
return redirect('/admin/scoring/guides/'.$guide->id.'/edit')->with('success', 'Subscore updated');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function subscore_destroy(ScoringGuide $guide, SubscoreDefinition $subscore)
|
||||||
|
{
|
||||||
|
if (! Auth::user()->is_admin) {
|
||||||
|
abort(403);
|
||||||
|
}
|
||||||
|
if (! $guide->exists() || ! $subscore->exists()) {
|
||||||
|
abort(409);
|
||||||
|
}
|
||||||
|
if ($subscore->scoring_guide_id !== $guide->id) { // Make sure the subscore were updating belongs to the guide
|
||||||
|
abort(409);
|
||||||
|
}
|
||||||
|
|
||||||
|
$subscore->delete();
|
||||||
|
|
||||||
|
return redirect('/admin/scoring/guides/'.$guide->id.'/edit')->with('success', 'Subscore deleted');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function reorder_display(Request $request)
|
public function reorder_display(Request $request)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<x-modal-body>
|
<x-modal-body class="relative">
|
||||||
<x-slot:title>Edit Subscore</x-slot:title>
|
<x-slot:title>Edit Subscore</x-slot:title>
|
||||||
<x-table.table>
|
<x-table.table>
|
||||||
<thead><tr>
|
<thead><tr>
|
||||||
|
|
@ -29,4 +29,11 @@
|
||||||
</x-form.form>
|
</x-form.form>
|
||||||
</x-table.body>
|
</x-table.body>
|
||||||
</x-table.table>
|
</x-table.table>
|
||||||
|
<div class="border-t relative pb-12">
|
||||||
|
<form method="POST" action="{{ route('admin.scoring.subscore_destroy', ['guide' => $guide->id, 'subscore' => $subscore->id]) }}">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
<x-form.red-trash-button class="mt-3 absolute bottom-0 right-0" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</x-modal-body>
|
</x-modal-body>
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,8 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
|
||||||
Route::get('/guides/{guide}/edit', 'edit')->name('admin.scoring.edit'); // Edit 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::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('/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'); // 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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue