function SimpleForm.field(self, class, ...)
if instanceof(class, AbstractValue) then
local obj = class(self, ...)
+ obj.track_missing = true
self:append(obj)
return obj
else
self.tag_missing = {}
self.deps = {}
+ self.track_missing = false
self.rmempty = false
self.default = nil
self.size = nil
if not fvalue then
self.tag_invalid[section] = true
end
- if fvalue and not (fvalue == self:cfgvalue(section)) then
+ if fvalue and not (fvalue == cvalue) then
self:write(section, fvalue)
end
else -- Unset the UCI or error
if self.rmempty or self.optional then
self:remove(section)
- elseif not fvalue or fvalue ~= cvalue then
- --self.tag_missing[section] = true
+ elseif self.track_missing and not fvalue or fvalue ~= cvalue then
+ self.tag_missing[section] = true
end
end
end
</fieldset>
<br />
</div>
+<%- if self.message then %>
+ <div><%=self.message%></div>
+<%- end %>
+<%- if self.errmessage then %>
+ <div class="error"><%=self.errmessage%></div>
+<%- end %>
<div>
<%- if self.submit ~= false then %>
<input class="cbi-button-save" type="submit" value="
function f.handle(self, state, data)
if state == FORM_VALID then
local stat = luci.sys.user.setpasswd("root", data.pw1) == 0
- local x = f:field(DummyValue, "_stat")
if stat then
- x.value = translate("a_s_changepw_changed")
+ f.message = translate("a_s_changepw_changed")
else
- x.value = translate("unknownerror")
+ f.errmessage = translate("unknownerror")
end
- pw1.render = function() end
- pw2.render = pw1.render
+ data.pw1 = nil
+ data.pw2 = nil
end
return true
end