Skip to content
Snippets Groups Projects
  • Matthias Schiffer's avatar
    42335a07
    gluon-config-mode-core: unconditionally run gluon-reconfigure · 42335a07
    Matthias Schiffer authored
    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.
    gluon-config-mode-core: unconditionally run gluon-reconfigure
    Matthias Schiffer authored
    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.
0100-hostname.lua 1.18 KiB
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