Fix create form and add edit Recettes / delete Recettes

This commit is contained in:
2026-04-03 14:42:43 +02:00
parent ae31644831
commit f8c0d6d1b2
10 changed files with 542 additions and 34 deletions

View File

@@ -41,13 +41,17 @@ class RecettesAPIController extends Controller {
$recetteRepo = new RecetteRepository();
$resp = $recetteRepo->advancedRecetteSearch( $title, $tagsId, $ingredientsId );
$resp = array_map( function($recette) use ($recetteRepo){
$r = $recetteRepo->getByID( $recette['num_recette'] );
$r->url = Router::getRouteURL( 'recettes->show', $r->slug );
$r->nb_ingredients = $r->getNumberOfIngredients();
return $r;
}, $resp ?? [] );
JSONResponse::sendSuccess( [ 'data' => $resp ] );
$objResp = [];
foreach( $resp as $r ){
$r = $recetteRepo->getByID( $r['num_recette'] );
$r->url = Router::getRouteURL( 'recettes->show', $r->slug );
$r->nb_ingredients = $r->getNumberOfIngredients();
if( !in_array( $r, $objResp ) ){
$objResp[] = $r;
}
}
JSONResponse::sendSuccess( [ 'data' => $objResp ] );
}
@@ -58,8 +62,8 @@ class RecettesAPIController extends Controller {
$temps = Request::post( 'temps' ) ?? "";
$fileField = "image";
$tagsId = explode( ",", Request::post( 'tag' ) ) ?? [];
$ingredientsId = explode( ",", Request::post( 'ingr' ) ) ?? [];
$tagsId = explode( ",", Request::post( 'tags' ) ) ?? [];
$ingredientsId = explode( ",", Request::post( 'ingredients' ) ) ?? [];
if( $tagsId == [ "" ] )
$tagsId = [];
@@ -83,13 +87,16 @@ class RecettesAPIController extends Controller {
// Vérification d'une entrée qui existerait déjà.
$slug = strtolower( $name );
$slug = str_replace( ' ', '-', $slug );
$slug = str_replace( ' ', '', $slug );
$recetteRepo = new RecetteRepository();
if( $recetteRepo->getBySlug( $slug ) ){
JSONResponse::sendError( [ 'error' => "Recette already exists" ] );
}
if( in_array( $slug, [ 'create', 'edit', 'delete' ] ) ){
JSONResponse::sendError( [ 'error' => "Recette already exists" ] );
}
// Création de la recette.
$recette = new Recette();
@@ -98,7 +105,7 @@ class RecettesAPIController extends Controller {
$recette->titre_recette = $name;
$recette->slug = $slug;
$recette->temps_de_preparation = intval( $temps );
$recette->temps_de_preparation = intval( $temps <= 0 ? 1 : $temps );
$recette->photo = $urlOrError;
$recette->description_recette = $description;
$recette->publication_date = date("Y-m-d");
@@ -140,8 +147,8 @@ class RecettesAPIController extends Controller {
$temps = Request::post( 'temps' ) ?? "";
$fileField = "image";
$tagsId = explode( ",", Request::post( 'tag' ) ) ?? [];
$ingredientsId = explode( ",", Request::post( 'ingr' ) ) ?? [];
$tagsId = explode( ",", Request::post( 'tags' ) ) ?? [];
$ingredientsId = explode( ",", Request::post( 'ingredients' ) ) ?? [];
if( $tagsId == [ "" ] )
$tagsId = [];
@@ -173,12 +180,12 @@ class RecettesAPIController extends Controller {
// Vérification d'une entrée qui existerait déjà.
$slug = strtolower( $name );
$slug = str_replace( ' ', '-', $slug );
$slug = str_replace( ' ', '', $slug );
$recette->titre_recette = $name;
$recette->slug = $slug;
$recette->temps_de_preparation = intval( $temps );
$recette->temps_de_preparation = intval( $temps <= 0 ? 1 : $temps );
$recette->description_recette = $description;
// Importation de la recette.