diff options
author | Steven Barth <steven@midlink.org> | 2008-08-14 16:11:49 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-08-14 16:11:49 +0000 |
commit | 36717208f1ae73290d352d706425e32f9726ff37 (patch) | |
tree | a1e7379764de6c34f6cd4178c0c330eb3becdcfb | |
parent | 09145378c87cc1b8bad52d211b77f836a6130a9f (diff) |
Fixed login form
Converted SSH-Keys to CBI-Map
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 2 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/full_valuefooter.htm | 2 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/full_valueheader.htm | 2 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/simpleform.htm | 5 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/tvalue.htm | 2 | ||||
-rw-r--r-- | modules/admin-core/luasrc/view/sysauth.htm | 43 | ||||
-rw-r--r-- | modules/admin-full/luasrc/controller/admin/system.lua | 20 | ||||
-rw-r--r-- | modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua | 34 | ||||
-rw-r--r-- | modules/admin-full/luasrc/view/admin_system/sshkeys.htm | 39 |
9 files changed, 69 insertions, 80 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index f7725c5348..399f486752 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -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, ...) diff --git a/libs/cbi/luasrc/view/cbi/full_valuefooter.htm b/libs/cbi/luasrc/view/cbi/full_valuefooter.htm index 8933016d7d..a5a6046a5a 100644 --- a/libs/cbi/luasrc/view/cbi/full_valuefooter.htm +++ b/libs/cbi/luasrc/view/cbi/full_valuefooter.htm @@ -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> diff --git a/libs/cbi/luasrc/view/cbi/full_valueheader.htm b/libs/cbi/luasrc/view/cbi/full_valueheader.htm index 5b890ed0be..ddc256dc72 100644 --- a/libs/cbi/luasrc/view/cbi/full_valueheader.htm +++ b/libs/cbi/luasrc/view/cbi/full_valueheader.htm @@ -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 -%> diff --git a/libs/cbi/luasrc/view/cbi/simpleform.htm b/libs/cbi/luasrc/view/cbi/simpleform.htm index 38df61b5f9..68c8cc9169 100644 --- a/libs/cbi/luasrc/view/cbi/simpleform.htm +++ b/libs/cbi/luasrc/view/cbi/simpleform.htm @@ -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 %> diff --git a/libs/cbi/luasrc/view/cbi/tvalue.htm b/libs/cbi/luasrc/view/cbi/tvalue.htm index 6a1396886c..4d92545ae0 100644 --- a/libs/cbi/luasrc/view/cbi/tvalue.htm +++ b/libs/cbi/luasrc/view/cbi/tvalue.htm @@ -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%> diff --git a/modules/admin-core/luasrc/view/sysauth.htm b/modules/admin-core/luasrc/view/sysauth.htm index 236ec7e6a7..e48f414c56 100644 --- a/modules/admin-core/luasrc/view/sysauth.htm +++ b/modules/admin-core/luasrc/view/sysauth.htm @@ -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-map"> + <h1><%:sysauth_head%></h1> + <div class="cbi-map-descr"> + <%:sysauth_prompt%> + <%- if fuser then %> + <div class="error"><%:sysauth_failed%></div> + <br /> + <% end -%> + </div> + <fieldset class="cbi-section"><fieldset 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> + <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"> - <div class="cbi-value-title"><%:password%></div> - <div class="cbi-value-field"><input class="cbi-input-key" type="password" name="password" /></div> + <label class="cbi-value-title"><%:password%></label> + <div class="cbi-value-field"> + <input class="cbi-input-key" type="password" name="password" /> + </div> </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> - </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%>
\ No newline at end of file diff --git a/modules/admin-full/luasrc/controller/admin/system.lua b/modules/admin-full/luasrc/controller/admin/system.lua index fec6526991..cf39483cfb 100644 --- a/modules/admin-full/luasrc/controller/admin/system.lua +++ b/modules/admin-full/luasrc/controller/admin/system.lua @@ -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") diff --git a/modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua b/modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua new file mode 100644 index 0000000000..a204d420fc --- /dev/null +++ b/modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua @@ -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
\ No newline at end of file diff --git a/modules/admin-full/luasrc/view/admin_system/sshkeys.htm b/modules/admin-full/luasrc/view/admin_system/sshkeys.htm deleted file mode 100644 index 7b636090cd..0000000000 --- a/modules/admin-full/luasrc/view/admin_system/sshkeys.htm +++ /dev/null @@ -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%> |