add page listing school email domains.

This commit is contained in:
Matt Young 2025-11-09 15:47:08 -06:00
parent 87e3ec322d
commit 7d94ee2cfb
5 changed files with 52 additions and 2 deletions

View File

@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\School;
class SchoolEmailDomainController extends Controller
{
public function index()
{
$schools = School::with('emailDomains')->get();
return view('admin.schools.email_domains_index', compact('schools'));
}
}

4
composer.lock generated
View File

@ -10004,12 +10004,12 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.2"
},
"platform-dev": [],
"platform-dev": {},
"plugin-api-version": "2.6.0"
}

View File

@ -0,0 +1,30 @@
<x-layout.app>
<x-slot:page_title>School Email Domains</x-slot:page_title>
<x-card.card class="max-w-2xl mx-auto">
<x-card.heading>School Email Domains</x-card.heading>
<x-table.table>
<thead>
<tr>
<x-table.th>School</x-table.th>
<x-table.th>Domains</x-table.th>
</tr>
</thead>
<x-table.body>
@foreach($schools as $school)
<tr>
<x-table.td>
<a href="{{ route('admin.schools.show', $school) }}">
{{ $school->name }}
</a>
</x-table.td>
<x-table.td>
@foreach($school->emailDomains ?? [] as $domain)
{{ $domain->domain }}
@endforeach
</x-table.td>
</tr>
@endforeach
</x-table.body>
</x-table.table>
</x-card.card>
</x-layout.app>

View File

@ -23,6 +23,7 @@
<a href="{{route('admin.dashboard')}}" class="block p-2 hover:text-indigo-600">Admin Dashboard</a>
<a href="{{route('admin.users.index')}}" class="block p-2 hover:text-indigo-600">Users</a>
<a href="{{route('admin.schools.index')}}" class="block p-2 hover:text-indigo-600">Schools</a>
<a href="{{route('admin.schools.email_domains')}}" class="block p-2 hover:text-indigo-600">School Email Domains</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')

View File

@ -19,6 +19,7 @@ use App\Http\Controllers\Admin\PrintStandNameTagsController;
use App\Http\Controllers\Admin\RecapController;
use App\Http\Controllers\Admin\RoomController;
use App\Http\Controllers\Admin\SchoolController;
use App\Http\Controllers\Admin\SchoolEmailDomainController;
use App\Http\Controllers\Admin\ScoringGuideController;
use App\Http\Controllers\Admin\StudentController;
use App\Http\Controllers\Admin\UserController;
@ -168,6 +169,8 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
});
// Admin School Routes
Route::get('/schools/email_domains',
[SchoolEmailDomainController::class, 'index'])->name('admin.schools.email_domains');
Route::prefix('schools')->controller(SchoolController::class)->group(function () {
Route::post('/{school}/add_domain', 'add_domain')->name('admin.schools.add_domain');
Route::get('/', 'index')->name('admin.schools.index');