validate([ 'type' => ['required', Rule::in(['Modification', 'Ajout', 'Correction'])], 'titre' => ['required', 'string', 'min:5', 'max:120'], 'description' => ['required', 'string', 'min:10', 'max:5000'], ], [ 'type.required' => 'Veuillez choisir un type de demande.', 'type.in' => 'Type de demande invalide.', 'titre.required' => 'Le titre est requis.', 'titre.min' => 'Le titre doit contenir au moins 5 caractères.', 'titre.max' => 'Le titre ne peut pas dépasser 120 caractères.', 'description.required' => 'La description est requise.', 'description.min' => 'Merci de détailler un peu plus votre suggestion (10 caractères minimum).', ]); /** @var Utilisateur $user */ $user = Auth::user(); $auteur = $user->Pseudo ?? 'Utilisateur'; $title = "[{$data['type']}] {$data['titre']}"; $body = "**Type de demande :** {$data['type']}\n" ."**Proposé par :** {$auteur} (via le site (RE)Sources Relationnelles)\n\n" ."### Description\n" .$data['description']."\n\n" ."---\n" .'_Ticket créé automatiquement depuis le formulaire de suggestions du site._'; if ($gitea->createIssue($title, $body)) { return redirect()->route('suggestions.create') ->with('success', 'Merci ! Votre suggestion a bien été transmise à l\'équipe.'); } return back()->withInput()->withErrors([ 'gitea' => "L'envoi de votre suggestion a échoué. Merci de réessayer plus tard.", ]); } }