Initial Commit
tests / ci (push) Canceled after 0s

This commit is contained in:
Mark Gregory
2026-10-15 17:13:38 +01:00
parent 8972d80288
commit 48a95478ef
9 changed files with 40 additions and 36 deletions
+31
View File
@@ -0,0 +1,31 @@
<?php
use App\Models\LodgeBooking;
use App\Models\LodgePhoto;
use Illuminate\Support\Facades\Route;
Route::middleware(['auth', 'verified'])->prefix('admin')->group(function () {
$isAdmin = static function ($request): void {
abort_unless(
filled(config('lodge.admin_email'))
&& strcasecmp(trim((string) $request->user()?->email), trim((string) config('lodge.admin_email'))) === 0,
403
);
};
Route::get('/', function (\Illuminate\Http\Request $request) use ($isAdmin) {
$isAdmin($request);
return view('lodge.admin-dashboard', [
'total' => LodgeBooking::count(),
'pending' => LodgeBooking::where('status', 'pending')->count(),
'confirmed' => LodgeBooking::where('status', 'confirmed')->count(),
'photoCount' => LodgePhoto::count(),
'recent' => LodgeBooking::latest()->take(8)->get(),
]);
})->name('admin.dashboard');
Route::get('/photos', function (\Illuminate\Http\Request $request) use ($isAdmin) {
$isAdmin($request);
return view('lodge.admin-photos', ['photos' => LodgePhoto::latest()->get()]);
})->name('admin.photos');
});
+2
View File
@@ -8,3 +8,5 @@ Route::post('/book',[LodgeController::class,'book'])->middleware('throttle:8,1')
Route::get('/booking/{reference}',[LodgeController::class,'confirmation'])->middleware('throttle:30,1')->name('lodge.confirmation');
Route::middleware(['auth','verified'])->group(function(){Route::get('/dashboard',fn()=>redirect()->route('lodge.admin'))->name('dashboard');Route::get('/admin/bookings',[LodgeController::class,'admin'])->name('lodge.admin');Route::patch('/admin/bookings/{booking}',[LodgeController::class,'update'])->name('lodge.update');Route::post('/admin/photos',[LodgePhotoController::class,'store'])->name('lodge.photos.store');Route::delete('/admin/photos/{photo}',[LodgePhotoController::class,'destroy'])->name('lodge.photos.destroy');});
require __DIR__.'/settings.php';
require __DIR__.'/cresta-admin.php';