From 544a59b92eec06cbf63d514bde0b2da59db0a548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ndor=20M=C3=A1t=C3=A9=20Magony?= Date: Mon, 14 Apr 2025 19:11:29 +0200 Subject: [PATCH] =?UTF-8?q?M=C5=B1k=C3=B6dik=20a=20form=20a=20m=C3=B3dos?= =?UTF-8?q?=C3=ADtott=20adatb=C3=A1zissal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/Http/Controllers/WcController.php | 2 +- .../peepal_backend/app/Models/WcAdatok.php | 4 ++ .../2025_04_10_091601_tabla_feltoles.php | 2 +- .../src/WC_Komponens/Hozzadas/HozzaadForm.jsx | 63 +++++++++++++------ 4 files changed, 50 insertions(+), 21 deletions(-) diff --git a/Backend/peepal_backend/app/Http/Controllers/WcController.php b/Backend/peepal_backend/app/Http/Controllers/WcController.php index ba3b195..9aab86f 100644 --- a/Backend/peepal_backend/app/Http/Controllers/WcController.php +++ b/Backend/peepal_backend/app/Http/Controllers/WcController.php @@ -56,7 +56,7 @@ class WcController extends Controller 'utvonal' => $validatedData['utvonal'], 'szel_koord' => $szelesseg, 'hossz_koord' => $hosszusag, - 'felhasznalo_id' => $validatedData['felhasznalo_id'] + 'felhasznalo_id' => $validatedData['felhasznalo_id'] ?? null ]); return response()->json([ diff --git a/Backend/peepal_backend/app/Models/WcAdatok.php b/Backend/peepal_backend/app/Models/WcAdatok.php index 054aa13..9302fb2 100644 --- a/Backend/peepal_backend/app/Models/WcAdatok.php +++ b/Backend/peepal_backend/app/Models/WcAdatok.php @@ -13,6 +13,10 @@ class WcAdatok extends Model return $this->belongsTo(Keruletek::class); } + public function felhasznalo(){ + return $this->belongsTo(User::class); + } + protected $table = 'wc_adatok'; protected $fillable = [ diff --git a/Backend/peepal_backend/database/migrations/2025_04_10_091601_tabla_feltoles.php b/Backend/peepal_backend/database/migrations/2025_04_10_091601_tabla_feltoles.php index 6e07a38..bc924b0 100644 --- a/Backend/peepal_backend/database/migrations/2025_04_10_091601_tabla_feltoles.php +++ b/Backend/peepal_backend/database/migrations/2025_04_10_091601_tabla_feltoles.php @@ -37,7 +37,7 @@ return new class extends Migration $table->double('hossz_koord'); $table->double('szel_koord'); $table->string('utvonal', 1000); - $table->foreignId('felhasznalo_id')->references('id')->on('felhasznalok'); + $table->foreignId('felhasznalo_id')->nullable()->references('id')->on('felhasznalok'); $table->timestamps(); }); } diff --git a/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx b/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx index 0ce386a..93f5b60 100644 --- a/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx @@ -1,4 +1,4 @@ -import React, {useState} from "react"; +import React, { useState} from "react"; import { useNavigate } from "react-router-dom"; export default function HozzaadForm() { @@ -23,7 +23,8 @@ export default function HozzaadForm() { ar: ar, nyitva: nyitva, utvonal: utvonal, - koordinatak: koordinatak + koordinatak: koordinatak, + felhasznalo_id: null } fetch("http://localhost:8000/api/hozzaadas", { @@ -33,21 +34,33 @@ export default function HozzaadForm() { }, body: JSON.stringify(wcInfo) }) - .then((response) => response.json()) - .then((newWC) => { - setNev(""); - setKeruletId(""); - setKozeli(""); - setAkadalym(false); - setAr(""); - setNyitva(""); - setUtvonal(""); - setKoordinatak(""); - navigate("/"); - }) - .catch((error) => { - console.log(error); - }) + .then(async (response) => { + if (!response.ok) { + const errorData = await response.json(); + console.error("Hiba a POST kérésnél:", errorData); + alert("Hiba történt az adatok mentésekor."); + return; + } + + const newWC = await response.json(); + + console.log("Sikeres mentés:", newWC); + + // csak siker után törlünk mindent és navigálunk + setNev(""); + setKeruletId(""); + setKozeli(""); + setAkadalym(false); + setAr(""); + setNyitva(""); + setUtvonal(""); + setKoordinatak(""); + navigate("/"); + }) + .catch((error) => { + console.log("Hálózati hiba:", error); + alert("Nem sikerült csatlakozni a szerverhez."); + }); } const ToolTip = ({children, text}) => { @@ -83,10 +96,21 @@ export default function HozzaadForm() { - setKeruletId(event.target.value)} + > + + {Array.from({ length: 23 }, (_, i) => ( + + ))} + {/* + */}