From 1f451d4021ca2aba8a9d82cb2feb1e450764c0c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Sat, 28 Jan 2023 20:34:52 +0100 Subject: [PATCH] gluon-web-model: fix issue with warning blocking save on private-wifi The other bugfix which made this element inherit from AbstractValue caused AbstractValue:validate() to be inherited aswell Now added an if so validate only runs if a datatype is set (since Element is meant as a generic way to extend web-model without modifying web-model - also to add custom inputs - just hiding it behind an if sounds like a sane solution) --- .../usr/lib/lua/gluon/web/model/classes.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua b/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua index 93279c3b..d09b9bb8 100644 --- a/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua +++ b/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua @@ -429,6 +429,23 @@ function Element:__init__(template, kv, ...) self.error = false end +function Element:parse(http) + if not self.datatype then + self.state = M.FORM_VALID + return + end + + return AbstractValue:parse(http) +end + +function Element:validate() + if not self.datatype then + return true + end + + AbstractValue:validate() +end + local Section = class(Node) M.Section = Section