Converted IPKG configuration to CBI model

Removed abandoned code
This commit is contained in:
Steven Barth 2008-08-14 17:16:56 +00:00
parent f5ea976058
commit d915e6e1d7
5 changed files with 48 additions and 98 deletions

View file

@ -140,6 +140,10 @@ function Template.__init__(self, template)
self.template = template
end
function Template.render(self)
luci.template.render(self.template, {self=self})
end
--[[
Map - A map describing a configuration file
@ -260,7 +264,9 @@ function SimpleForm.parse(self, ...)
local valid = true
for i, v in ipairs(self.children) do
valid = valid and not v.tag_missing[1] and not v.tag_invalid[1]
valid = valid
and (not v.tag_missing or not v.tag_missing[1])
and (not v.tag_invalid or not v.tag_invalid[1])
end
local state =

View file

@ -19,7 +19,7 @@ function index()
entry({"admin", "system"}, template("admin_system/index"), i18n("system"), 30)
entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10)
entry({"admin", "system", "packages", "ipkg"}, call("action_ipkg"), i18n("a_s_p_ipkg"))
entry({"admin", "system", "packages", "ipkg"}, form("admin_system/ipkg"), i18n("a_s_p_ipkg"))
entry({"admin", "system", "passwd"}, call("action_passwd"), i18n("a_s_changepw"), 20)
entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("a_s_sshkeys"), 30)
entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 40)
@ -30,48 +30,6 @@ function index()
entry({"admin", "system", "reboot"}, call("action_reboot"), i18n("reboot"), 90)
end
function action_editor()
local file = luci.http.formvalue("file", "")
local data = luci.http.formvalue("data")
local err = nil
local msg = nil
local stat = true
if file and data then
stat, err = luci.fs.writefile(file, data)
end
if not stat then
err = luci.util.split(err, " ")
table.remove(err, 1)
msg = table.concat(err, " ")
end
local cnt, err = luci.fs.readfile(file)
if cnt then
cnt = luci.util.pcdata(cnt)
end
luci.template.render("admin_system/editor", {fn=file, cnt=cnt, msg=msg})
end
function action_ipkg()
local file = "/etc/ipkg.conf"
local data = luci.http.formvalue("data")
local stat = nil
local err = nil
if data then
stat, err = luci.fs.writefile(file, data)
end
local cnt = luci.fs.readfile(file)
if cnt then
cnt = luci.util.pcdata(cnt)
end
luci.template.render("admin_system/ipkg", {cnt=cnt, msg=err})
end
function action_packages()
local ipkg = require("luci.model.ipkg")
local void = nil

View file

@ -0,0 +1,36 @@
--[[
LuCI - Lua Configuration Interface
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
$Id$
]]--
local ipkgfile = "/etc/ipkg.conf"
f = SimpleForm("ipkgconf", translate("a_s_p_ipkg"))
t = f:field(TextValue, "lines")
t.rows = 10
function t.cfgvalue()
return luci.fs.readfile(ipkgfile) or ""
end
f:append(Template("admin_system/ipkg"))
function f.handle(self, state, data)
if state == FORM_VALID then
if (luci.fs.readfile(ipkgfile) or "") ~= data.lines then
luci.fs.writefile(ipkgfile, data.keys)
end
end
return true
end
return f

View file

@ -1,28 +0,0 @@
<%#
LuCI - Lua Configuration Interface
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
$Id$
-%>
<%+header%>
<h1><%:texteditor%></h1>
<form method="post" action="<%=controller%>/admin/system/editor">
<div><%:file%>: <input type="text" name="file" size="30" value="<%=fn%>" />
<% if msg then %><span class="error"><%:error%>: <%=msg%></span><% end %></div>
<br />
<div><textarea style="width: 100%" rows="20" name="data"><%=cnt%></textarea></div>
<br />
<div>
<input type="submit" value="<%:save%>" />
<input type="reset" value="<%:reset%>" />
</div>
</form>
<%+footer%>

View file

@ -12,29 +12,7 @@ You may obtain a copy of the License at
$Id$
-%>
<%+header%>
<h1><%:system%></h1>
<h2><%:a_s_p_ipkg%></h2>
<br />
<div><strong><%:a_s_p_ipkg_pkglists%>:</strong><code>src <em>Name</em> <em>URL</em></code></div>
<div><strong><%:a_s_p_ipkg_targets%>:</strong><code>dest <em>Name</em> <em>Pfad</em></code></div>
<br />
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-section-node" style="width: 100%">
<div class="cbi-value">
<div class="cbi-value-field">
<textarea style="width: 100%" rows="10" name="data"><%=cnt%></textarea>
</div>
</div>
</div>
<div>
<input type="submit" value="<%:save%>" />
<input type="reset" value="<%:reset%>" />
</div>
<% if msg then %><br /><div class="error"><%:error%>: <%=msg%></div><% end %>
</form>
<%+footer%>
<ul>
<li><strong><%:a_s_p_ipkg_pkglists%>:</strong> <code>src <em>Name</em> <em>URL</em></code></li>
<li><strong><%:a_s_p_ipkg_targets%>:</strong> <code>dest <em>Name</em> <em>Pfad</em></code></li>
</ul>