42335a07c9
Simplify the individual form providers by always running reconfigure. This also commits all UCI packages, so we can remove all tracking of UCI sections from the wizard code. Instead of returning a list of packages to commit, the providers just save their settings directly. Explicit runs of upgrade scripts are removed, as they are now run by reconfigure.
36 lines
1.2 KiB
Lua
36 lines
1.2 KiB
Lua
return function(form, uci)
|
|
local pkg_i18n = i18n 'gluon-config-mode-hostname'
|
|
local site_i18n = i18n 'gluon-site'
|
|
|
|
local pretty_hostname = require 'pretty_hostname'
|
|
local site = require 'gluon.site'
|
|
local util = require 'gluon.util'
|
|
|
|
local help = site_i18n._translate("gluon-config-mode:hostname-help") or pkg_i18n.translate(
|
|
'The node name is used solely for identification of your node, e.g. on a '
|
|
.. 'node map. It does not affect the name (SSID) of the broadcasted WLAN.'
|
|
)
|
|
form:section(Section, nil, help)
|
|
|
|
local current_hostname = pretty_hostname.get(uci)
|
|
local default_hostname = util.default_hostname()
|
|
local configured = uci:get_first('gluon-setup-mode', 'setup_mode', 'configured', false) or
|
|
(current_hostname ~= default_hostname)
|
|
|
|
local s = form:section(Section)
|
|
local o = s:option(Value, "hostname", pkg_i18n.translate("Node name"))
|
|
o.datatype = 'minlength(1)'
|
|
if site.config_mode.hostname.optional(true) then
|
|
o.optional = true
|
|
o.placeholder = default_hostname
|
|
end
|
|
if configured or site.config_mode.hostname.prefill(true) then
|
|
o.default = current_hostname
|
|
end
|
|
|
|
function o:write(data)
|
|
pretty_hostname.set(uci, data or default_hostname)
|
|
uci:save('system')
|
|
end
|
|
end
|