Files
CPLv4.0/components/main/settingsPageComponents/handlers/handleGeneralSubmit.ts
ISA 9dd7af09c0 fix: Korrekte Reihenfolge für handleGeneralSubmit implementiert und Debug-Logging hinzugefügt
- Reihenfolge von original und current Werten korrigiert
- Fehler behoben, bei dem alte Werte gesendet wurden
- Logging für Debugzwecke ergänzt (URL, Original, Current, Changes)
- Änderung des Gerätenamens, IP, Subnet, Gateway jetzt voll funktionsfähig
2025-04-25 10:48:43 +02:00

71 lines
1.7 KiB
TypeScript

// /components/main/settingsPageComponents/handlers/handleGeneralSubmit.ts
const handleGeneralSubmit = (
original: {
name: string;
ip: string;
subnet: string;
gateway: string;
},
current: {
name: string;
ip: string;
subnet: string;
gateway: string;
}
) => {
const changes: { [key: string]: string } = {};
let networkChanges = false;
let newIp: string | null = null;
if (current.name !== original.name) {
changes.SNNA = current.name;
networkChanges = true;
}
if (current.ip !== original.ip) {
changes.SEI01 = current.ip;
newIp = current.ip;
networkChanges = true;
}
if (current.subnet !== original.subnet) {
changes.SEI02 = current.subnet;
networkChanges = true;
}
if (current.gateway !== original.gateway) {
changes.SEI03 = current.gateway;
networkChanges = true;
}
if (Object.keys(changes).length === 0) {
alert("Keine Änderungen vorgenommen.");
return;
}
let url = `${window.location.origin}/CPL?${window.location.pathname}`;
Object.entries(changes).forEach(([key, value]) => {
url += `&${key}=${encodeURIComponent(value)}`;
});
console.log("URL für Allgemeine Einstellungen: ", url);
console.log("Original:", original);
console.log("Current:", current);
console.log("Changes:", changes);
fetch(url, { method: "GET" })
.then(() => {
alert("Daten erfolgreich gesendet!");
if (networkChanges) {
alert(
"Ein Neustart ist erforderlich, um die Netzwerkeinstellungen zu übernehmen."
);
// Optional: handleReboot(newIp);
}
})
.catch((err) => {
console.error("Fehler:", err);
alert("Fehler beim Senden der Netzwerkdaten.");
});
};
export default handleGeneralSubmit;