38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers;
|
||
|
|
|
||
|
|
use App\Models\Eleve;
|
||
|
|
use App\Models\Signalement;
|
||
|
|
use App\Models\User;
|
||
|
|
use Illuminate\Http\RedirectResponse;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Illuminate\Support\Facades\Auth;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* « Signaler un problème » du menu avatar (séparation vitrine/application,
|
||
|
|
* 2026-10-13) : juste enregistré, relu par Adam — pas de traitement
|
||
|
|
* automatique, pas de ticket inventé.
|
||
|
|
*/
|
||
|
|
class SignalementController extends Controller
|
||
|
|
{
|
||
|
|
public function store(Request $request): RedirectResponse
|
||
|
|
{
|
||
|
|
$donnees = $request->validate([
|
||
|
|
'message' => ['required', 'string', 'max:2000'],
|
||
|
|
'page_url' => ['nullable', 'string', 'max:500'],
|
||
|
|
]);
|
||
|
|
|
||
|
|
$compte = Auth::guard('web')->user() ?? Auth::guard('eleve')->user();
|
||
|
|
|
||
|
|
Signalement::create([
|
||
|
|
'user_id' => $compte instanceof User ? $compte->id : null,
|
||
|
|
'eleve_id' => $compte instanceof Eleve ? $compte->id : null,
|
||
|
|
'page_url' => $donnees['page_url'] ?? null,
|
||
|
|
'message' => $donnees['message'],
|
||
|
|
]);
|
||
|
|
|
||
|
|
return back()->with('signalement_envoye', true);
|
||
|
|
}
|
||
|
|
}
|