gluon/package/gluon-config-mode-hostname/luasrc/lib/gluon/config-mode/wizard/0100-hostname.lua
Matthias Schiffer 42335a07c9
gluon-config-mode-core: unconditionally run gluon-reconfigure
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.
2021-05-15 00:03:02 +02:00

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