diff --git a/Backend/peepal_backend/app/Http/Controllers/HozzaadasController.php b/Backend/peepal_backend/app/Http/Controllers/HozzaadasController.php index 9e09229..e6f979f 100644 --- a/Backend/peepal_backend/app/Http/Controllers/HozzaadasController.php +++ b/Backend/peepal_backend/app/Http/Controllers/HozzaadasController.php @@ -27,22 +27,51 @@ class HozzaadasController extends Controller 'akadalym' => 'required|boolean', 'ar' => 'required|numeric', 'nyitva' => 'required|string', - 'utvonal' => 'required|string' + 'utvonal' => 'required|string', + 'koordinatak' => 'nullable|string' ]); - WcAdatok::create([ - 'nev' => $validatedData['nev'], - 'kerulet' => $validatedData['kerulet'], - 'kozeli_megall' => $validatedData['kozeli_megall'], - 'akadalym' => $validatedData['akadalym'], - 'ar' => $validatedData['ar'], - 'nyitva' => $validatedData['nyitva'], - 'nyitva' => $validatedData['nyitva'] - ]); + try { + $szelesseg = null; + $hosszusag = null; - return response() -> json([ - 'message' => 'Sikeres rögzítés' - ], 201); + if (!empty($validatedData['koordinatak'])) { + $koordinatak = explode(',', $validatedData['koordinatak']); + + if (count($koordinatak) == 2) { + $szelesseg = trim($koordinatak[0]); + $hosszusag = trim($koordinatak[1]); + + if (!is_numeric($szelesseg) || !is_numeric($hosszusag)) { + return response() -> json([ + 'message' => 'Érvénytelen a koordináták formátuma' + ], 422); + } + } + } + + $mosdo = WcAdatok::create([ + 'nev' => $validatedData['nev'], + 'kerulet' => $validatedData['kerulet'], + 'kozeli_megall' => $validatedData['kozeli_megall'], + 'akadalym' => $validatedData['akadalym'], + 'ar' => $validatedData['ar'], + 'nyitva' => $validatedData['nyitva'], + 'utvonal' => $validatedData['utvonal'], + 'szel_koord' => $szelesseg, + 'hossz_koord' => $hosszusag + ]); + + return response() -> json([ + 'message' => 'Sikeres rögzítés', + 'data' => $mosdo + ], 201); + } catch (\Exception $e) { + return response() -> json([ + 'message' => 'Hiba történt a mentés során', + 'error' => $e -> getMessage() + ], 500); + } } /** diff --git a/Backend/peepal_backend/database/migrations/2025_04_04_065541_wc_adatok_tablaletrehozas.php b/Backend/peepal_backend/database/migrations/2025_04_04_065541_wc_adatok_tablaletrehozas.php new file mode 100644 index 0000000..7a94237 --- /dev/null +++ b/Backend/peepal_backend/database/migrations/2025_04_04_065541_wc_adatok_tablaletrehozas.php @@ -0,0 +1,30 @@ +id(); + $table->string('nev', 250); + $table->string('kerulet', 250); + $table->string('kozeli_megall', 250); + $table->boolean('akadalym'); + $table->integer('ar'); + $table->string('nyitva', 250); + $table->double('hossz_koord')->nullable(); + $table->double('szel_koord')->nullable(); + $table->string('utvonal', 1000); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('wc_adatok'); + } +}; diff --git a/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx b/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx index 5df50d7..0590ede 100644 --- a/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx @@ -77,6 +77,16 @@ export default function HozzaadForm() { /> +