// components/modales/handlers/handleSubmit.js import handleReboot from "./handleReboot"; const handleSubmit = (originalValues, currentValues) => { const changes = {}; let networkChanges = false; // Überprüfe, welche Werte sich geändert haben, wobei Netzwerk- oder Namensänderungen einen Neustart erfordern if (currentValues.name !== originalValues.name) { changes.SNNA = currentValues.name; networkChanges = true; } if (currentValues.ip !== originalValues.ip) { changes.SEI01 = currentValues.ip; networkChanges = true; } if (currentValues.subnet !== originalValues.subnet) { changes.SEI02 = currentValues.subnet; networkChanges = true; } if (currentValues.gateway !== originalValues.gateway) { changes.SEI03 = currentValues.gateway; networkChanges = true; } if (currentValues.ntp1 !== originalValues.ntp1) { changes.SNIP1 = currentValues.ntp1; } if (currentValues.ntp2 !== originalValues.ntp2) { changes.SNIP2 = currentValues.ntp2; } if (currentValues.ntp3 !== originalValues.ntp3) { changes.SNIP3 = currentValues.ntp3; } if (currentValues.ntpTimezone !== originalValues.ntpTimezone) { changes.SNTZ = currentValues.ntpTimezone; } if (currentValues.active !== originalValues.active) { changes.SNAC = currentValues.active; } // Falls Änderungen vorhanden sind, sende die neuen Daten if (Object.keys(changes).length > 0) { // Pfad anpassen, um sicherzustellen, dass er auf ".html" endet let currentPath = window.location.pathname; if (!currentPath.endsWith(".html")) { currentPath += ".html"; } // Erstelle die vollständige URL mit Host, Pfad und Parametern let url = `${window.location.origin}/CPL?${currentPath}`; Object.keys(changes).forEach((paramKey) => { url += `&${paramKey}=${encodeURIComponent(changes[paramKey])}`; }); // Logge die URL zur Überprüfung console.log(url); // Sende die URL mit den Änderungen an den Server fetch(url, { method: "GET" }); alert("Daten erfolgreich gesendet!"); // Hinweis und Neustart bei Namens- oder Netzwerkeinstellungen if (networkChanges) { alert( "Hinweis: Die Änderungen in CPL-Name und den Netzwerkeinstellungen werden erst nach einem Neustart des CPL wirksam." ); handleReboot(); // handleReboot enthält bereits die Bestätigung } } else { alert("Keine Änderungen vorgenommen."); } }; export default handleSubmit;