Fixed login form

Converted SSH-Keys to CBI-Map
This commit is contained in:
Steven Barth 2008-08-14 16:11:49 +00:00
parent 09145378c8
commit 36717208f1
9 changed files with 71 additions and 82 deletions

View file

@ -268,7 +268,7 @@ function SimpleForm.parse(self, ...)
or valid and 1 or valid and 1
or -1 or -1
self.dorender = self:handle(state) self.dorender = self:handle(state, self.data)
end end
function SimpleForm.render(self, ...) function SimpleForm.render(self, ...)

View file

@ -17,7 +17,9 @@ $Id$
<span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /></span> <span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /></span>
<div class="cbi-value-description"><%=self.description%></div> <div class="cbi-value-description"><%=self.description%></div>
<%- end %> <%- end %>
<%- if self.title and #self.title > 0 then -%>
</div> </div>
<%- end -%>
<% if self.tag_invalid[section] then -%> <% if self.tag_invalid[section] then -%>
<div class="cbi-error"><%:cbi_invalid%></div> <div class="cbi-error"><%:cbi_invalid%></div>

View file

@ -14,9 +14,11 @@ $Id$
-%> -%>
<div class="cbi-value" id="cbi-<%=self.config.."-"..section.."-"..self.option%>"> <div class="cbi-value" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
<%- if self.title and #self.title > 0 then -%>
<label class="cbi-value-title"<%= attr("for", cbid) %>> <label class="cbi-value-title"<%= attr("for", cbid) %>>
<%- if self.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=self.titleref%>"><%- end -%> <%- if self.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=self.titleref%>"><%- end -%>
<%-=self.title-%> <%-=self.title-%>
<%- if self.titleref then -%></a><%- end -%> <%- if self.titleref then -%></a><%- end -%>
</label> </label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<%- end -%>

View file

@ -17,7 +17,6 @@ $Id$
<div> <div>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script> <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<input type="hidden" name="cbi.submit" value="1" /> <input type="hidden" name="cbi.submit" value="1" />
<input type="submit" value="<%:save%>" class="hidden" />
</div> </div>
<div class="cbi-map" id="cbi-<%=self.config%>"> <div class="cbi-map" id="cbi-<%=self.config%>">
<h1><%=self.title%></h1> <h1><%=self.title%></h1>
@ -32,12 +31,12 @@ $Id$
</div> </div>
<div> <div>
<%- if self.submit ~= false then %> <%- if self.submit ~= false then %>
<input type="submit" value=" <input class="cbi-button-save" type="submit" value="
<%- if not self.submit then -%><%-:submit-%><%-else-%><%=self.submit%><%end%> <%- if not self.submit then -%><%-:submit-%><%-else-%><%=self.submit%><%end%>
" /> " />
<% end %> <% end %>
<%- if self.reset ~= false then %> <%- if self.reset ~= false then %>
<input type="reset" value=" <input class="cbi-button-reset" type="reset" value="
<%- if not self.reset then -%><%-:reset-%><%-else-%><%=self.reset%><%end%> <%- if not self.reset then -%><%-:reset-%><%-else-%><%=self.reset%><%end%>
" /> " />
<% end %> <% end %>

View file

@ -13,7 +13,7 @@ $Id$
-%> -%>
<%+cbi/valueheader%> <%+cbi/valueheader%>
<textarea onchange="cbi_d_update(this.id)"<%= attr("name", cbid) .. attr("id", cbid) .. ifattr(self.size, "cols") .. ifattr(self.rows, "rows") .. ifattr(self.wrap, "wrap") %>> <textarea<% if not self.size then %> style="width: 100%"<% else %> cols="<%=self.size%>"<% end %> onchange="cbi_d_update(this.id)"<%= attr("name", cbid) .. attr("id", cbid) .. ifattr(self.rows, "rows") .. ifattr(self.wrap, "wrap") %>>
<%-=luci.util.pcdata(self:cfgvalue(section))-%> <%-=luci.util.pcdata(self:cfgvalue(section))-%>
</textarea> </textarea>
<%+cbi/valuefooter%> <%+cbi/valuefooter%>

View file

