Ajout de l'assistant d'installation web et corrections de navigation
- Wizard d'installation en 5 étapes (/setup) : prérequis PHP, base de données (PostgreSQL/MySQL avec test de connexion AJAX), paramètres app, compte admin, résultat — génère le .env, migre et crée l'administrateur - CheckInstallation middleware : redirige vers /setup si non installé, protège /setup si déjà installé ; storage/installed comme marqueur - Menu Administration : remplacé par le composant x-dropdown Breeze (même positionnement que le menu utilisateur — corrige le débordement en haut) - Logo navbar : adaptatif via h-full/py-1.5 (s'adapte à la hauteur de la barre) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class CheckInstallation
|
||||
{
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
$installed = file_exists(storage_path('installed'));
|
||||
$onSetup = $request->is('setup') || $request->is('setup/*');
|
||||
|
||||
if (! $installed && ! $onSetup) {
|
||||
// Laisser passer les health checks et réponses JSON
|
||||
if ($request->is('up') || $request->expectsJson()) {
|
||||
return $next($request);
|
||||
}
|
||||
return redirect('/setup');
|
||||
}
|
||||
|
||||
if ($installed && $onSetup) {
|
||||
return redirect('/');
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user