gluon-config-mode-contact-info: define an "obligatory" option in site.conf (#843)
This commit is contained in:
parent
d2fb547a3f
commit
d03c88afb4
28
docs/package/gluon-config-mode-contact-info.rst
Normal file
28
docs/package/gluon-config-mode-contact-info.rst
Normal file
@ -0,0 +1,28 @@
|
||||
gluon-config-mode-contact-info
|
||||
==============================
|
||||
|
||||
This package allows the user to provide contact information within config mode to be
|
||||
distributed in the mesh. You can define whether the owner contact field is
|
||||
obligatory or not in your site.conf.
|
||||
|
||||
site.conf
|
||||
---------
|
||||
|
||||
config_mode.owner.obligatory : this whole section is optional
|
||||
- ``true`` field is obligatory: gluon-node-info.@owner[0].contact may not be empty
|
||||
- ``false`` field is optional: gluon-node-info.@owner[0].contact may be empty
|
||||
- defaults to ``false``
|
||||
|
||||
# example:
|
||||
|
||||
config_mode = {
|
||||
geo_location = {
|
||||
show_altitude = true,
|
||||
},
|
||||
owner = {
|
||||
obligatory = true
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
|
@ -192,10 +192,15 @@
|
||||
-- skip = true,
|
||||
-- },
|
||||
|
||||
-- Show/hide the altitude field
|
||||
-- config_mode = {
|
||||
-- geo_location = {
|
||||
-- show_altitude = false,
|
||||
-- },
|
||||
-- Show/hide the altitude field
|
||||
-- geo_location = {
|
||||
-- show_altitude = false,
|
||||
-- },
|
||||
-- define if the contact field is obligatory (optional)
|
||||
-- owner = {
|
||||
-- obligatory = true
|
||||
-- },
|
||||
-- },
|
||||
|
||||
}
|
||||
|
@ -13,10 +13,15 @@ PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
|
||||
define Package/gluon-config-mode-contact-info
|
||||
SECTION:=gluon
|
||||
CATEGORY:=Gluon
|
||||
TITLE:=Set a custom string that will be distributed in the mesh.
|
||||
TITLE:=Allows the user to provide contact information to be distributed in the mesh
|
||||
DEPENDS:=gluon-config-mode-core-virtual +gluon-node-info
|
||||
endef
|
||||
|
||||
define Package/gluon-config-mode-contact-info/description
|
||||
Allows the user to provide contact information to be distributed in the mesh.
|
||||
Can be made obligatory in site.conf
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
mkdir -p $(PKG_BUILD_DIR)
|
||||
endef
|
||||
@ -34,4 +39,9 @@ define Package/gluon-config-mode-contact-info/install
|
||||
$(call GluonInstallI18N,gluon-config-mode-contact-info,$(1))
|
||||
endef
|
||||
|
||||
define Package/gluon-config-mode-contact-info/postinst
|
||||
#!/bin/sh
|
||||
$(call GluonCheckSite,check_site.lua)
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,gluon-config-mode-contact-info))
|
||||
|
3
package/gluon-config-mode-contact-info/check_site.lua
Normal file
3
package/gluon-config-mode-contact-info/check_site.lua
Normal file
@ -0,0 +1,3 @@
|
||||
if need_table('config_mode', nil, false) and need_table('config_mode.owner', nil, false) then
|
||||
need_boolean('config_mode.owner.obligatory', false)
|
||||
end
|
@ -14,13 +14,13 @@ msgid "Contact info"
|
||||
msgstr "Kontakt"
|
||||
|
||||
msgid ""
|
||||
"You can provide your contact information here to allow others to contact "
|
||||
"you. Please note that this information will be visible <em>publicly</em> on "
|
||||
"Please provide your contact information here to allow others to contact "
|
||||
"you. Note that this information will be visible <em>publicly</em> on "
|
||||
"the internet together with your node's coordinates."
|
||||
msgstr ""
|
||||
"Hier kannst du einen <em>öffentlichen</em> Hinweis hinterlegen, um anderen "
|
||||
"zu ermöglichen, Kontakt mit dir aufzunehmen. Bitte beachte, dass "
|
||||
"dieser Hinweis auch öffentlich im Internet, zusammen mit den Koordinaten "
|
||||
"Bitte hinterlege hier einen Hinweis, um anderen zu ermöglichen, "
|
||||
"Kontakt mit dir aufzunehmen. Beachte, dass dieser Hinweis auch "
|
||||
"<em>öffentlich</em> im Internet, zusammen mit den Koordinaten "
|
||||
"deines Knotens, einsehbar sein wird."
|
||||
|
||||
msgid "e.g. E-mail or phone number"
|
||||
|
@ -14,11 +14,12 @@ msgid "Contact info"
|
||||
msgstr "Informations de Contact"
|
||||
|
||||
msgid ""
|
||||
"You can provide your contact information here to allow others to contact "
|
||||
"you. Please note that this information will be visible <em>publicly</em> on "
|
||||
"Please provide your contact information here to allow others to contact "
|
||||
"you. Note that this information will be visible <em>publicly</em> on "
|
||||
"the internet together with your node's coordinates."
|
||||
msgstr ""
|
||||
"Ici vous pouvez donner des informations <em>publiques</em> pour permettre aux autres de vous contacter. "
|
||||
"S'il vous plaît entrez ici des informations <em>publiques</em> pour "
|
||||
"permettre aux autres de vous contacter. "
|
||||
"Ces informations seront affichées en ligne, avec les coordonnées du nœud."
|
||||
|
||||
msgid "e.g. E-mail or phone number"
|
||||
|
@ -5,8 +5,8 @@ msgid "Contact info"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"You can provide your contact information here to allow others to contact "
|
||||
"you. Please note that this information will be visible <em>publicly</em> on "
|
||||
"Please provide your contact information here to allow others to contact "
|
||||
"you. Note that this information will be visible <em>publicly</em> on "
|
||||
"the internet together with your node's coordinates."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
local cbi = require "luci.cbi"
|
||||
local i18n = require "luci.i18n"
|
||||
local uci = luci.model.uci.cursor()
|
||||
local site = require 'gluon.site_config'
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.section(form)
|
||||
local s = form:section(cbi.SimpleSection, nil, i18n.translate(
|
||||
'You can provide your contact information here to '
|
||||
.. 'allow others to contact you. Please note that '
|
||||
'Please provide your contact information here to '
|
||||
.. 'allow others to contact you. Note that '
|
||||
.. 'this information will be visible <em>publicly</em> '
|
||||
.. 'on the internet together with your node\'s coordinates.'
|
||||
)
|
||||
@ -15,7 +16,7 @@ function M.section(form)
|
||||
|
||||
local o = s:option(cbi.Value, "_contact", i18n.translate("Contact info"))
|
||||
o.default = uci:get_first("gluon-node-info", "owner", "contact", "")
|
||||
o.rmempty = true
|
||||
o.rmempty = not ((site.config_mode or {}).owner or {}).obligatory
|
||||
o.datatype = "string"
|
||||
o.description = i18n.translate("e.g. E-mail or phone number")
|
||||
o.maxlen = 140
|
||||
|
Loading…
Reference in New Issue
Block a user