gluon-config-mode-contact-info: define an "obligatory" option in site.conf (#843)

This commit is contained in:
Ruben Barkow 2016-09-07 06:44:57 +02:00 committed by Matthias Schiffer
parent d2fb547a3f
commit d03c88afb4
8 changed files with 66 additions and 18 deletions

View 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
},
},

View File

@ -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
-- },
-- },
}

View File

@ -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))

View 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

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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