@ -14,27 +14,36 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<% luci.i18n.loadc("sysauth") %> <% luci.i18n.loadc("sysauth") %>
<h1><%:sysauth_head%></h1>
<p><%:sysauth_prompt%></p>
<% if fuser then %>
<div class="error"><%:sysauth_failed%></div>
<br />
<% end %>
<form method="post" action="<%=REQUEST_URI%>"> <form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-section-node"> <div class="cbi-map">
<div class="cbi-value"> <h1><%:sysauth_head%></h1>
<div class="cbi-value-title"><%:username%></div> <div class="cbi-map-descr">
<div class="cbi-value-field"><input class="cbi-input-user" type="text" name="username" value="<%=duser%>" /></div> <%:sysauth_prompt%>
</div> <%- if fuser then %>
<div class="cbi-value"> <div class="error"><%:sysauth_failed%></div>
<div class="cbi-value-title"><%:password%></div>
<div class="cbi-value-field"><input class="cbi-input-key" type="password" name="password" /></div>
</div>
<br /> <br />
<div> <% end -%>
<input type="submit" class="cbi-button cbi-button-apply" value="<%:login%>" />
<input type="reset" class="cbi-button cbi-button-reset" value="<%:reset%>" />
</div> </div>
<fieldset class="cbi-section"><fieldset class="cbi-section-node">
<div class="cbi-value">
<label class="cbi-value-title"><%:username%></label>
<div class="cbi-value-field">
<input class="cbi-input-user" type="text" name="username" value="<%=duser%>" />
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:password%></label>
<div class="cbi-value-field">
<input class="cbi-input-key" type="password" name="password" />
</div>
</div>
</fieldset></fieldset>
</div>
<div>
<input type="submit" value="<%:login%>" class="cbi-button cbi-button-apply" />
<input type="reset" value="<%:reset%>" class="cbi-button cbi-button-reset" />
</div> </div>
</form> </form>
<%+footer%> <%+footer%>

View file

@ -21,7 +21,7 @@ function index()
entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10) 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"}, call("action_ipkg"), i18n("a_s_p_ipkg"))
entry({"admin", "system", "passwd"}, call("action_passwd"), i18n("a_s_changepw"), 20) entry({"admin", "system", "passwd"}, call("action_passwd"), i18n("a_s_changepw"), 20)
entry({"admin", "system", "sshkeys"}, call("action_sshkeys"), i18n("a_s_sshkeys"), 30) entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("a_s_sshkeys"), 30)
entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 40) entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 40)
entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50) entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50)
entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("leds", "LEDs"), 60) entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("leds", "LEDs"), 60)
@ -220,24 +220,6 @@ function action_reboot()
end end
end end
function action_sshkeys()
local file = "/etc/dropbear/authorized_keys"
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/sshkeys", {cnt=cnt, msg=err})
end
function action_upgrade() function action_upgrade()
require("luci.model.uci") require("luci.model.uci")

View file

@ -0,0 +1,34 @@
--[[
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 keyfile = "/etc/dropbear/authorized_keys"
f = SimpleForm("sshkeys", translate("a_s_sshkeys"), translate("a_s_sshkeys1"))
t = f:field(TextValue, "keys")
t.rows = 10
function t.cfgvalue()
return luci.fs.readfile(keyfile) or ""
end
function f.handle(self, state, data)
if state == FORM_VALID then
if (luci.fs.readfile(keyfile) or "") ~= data.keys then
luci.fs.writefile(keyfile, data.keys)
end
end
return true
end
return f

View file

@ -1,39 +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%>
<form method="post" action="<%=controller%>/admin/system/sshkeys">
<div class="cbi-map">
<h1><%:a_s_sshkeys%></h1>
<div class="cbi-map-descr">
<%:a_s_sshkeys1%>
</div>
<fieldset class="cbi-section">
<legend><%:a_s_sshkeys%></legend>
<textarea style="width: 100%" rows="10" name="data" wrap="off"><%=cnt%></textarea>
<% if msg then -%>
<div class="cbi-error"><%:error%>: <%=msg%></div>
<% end %>
</fieldset>
</div>
<div>
<input type="submit" value="<%:save%>" class="cbi-button cbi-button-save" />
<input type="reset" value="<%:reset%>" class="cbi-button cbi-button-reset" />
</div>
</form>
<%+footer%>