modules/admin-full: make mac addresses optional in static lease configuration
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 2 Jan 2013 15:31:59 +0000 (15:31 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 2 Jan 2013 15:31:59 +0000 (15:31 +0000)
modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua

index bf8418f..98f9d8e 100644 (file)
@@ -236,6 +236,7 @@ name.rmempty  = true
 
 mac = s:option(Value, "mac", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
 mac.datatype = "list(macaddr)"
+mac.rmempty  = true
 
 ip = s:option(Value, "ip", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
 ip.datatype = "ip4addr"
@@ -248,5 +249,14 @@ sys.net.arptable(function(entry)
        )
 end)
 
+function ip.validate(self, value, section)
+       local m = mac:formvalue(section) or ""
+       local n = name:formvalue(section) or ""
+       if value and #n == 0 and #m == 0 then
+               return nil, translate("One of hostname or mac address must be specified!")
+       end
+       return Value.validate(self, value, section)
+end
+
 
 return m