Hauptmenü

Bug: Date-Field in der CMDB erlaubt das Eintragen von ungültigen Daten

Begonnen von danielwi, 27.02.2020 12:30:06

⏪ vorheriges - nächstes ⏩

danielwi

Hallo zusammen,


ich bin heute zufällig über ein Problem gestoßen, als ich eine neue Klasse in der CMDB definert habe. Und zwar ist es möglich, in einem Date-Field ein ungültiges Datum einzugeben, wenn man den Wert per Hand einträgt:


Beispiel:


Das hier ist meine Felddefinition:


{ [/font][/size]        Key => 'contractEndDate', [/size]        Name => 'Vertragsende', [/size]        Searchable => 1, [/size]        Input => { [/size]            Type => 'Date', [/size]            Required => 1, [/size]            YearPeriodPast => 20, [/size]            YearPeriodFuture => 10, [/size]        }, [/size]    }, [/size]

[/font][/size]


Nun gebe ich in der CMDB unter der Klasse in dem Feld z.b. das nicht existente Datum 31.11.2022 ein, (Bild1) und speichere den Eintrag ab.


Im AgentITSMConfigItemZoom sieht man nun keinen Eintrag (Bild2)


In der Datenbank steht nun allerdings unter xml_storage.xml_content_value trotzdem genau dieser Wert. [/size]

[/size]
Das führt zu massiven Problemen, wenn man Erweiterungen schreibt, die direkt auf dieses Feld zugreifen oder wenn man direkte Datenbankabfragen im Zuge von Auswertungen fahren will. Dann rennt nämlich jedes Skript immer an die Wand, wenn man versucht, den gelesenen Wert in einen echten Datetime-Value zu casten.[/size]

[/size]
Wäre es möglich, das mal zu prüfen und zu beheben?[/size]

[/size]
VG[/size]
Daniel[/size]


Richard Leis

Hallo Daniel,

vielen Dank für die Meldung. Ich habe dazu einen Bug eingestellt.
Die Kollegen werden das prüfen.

Viele Grüße
Richard

Richard Leis

Hallo Daniel,

der hier gemeldete Bug wurde in Version 17.15 gefixt.
Es gibt nun eine Plausibilitätsprüfung für Daten in ConfigItems.

Viele Grüße
Richard