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 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, ...)
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 -%>
|
||||||
|
|
|
@ -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 %>
|
||||||
|
|
|
@ -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%>
|
||||||
|
|
|
@ -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%>
|
|
@ -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")
|
||||||
|
|
||||||
|
|
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