Enable more sanity checks for Password Changing page
This commit is contained in:
parent
15e2e16c6d
commit
1616d5a81e
3 changed files with 15 additions and 8 deletions
|
@ -287,6 +287,7 @@ end
|
||||||
function SimpleForm.field(self, class, ...)
|
function SimpleForm.field(self, class, ...)
|
||||||
if instanceof(class, AbstractValue) then
|
if instanceof(class, AbstractValue) then
|
||||||
local obj = class(self, ...)
|
local obj = class(self, ...)
|
||||||
|
obj.track_missing = true
|
||||||
self:append(obj)
|
self:append(obj)
|
||||||
return obj
|
return obj
|
||||||
else
|
else
|
||||||
|
@ -616,6 +617,7 @@ function AbstractValue.__init__(self, map, option, ...)
|
||||||
self.tag_missing = {}
|
self.tag_missing = {}
|
||||||
self.deps = {}
|
self.deps = {}
|
||||||
|
|
||||||
|
self.track_missing = false
|
||||||
self.rmempty = false
|
self.rmempty = false
|
||||||
self.default = nil
|
self.default = nil
|
||||||
self.size = nil
|
self.size = nil
|
||||||
|
@ -657,14 +659,14 @@ function AbstractValue.parse(self, section)
|
||||||
if not fvalue then
|
if not fvalue then
|
||||||
self.tag_invalid[section] = true
|
self.tag_invalid[section] = true
|
||||||
end
|
end
|
||||||
if fvalue and not (fvalue == self:cfgvalue(section)) then
|
if fvalue and not (fvalue == cvalue) then
|
||||||
self:write(section, fvalue)
|
self:write(section, fvalue)
|
||||||
end
|
end
|
||||||
else -- Unset the UCI or error
|
else -- Unset the UCI or error
|
||||||
if self.rmempty or self.optional then
|
if self.rmempty or self.optional then
|
||||||
self:remove(section)
|
self:remove(section)
|
||||||
elseif not fvalue or fvalue ~= cvalue then
|
elseif self.track_missing and not fvalue or fvalue ~= cvalue then
|
||||||
--self.tag_missing[section] = true
|
self.tag_missing[section] = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -29,6 +29,12 @@ $Id$
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
<%- if self.message then %>
|
||||||
|
<div><%=self.message%></div>
|
||||||
|
<%- end %>
|
||||||
|
<%- if self.errmessage then %>
|
||||||
|
<div class="error"><%=self.errmessage%></div>
|
||||||
|
<%- end %>
|
||||||
<div>
|
<div>
|
||||||
<%- if self.submit ~= false then %>
|
<%- if self.submit ~= false then %>
|
||||||
<input class="cbi-button-save" type="submit" value="
|
<input class="cbi-button-save" type="submit" value="
|
||||||
|
|
|
@ -27,16 +27,15 @@ end
|
||||||
function f.handle(self, state, data)
|
function f.handle(self, state, data)
|
||||||
if state == FORM_VALID then
|
if state == FORM_VALID then
|
||||||
local stat = luci.sys.user.setpasswd("root", data.pw1) == 0
|
local stat = luci.sys.user.setpasswd("root", data.pw1) == 0
|
||||||
local x = f:field(DummyValue, "_stat")
|
|
||||||
|
|
||||||
if stat then
|
if stat then
|
||||||
x.value = translate("a_s_changepw_changed")
|
f.message = translate("a_s_changepw_changed")
|
||||||
else
|
else
|
||||||
x.value = translate("unknownerror")
|
f.errmessage = translate("unknownerror")
|
||||||
end
|
end
|
||||||
|
|
||||||
pw1.render = function() end
|
data.pw1 = nil
|
||||||
pw2.render = pw1.render
|
data.pw2 = nil
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue