Stubs for nomination admin page setup.

This commit is contained in:
Matt Young 2025-02-07 15:25:06 -06:00
parent a0b4ffe855
commit 78e07c94d8
6 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,22 @@
<?php
namespace App\Http\Controllers\NominationEnsembles;
use App\Models\NominationEnsembleEntry;
interface NominationAdminController
{
public function index();
public function show(NominationEnsembleEntry $entry);
public function create();
public function store();
public function edit(NominationEnsembleEntry $entry);
public function update(NominationEnsembleEntry $entry);
public function destroy(NominationEnsembleEntry $entry);
}

View File

@ -0,0 +1,44 @@
<?php
namespace App\Http\Controllers\NominationEnsembles;
use App\Http\Controllers\Controller;
use App\Models\NominationEnsembleEntry;
class ScobdaNominationAdminController extends Controller implements NominationAdminController
{
public function index()
{
return view('nomination_ensembles.scobda.admin.index');
}
public function show(NominationEnsembleEntry $entry)
{
// TODO: Implement show() method.
}
public function create()
{
// TODO: Implement create() method.
}
public function store()
{
// TODO: Implement store() method.
}
public function edit(NominationEnsembleEntry $entry)
{
// TODO: Implement edit() method.
}
public function update(NominationEnsembleEntry $entry)
{
// TODO: Implement update() method.
}
public function destroy(NominationEnsembleEntry $entry)
{
// TODO: Implement destroy() method.
}
}

View File

@ -10,8 +10,10 @@ use App\Actions\Tabulation\CalculateEntryScore;
use App\Actions\Tabulation\CalculateScoreSheetTotal;
use App\Actions\Tabulation\CalculateScoreSheetTotalDivideByTotalWeights;
use App\Actions\Tabulation\CalculateScoreSheetTotalDivideByWeightedPossible;
use App\Http\Controllers\NominationEnsembles\NominationAdminController;
use App\Http\Controllers\NominationEnsembles\NominationEnsembleController;
use App\Http\Controllers\NominationEnsembles\NominationEnsembleEntryController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationAdminController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationEnsembleController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationEnsembleEntryController;
use App\Models\Audition;
@ -69,6 +71,7 @@ class AppServiceProvider extends ServiceProvider
// Nomination Ensemble
$this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
}
/**

View File

@ -25,6 +25,9 @@
<a href="{{route('admin.schools.index')}}" class="block p-2 hover:text-indigo-600">Schools</a>
<a href="{{route('admin.students.index')}}" class="block p-2 hover:text-indigo-600">Students</a>
<a href="{{route('admin.entries.index')}}" class="block p-2 hover:text-indigo-600">Entries</a>
@if(auditionSetting('nomination_ensemble_rules') !== 'disabled')
<x-layout.navbar.menus.menu-item :href="route('nomination.admin.index')">Nominations</x-layout.navbar.menus.menu-item>
@endif
<a href="{{route('admin.view_logs')}}" class="block p-2 hover:text-indigo-600">View Logs</a>
<a href="{{route('admin.export_results')}}" class="block p-2 hover:text-indigo-600">Export Results</a>
<a href="{{route('admin.export_entries')}}" class="block p-2 hover:text-indigo-600">Export Entries</a>

View File

@ -0,0 +1,4 @@
<x-layout.app>
<x-slot:page_title>Nomination Administration</x-slot:page_title>
</x-layout.app>

View File

@ -1,5 +1,6 @@
<?php
use App\Http\Controllers\NominationEnsembles\NominationAdminController;
use App\Http\Controllers\NominationEnsembles\NominationEnsembleController;
use App\Http\Controllers\NominationEnsembles\NominationEnsembleEntryController;
use App\Http\Middleware\CheckIfAdmin;
@ -12,6 +13,10 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('nomination
Route::patch('/{ensemble}', 'update')->name('nomination.admin.ensemble.update');
Route::delete('/{ensemble}', 'destroy')->name('nomination.admin.ensemble.destroy');
});
Route::prefix('nominations/')->controller(NominationAdminController::class)->group(function () {
Route::get('/', 'index')->name('nomination.admin.index');
});
});
Route::middleware(['auth', 'verified'])->prefix('nominations/')->group(function () {