Fixed login form
Converted SSH-Keys to CBI-Map
This commit is contained in:
parent
09145378c8
commit
36717208f1
9 changed files with 71 additions and 82 deletions
|
@ -268,7 +268,7 @@ function SimpleForm.parse(self, ...)
|
|||
or valid and 1
|
||||
or -1
|
||||
|
||||
self.dorender = self:handle(state)
|
||||
self.dorender = self:handle(state, self.data)
|
||||
end
|
||||
|
||||
function SimpleForm.render(self, ...)
|
||||
|
|
|
@ -17,7 +17,9 @@ $Id$
|
|||
<span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /></span>
|
||||
<div class="cbi-value-description"><%=self.description%></div>
|
||||
<%- end %>
|
||||
<%- if self.title and #self.title > 0 then -%>
|
||||
</div>
|
||||
<%- end -%>
|
||||
|
||||
<% if self.tag_invalid[section] then -%>
|
||||
<div class="cbi-error"><%:cbi_invalid%></div>
|
||||
|
|
|
@ -14,9 +14,11 @@ $Id$
|
|||
-%>
|
||||
|
||||
<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) %>>
|
||||
<%- if self.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=self.titleref%>"><%- end -%>
|
||||
<%-=self.title-%>
|
||||
<%- if self.titleref then -%></a><%- end -%>
|
||||
</label>
|
||||
<div class="cbi-value-field">
|
||||
<%- end -%>
|
||||
|
|
|
@ -17,7 +17,6 @@ $Id$
|
|||
<div>
|
||||
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
||||
<input type="hidden" name="cbi.submit" value="1" />
|
||||
<input type="submit" value="<%:save%>" class="hidden" />
|
||||
</div>
|
||||
<div class="cbi-map" id="cbi-<%=self.config%>">
|
||||
<h1><%=self.title%></h1>
|
||||
|
@ -32,12 +31,12 @@ $Id$
|
|||
</div>
|
||||
<div>
|
||||
<%- 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%>
|
||||
" />
|
||||
<% end %>
|
||||
<%- 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%>
|
||||
" />
|
||||
<% end %>
|
||||
|
|
|
@ -13,7 +13,7 @@ $Id$
|
|||
|
||||
-%>
|
||||
<%+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))-%>
|
||||
</textarea>
|
||||
<%+cbi/valuefooter%>
|
||||
|
|
|
@ -14,27 +14,36 @@ $Id$
|
|||
-%>
|
||||
<%+header%>
|
||||
<% 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%>">
|
||||
<div class="cbi-section-node">
|
||||
<div class="cbi-value">
|
||||
<div class="cbi-value-title"><%:username%></div>
|
||||
<div class="cbi-value-field"><input class="cbi-input-user" type="text" name="username" value="<%=duser%>" /></div>
|
||||
</div>
|
||||
<div class="cbi-value">
|
||||
<div class="cbi-value-title"><%:password%></div>
|
||||
<div class="cbi-value-field"><input class="cbi-input-key" type="password" name="password" /></div>
|
||||
</div>
|
||||
<div class="cbi-map">
|
||||
<h1><%:sysauth_head%></h1>
|
||||
<div class="cbi-map-descr">
|
||||
<%:sysauth_prompt%>
|
||||
<%- if fuser then %>
|
||||
<div class="error"><%:sysauth_failed%></div>
|
||||
<br />
|
||||
<div>
|
||||
<input type="submit" class="cbi-button cbi-button-apply" value="<%:login%>" />
|
||||
<input type="reset" class="cbi-button cbi-button-reset" value="<%:reset%>" />
|
||||
</div>
|
||||
<% end -%>
|
||||
</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>
|
||||
</form>
|
||||
<%+footer%>
|
|
@ -21,7 +21,7 @@ function index()
|
|||
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", "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", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50)
|
||||
entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("leds", "LEDs"), 60)
|
||||
|
@ -220,24 +220,6 @@ function action_reboot()
|
|||
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()
|
||||
require("luci.model.uci")
|
||||
|
||||
|
|
34
modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua
Normal file
34
modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua
Normal 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
|
|
@ -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%>
|
Loading…
Reference in a new issue