Merge branch 'master' of github.com:YunoHost/test_apps

This commit is contained in:
ljf 2021-09-06 17:24:58 +02:00
commit 3e0377fe05
2 changed files with 109 additions and 100 deletions

View file

@ -3,234 +3,243 @@ version = "1.0"
[main]
name = "Main panel"
services = ["nginx"]
[main.components]
name = ""
name = "Classic fields"
[main.components.boolean]
ask = "Put a boolean"
ask = "I can haz boolean?"
type = "boolean"
[main.components.number]
ask = "Put a number"
ask = "I can haz number?"
type = "number"
min = 1
max = 100
[main.components.range]
ask = "Put a range"
ask = "I can haz range?"
type = "range"
min = 0
max = 100
step = 10
[main.components.str]
ask = "Put a string"
ask = "I can haz string?"
type = "string"
[main.components.text]
ask = "Put a text"
ask = "I can haz text?"
type = "text"
[main.components.password]
ask = "Put a password"
ask = "I can haz paszwurd?"
type = "password"
[main.components.path]
ask = "Put a path"
ask = "I can haz path?"
type = "path"
[main.components.email]
ask = "Put a email"
ask = "I can haz email?"
type = "email"
[main.components.url]
ask = "Put a url"
ask = "I can haz url?"
type = "url"
[main.components.date]
ask = "Put a date"
ask = "I can haz date?"
type = "date"
[main.components.time]
ask = "Put a time"
ask = "I can haz time?"
type = "time"
[main.components.color]
ask = "Put a color"
ask = "I can haz color?"
type = "color"
[main.components.select]
ask = "Choose an option"
ask = "I can haz choices?"
type = "select"
choices.option1 = "Plop1"
choices.option2 = "Plop2"
choices.option3 = "Plop3"
choices.option_one = "W00t \\o\\"
choices.option_two = "Awesom! =D"
choices.option_three = "Uhoh? ô.o"
[main.components.domain]
ask = "Put a domain"
ask = "I can haz domain?"
type = "domain"
[main.components.user]
ask = "Put a user"
ask = "I can haz user?"
type = "user"
[main.components.tags]
ask = "Put some emails"
ask = "I can haz several emailz?"
type = "tags"
placeholder = "Enter some emails separated by commas"
limit = 3
pattern.regexp = '^.+@.+$'
pattern.error = 'An email is required for this field'
[main.components.tags2]
ask = "Put some tags from a list"
ask = "I can chose several tagz?"
type = "tags"
choices = ['table', 'chair', 'bed', 'desk']
placeholder = "Add some tags"
icon = "bed"
[main.components.file]
ask = "Put a file"
ask = "I can haz file?"
type = "file"
[main.messages]
name = "Read only components"
name = "Messages / Read-only components"
[main.messages.success]
ask = "This is a success message"
ask = "I can haz success!"
type = "alert"
style = "success"
icon = "beer"
[main.messages.info]
ask = "This is an info message"
ask = "I can haz info"
type = "alert"
style = "info"
[main.messages.warning]
ask = "This is an warning message"
ask = "Onoez i haz a warnin'"
type = "alert"
style = "warning"
[main.messages.danger]
ask = "This is a danger message"
ask = "Onoez i haz a Danger!!"
type = "alert"
style = "danger"
[main.messages.display_text]
ask = "This is a simple text"
ask = "I haz a simple text"
type = "display_text"
[main.messages.markdown]
ask = "This is a **markdown** text"
ask = "I haz some **awesome** *markdown* text!!"
type = "markdown"
[main.generic]
name = "Generic options"
name = "Specific question options demo"
[main.generic.pattern]
ask = "This is a question with a pattern validation"
ask = "I can haz pattern validation!"
type = "string"
pattern.regexp = '^[A-F]\d\d$'
pattern.error = "Provide a room like F12 : one uppercase and 2 numbers"
[main.generic.example]
ask = "This is a question with an example value"
ask = "I can haz example value"
type = "string"
example = "Camille"
[main.generic.required]
ask = "This is a required value"
ask = "I can haz required field"
type = "string"
optional = false
[main.generic.help_visible]
ask = "Here we add some help"
type = "select"
help = "You can not feel this question with your keyboard (yes i know it's very useful)"
choices.question = "Display next question"
choices.section = "Display next section"
[main.generic.visible_field]
ask = "Display if help question is filled"
[main.generic.help]
ask = "I can haz some help tips"
type = "string"
visible = "help_visible == 'question'"
help = "Im in ur help text helpin' yar userz"
[main.generic.triggervisible]
ask = "I can trigger visibility for other questionz or sectionz!!"
type = "select"
choices.nothing = "Not triggering any invisible question/section"
choices.nextquestion = "Display next question"
choices.nextsection = "Display next section"
[main.generic.visible]
ask = "This question is only displayed if previous question is set to 'Display next question'"
type = "string"
visible = "triggervisible == 'nextquestion'"
[main.ifsection]
name = "Section displayed only if helplink is filled"
visible = "help_visible == 'section'"
name = "This section is only displayed if the previous question is set to 'Display next section'"
visible = "triggervisible == 'nextsection'"
[main.ifsection.sub]
ask = "Display if helpLink question is filled"
ask = "I can haz cheezburgers?"
type = "string"
[bind]
name = "Bind panel"
[bind.settings]
name = "App settings"
name = "Bind to settings"
[bind.settings.arg1]
ask = "Save app settings arg1"
type = "string"
[bind.variable]
name = "YAML"
name = "Bind to key/value in files"
[bind.variable.arg2]
ask = "Save arg2 in YAML"
ask = "I can haz value for arg2 in test.yml ?"
type = "string"
bind = ":__FINALPATH__/test.yml"
[bind.variable.arg3]
ask = "Save arg3 in JSON"
ask = "I can haz value for arg3 in test.json ?"
type = "string"
bind = ":__FINALPATH__/test.json"
[bind.variable.arg4]
ask = "Save arg4 in INI"
ask = "I can haz value for arg4 in test.ini ?"
type = "string"
bind = ":__FINALPATH__/test.ini"
[bind.variable.arg5]
ask = "Save arg5 in PHP file"
ask = "I can haz value for arg5 in test.php ?"
type = "string"
bind = ":__FINALPATH__/test.php"
[bind.variable.arg6]
ask = "Save arg6 in python file"
ask = "I can haz value for arg6 in test.py ?"
type = "string"
bind = ":__FINALPATH__/test.py"
[bind.file]
name = "File"
name = "Bind to an entire file"
[bind.file.arg7]
ask = "Save a cube file"
ask = "I can haz a .cube ?"
type = "file"
accept = ".cube"
bind = "__FINALPATH__/test.cube"
[bind.file.arg7b]
ask = "Nginx file"
ask = "Emeged i can edit sum file!#1!"
type = "text"
bind = "__FINALPATH__/nginx.conf"
[bind.function]
name = "Bash function"
name = "Bind to custom bash getters / validators / setters"
[bind.function.arg8]
ask = "Custom validator and setter for arg8 password"
ask = "I can haz a password ?"
help = "N.B. : This is mapped to a custom validate__/set__arg8 function in the config script"
type = "password"
bind = "null"
[bind.function.arg9]
ask = "Custom getter arg9"
help = "N.B.: This is mapped to a custom get__arg9 function in the config script"
type = "markdown"
bind = "null"
[bind.function.alert]
ask = "Custom getter alert"
help = "N.B.: This is mapped to a custom get__alert function in the config script"
type = "alert"
style = "info"
bind = "null"

View file

@ -55,14 +55,14 @@ EOF
# SPECIFIC VALIDATORS FOR TOML SHORT KEYS
#=================================================
validate__arg8() {
if [[ "${#arg8}" -lt 8 ]]; then echo 'Too short password'; fi
if [[ "${#arg8}" -lt 12 ]]; then echo 'Too short password'; fi
}
#=================================================
# SPECIFIC SETTERS FOR TOML SHORT KEYS
#=================================================
set__arg8() {
if [ -z "${arg8}" ]
if [ -n "${arg8}" ]
then
python -c "import crypt; print(crypt.crypt(\"${arg8}\", \"\$6\$saltsalt\$\"))" > $final_path/password
ynh_print_info "The hash of your password has been registered in $final_path/password"