@@ -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');
|
||||
});
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user