comment form

This commit is contained in:
Clément
2025-05-12 17:35:24 +02:00
committed by PRIBYLSKI
parent fe87272b43
commit cfb482ddf5
9 changed files with 115 additions and 12 deletions

View File

@@ -7,6 +7,7 @@ use App\Http\Requests\UpdateBilletRequest;
use App\Models\Billet;
use Illuminate\Support\Facades\Log;
use Illuminate\Database\QueryException;
class BilletController extends Controller
{
@@ -15,12 +16,11 @@ class BilletController extends Controller
*/
public function index()
{
Log::info("coucou");
try {
$billets = Billet::all();
} catch (\Illuminate\Database\QueryException $e) {
} catch (QueryException $e) {
Log::channel('projectError')->error('Erreur d\'accès à la base de données');
return view('errors.unavailable');
return view('errors.dberror');
}
return view('index', compact('billets'));
}
@@ -47,7 +47,11 @@ class BilletController extends Controller
public function show(Billet $billet)
{
//
$commentaires = $billet->commentaires;
try {
$commentaires = $billet->commentaires;
} catch (QueryException $e) {
return view('errors.dberror');
}
return view('vBillet', compact('billet', 'commentaires'));
}

View File

@@ -5,6 +5,8 @@ namespace App\Http\Controllers;
use App\Http\Requests\StoreCommentaireRequest;
use App\Http\Requests\UpdateCommentaireRequest;
use App\Models\Commentaire;
use App\Models\Billet;
use Illuminate\Support\Facades\Log;
class CommentaireController extends Controller
{
@@ -19,9 +21,20 @@ class CommentaireController extends Controller
/**
* Show the form for creating a new resource.
*/
public function create()
public function create($idBillet)
{
//
try {
$billet = Billet::findOrFail($idBillet);
}
catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) {
Log::channel('projectError')->error('Commentaire : Billet non trouvé');
return view('errors.unavailable');
}
catch (\Illuminate\Database\QueryException $e) {
Log::channel('projectError')->error('Erreur accès base de données');
return view('errors.dberror');
}
return view('vCommenter', compact('idBillet', 'billet'));
}
/**
@@ -29,7 +42,15 @@ class CommentaireController extends Controller
*/
public function store(StoreCommentaireRequest $request)
{
//
try {
Commentaire::create($request->all());
}
catch (\Illuminate\Database\QueryException $e) {
Log::channel('projectError')->error('Insertion en base de données impossible');
return view('errors.dberror');
}
Log::channel('projectInfo')->info('Commentaire ajouté par : '.$request->ip());
return view('vConfirmStore');
}
/**

View File

@@ -11,7 +11,7 @@ class StoreCommentaireRequest extends FormRequest
*/
public function authorize(): bool
{
return false;
return true;
}
/**
@@ -22,7 +22,24 @@ class StoreCommentaireRequest extends FormRequest
public function rules(): array
{
return [
//
'COM_AUTEUR' => ['required', 'alpha', 'max:100'],
'COM_CONTENU' => ['required', 'string', 'max:200'],
];
}
/**
* Get the error messages for the defined validation rules.
*
* @return array
*/
public function messages() {
return [
'COM_AUTEUR.required' => 'Le nom de l\'auteur est requis.',
'COM_AUTEUR.alpha' => 'Le nom de l\'auteur ne doit contenir que des lettres.',
'COM_AUTEUR.max' => 'Le nom de l\'auteur ne doit pas dépasser 100 caractères.',
'COM_CONTENU.required' => 'Le contenu du commentaire est requis.',
'COM_CONTENU.string' => 'Le contenu du commentaire doit être une chaîne de caractères.',
'COM_CONTENU.max' => 'Le contenu du commentaire ne doit pas dépasser 200 caractères.',
];
}
}