luci-mod-admin-full: fix empty SSH-Keys issue 1881/head
authorFlorian Eckert <fe@dev.tdt.de>
Thu, 14 Jun 2018 09:13:08 +0000 (11:13 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Thu, 14 Jun 2018 09:50:55 +0000 (11:50 +0200)
If you delete all ssh keys in the textarea then LuCI will rais an error.
So if you added one ssh-key to the textarea and then you want to delete them
again that is not possbile in LuCI.
To fix this remove "rmempty" attribute and add a remove function which will
called if the textarea is empty.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/admin.lua

index 493a735bdeb6e6f94c1341633e205dc4334bf773..6c1c1235c5a59fcde59780f3195d111bd55d400e 100644 (file)
@@ -104,16 +104,17 @@ end
 keys = s2:option(TextValue, "_data", "")
 keys.wrap    = "off"
 keys.rows    = 3
-keys.rmempty = false
 
 function keys.cfgvalue()
        return fs.readfile("/etc/dropbear/authorized_keys") or ""
 end
 
 function keys.write(self, section, value)
-       if value then
-               fs.writefile("/etc/dropbear/authorized_keys", value:gsub("\r\n", "\n"))
-       end
+       return fs.writefile("/etc/dropbear/authorized_keys", value:gsub("\r\n", "\n"))
+end
+
+function keys.remove(self, section, value)
+       return fs.writefile("/etc/dropbear/authorized_keys", "")
 end
 
 end