From 7996c4f92cc5d538277e21626a2f984561fe04a9 Mon Sep 17 00:00:00 2001 From: Manuel Munz Date: Sun, 5 Dec 2010 23:47:08 +0000 Subject: [PATCH] applications/luci-olsr: Fix problem with float values --- .../luci-olsr/luasrc/model/cbi/olsr/olsrd.lua | 20 ++++++++++++++++++-- .../luci-olsr/luasrc/model/cbi/olsr/olsrdiface.lua | 17 +++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrd.lua b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrd.lua index eda5328cf..9bc17c895 100644 --- a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrd.lua +++ b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrd.lua @@ -35,8 +35,14 @@ function m.on_parse() end end +function write_float(self, section, value) + local n = tonumber(value) + if n ~= nil then + return Value.write(self, section, "%.1f" % n) + end +end + s = m:section(TypedSection, "olsrd", translate("General settings")) ---s.dynamic = true s.anonymous = true s:tab("general", translate("General Settings")) @@ -122,6 +128,7 @@ hyst.enabled = "yes" hyst.disabled = "no" hyst:depends("LinkQualityLevel", "0") hyst.optional = true +hyst.rmempty = true port = s:taboption("general", Value, "OlsrPort", translate("Port"), translate("The port OLSR uses. This should usually stay at the IANA assigned port 698. It can have a value between 1 and 65535.")) @@ -157,8 +164,9 @@ end natthr:depends("LinkQualityAlgorithm", "etx_ff") natthr:depends("LinkQualityAlgorithm", "etx_float") natthr:depends("LinkQualityAlgorithm", "etx_fpm") -natthr.default = 1 +natthr.default = "1.0" natthr.optional = true +natthr.write = write_float i = m:section(TypedSection, "InterfaceDefaults", translate("Interfaces Defaults")) @@ -230,41 +238,49 @@ hi = i:taboption("timing", Value, "HelloInterval", translate("Hello interval")) hi.optional = true hi.datatype = "ufloat" hi.placeholder = "5.0" +hi.write = write_float hv = i:taboption("timing", Value, "HelloValidityTime", translate("Hello validity time")) hv.optional = true hv.datatype = "ufloat" hv.placeholder = "40.0" +hv.write = write_float ti = i:taboption("timing", Value, "TcInterval", translate("TC interval")) ti.optional = true ti.datatype = "ufloat" ti.placeholder = "2.0" +ti.write = write_float tv = i:taboption("timing", Value, "TcValidityTime", translate("TC validity time")) tv.optional = true tv.datatype = "ufloat" tv.placeholder = "256.0" +tv.write = write_float mi = i:taboption("timing", Value, "MidInterval", translate("MID interval")) mi.optional = true mi.datatype = "ufloat" mi.placeholder = "18.0" +mi.write = write_float mv = i:taboption("timing", Value, "MidValidityTime", translate("MID validity time")) mv.optional = true mv.datatype = "ufloat" mv.placeholder = "324.0" +mv.write = write_float ai = i:taboption("timing", Value, "HnaInterval", translate("HNA interval")) ai.optional = true ai.datatype = "ufloat" ai.placeholder = "18.0" +ai.write = write_float av = i:taboption("timing", Value, "HnaValidityTime", translate("HNA validity time")) av.optional = true av.datatype = "ufloat" av.placeholder = "108.0" +av.write = write_float ifs = m:section(TypedSection, "Interface", translate("Interfaces")) diff --git a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdiface.lua b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdiface.lua index a981eb6cb..25692fd14 100644 --- a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdiface.lua +++ b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdiface.lua @@ -13,6 +13,13 @@ $Id$ ]]-- +function write_float(self, section, value) + local n = tonumber(value) + if n ~= nil then + return Value.write(self, section, "%.1f" % n) + end +end + m = Map("olsrd", translate("OLSR Daemon - Interface"), translate("The OLSR daemon is an implementation of the Optimized Link State Routing protocol. ".. "As such it allows mesh routing for any network equipment. ".. @@ -106,46 +113,52 @@ ip6s.optional = true ip6s.datatype = "ip6addr" ip6s.placeholder = "0::/0" - hi = i:taboption("timing", Value, "HelloInterval", translate("Hello interval")) hi.optional = true hi.datatype = "ufloat" hi.placeholder = "5.0" +hi.write = write_float hv = i:taboption("timing", Value, "HelloValidityTime", translate("Hello validity time")) hv.optional = true hv.datatype = "ufloat" hv.placeholder = "40.0" +hv.write = write_float ti = i:taboption("timing", Value, "TcInterval", translate("TC interval")) ti.optional = true ti.datatype = "ufloat" ti.placeholder = "2.0" +ti.write = write_float tv = i:taboption("timing", Value, "TcValidityTime", translate("TC validity time")) tv.optional = true tv.datatype = "ufloat" tv.placeholder = "256.0" +tv.write = write_float mi = i:taboption("timing", Value, "MidInterval", translate("MID interval")) mi.optional = true mi.datatype = "ufloat" mi.placeholder = "18.0" +mi.write = write_float mv = i:taboption("timing", Value, "MidValidityTime", translate("MID validity time")) mv.optional = true mv.datatype = "ufloat" mv.placeholder = "324.0" +mv.write = write_float ai = i:taboption("timing", Value, "HnaInterval", translate("HNA interval")) ai.optional = true ai.datatype = "ufloat" ai.placeholder = "18.0" +ai.write = write_float av = i:taboption("timing", Value, "HnaValidityTime", translate("HNA validity time")) av.optional = true av.datatype = "ufloat" av.placeholder = "108.0" - +av.write = write_float return m -- 2.11.0