Etage ist Pflicht
Die Auswahlliste im Editor bot ein "-" an. Eine Automatik ohne Etage taucht aber in keinem der drei Reiter auf und ist danach nur noch in der Datenbank zu finden - anlegen und sofort verlieren. Der Eintrag ist weg, und der Zustand ist jetzt an drei Stellen unmoeglich statt nur unwahrscheinlich: die Liste kennt nur noch OG, EG und UG, saveAutomation lehnt alles andere mit einer Meldung ab statt still auf "" zurueckzufallen, und im Enum der Spalte gibt es den leeren Wert nicht mehr. Die Reihenfolge in der Liste ist jetzt OG, EG, UG wie bei den Reitern - damit trifft der Rueckfall auf den ersten Eintrag dieselbe Etage wie die Startseite. Kennt die Liste die Etage eines Datensatzes nicht, faellt sie darauf zurueck, statt leer stehen zu bleiben und beim Speichern "" zu schicken. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -267,7 +267,9 @@ function emptyAutomation($floor)
|
||||
return [
|
||||
"id" => 0,
|
||||
"name" => "",
|
||||
"floor" => $floor,
|
||||
// Aufgerufen wird der Editor immer aus einem Etagenreiter. Fehlt die
|
||||
// Angabe trotzdem, gilt dieselbe Etage wie auf der Startseite.
|
||||
"floor" => in_array($floor, ["UG", "EG", "OG"], true) ? $floor : "OG",
|
||||
"enabled" => true,
|
||||
"window_from" => "00:00",
|
||||
"window_to" => "23:59",
|
||||
@@ -370,8 +372,10 @@ function saveAutomation($data)
|
||||
throw new InvalidArgumentException("Bitte einen Namen vergeben.");
|
||||
}
|
||||
$floor = strval($data["floor"] ?? "");
|
||||
if (!in_array($floor, ["", "UG", "EG", "OG"], true)) {
|
||||
$floor = "";
|
||||
if (!in_array($floor, ["UG", "EG", "OG"], true)) {
|
||||
// Nicht stillschweigend auf "" zurueckfallen: die Automatik wuerde
|
||||
// dann in keinem der drei Reiter mehr auftauchen.
|
||||
throw new InvalidArgumentException("Bitte eine Etage wählen.");
|
||||
}
|
||||
$conditions = is_array($data["conditions"] ?? null) ? $data["conditions"] : [];
|
||||
$actions = is_array($data["actions"] ?? null) ? $data["actions"] : [];
|
||||
|
||||
Reference in New Issue
Block a user