Bonjour,
Est il possible de mettre en forme une boite de dialogue en utilisant la commende : waptguihelper.message_dialog ou une autre commande ?
Si oui où puis je trouver les options disponibles ?
[RESOLU] Customiser une boite de dialogue waptguihelper.message_dialog
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
-
- Messages : 10
- Inscription : 15 oct. 2022 - 16:41
Version de WAPT installée : 2.2.1.11957
OS du serveur : Red Hat Enterprise Linux 8.6
OS de la machine d'administration : Windows 10
OS du serveur : Red Hat Enterprise Linux 8.6
OS de la machine d'administration : Windows 10
waptguihelper n'a pas de possibilité de customisation réelle....
une seule question à la fois.
A part waptguihelper.grid_dialog(..) qui permet la saise dans une grille
Sinon, vous pouvez utiliser waptmessage avec un formulaire en HTML
Exemple:
setup.py
une seule question à la fois.
A part waptguihelper.grid_dialog(..) qui permet la saise dans une grille
Code : Tout sélectionner
Parameters:
- Title: the title for the dialog
- Data: a list or JSON string
Optional:
- ResultType: GRT_ALL or GRT_SELECTED - default is GRT_ALL
- MetaData: it can be used to change columns data type
- it must be a JSON
- all types: String, Date, Time, DateTime, Integer, Float, Boolean, Memo
- example: {"columns":[{"propertyname":"id","datatype":"Integer"}]}
- Text: the label above search box - default is "Search"
- StayOnTop: indicates if the form will always stay on top - default is False
Exemple:
setup.py
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
import base64
import json
form = """\
<html encoding="utf8">
<form method="STDOUT">
<h2>Formulaire</h2>
Votre machine :
<input type="text" name="machine" value="%(machine)s"><br>
Votre nom:
<input type="text" name="nom" value="%(nom)s"><br>
Votre prénom:
<input type="text" name="prenom" value="%(prenom)s"><br>
<label for="pet-select">Choose a pet:</label>
<select name="pets" id="pet-select">
<option value="">--Please choose an option--</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="hamster">Hamster</option>
<option value="parrot">Parrot</option>
<option value="spider">Spider</option>
<option value="goldfish">Goldfish</option>
</select>
<input type="submit" value="Valider">
</form>
</html>
"""
def install():
pass
def update_package():
nom = ''
prenom = ''
machine = get_computername()
pets=''
s = base64.b64encode((form % locals()).encode('utf8'))
result = run(['waptmessage','-c','-b',s])
if result:
data = json.loads(result)
nom = data['result']['nom']
prenom = data['result']['prenom']
machine = data['result']['machine']
pets = data['result']['pets']
print("""\
Nom: %s
Prénom: %s
Machine: %s
Animal: %s
""" % (nom,prenom,machine,pets))
Tranquil IT
-
- Messages : 10
- Inscription : 15 oct. 2022 - 16:41
L'utilisation de waptmessage avec du HTML réponds a mon besoin d'affichage mais lorsque j’utilise la portion de code fournie en exemple, le "if result" renvoie 'False' alors que les champs du formulaire sont complétés et validés (boutons "Valider" + Ok).
Une idée de cause de l'échec ?
Une idée de cause de l'échec ?
htouvet a écrit : ↑06 juil. 2023 - 16:27 waptguihelper n'a pas de possibilité de customisation réelle....
une seule question à la fois.
A part waptguihelper.grid_dialog(..) qui permet la saise dans une grilleSinon, vous pouvez utiliser waptmessage avec un formulaire en HTMLCode : Tout sélectionner
Parameters: - Title: the title for the dialog - Data: a list or JSON string Optional: - ResultType: GRT_ALL or GRT_SELECTED - default is GRT_ALL - MetaData: it can be used to change columns data type - it must be a JSON - all types: String, Date, Time, DateTime, Integer, Float, Boolean, Memo - example: {"columns":[{"propertyname":"id","datatype":"Integer"}]} - Text: the label above search box - default is "Search" - StayOnTop: indicates if the form will always stay on top - default is False
Exemple:
setup.py
Code : Tout sélectionner
# -*- coding: utf-8 -*- from setuphelpers import * import base64 import json form = """\ <html encoding="utf8"> <form method="STDOUT"> <h2>Formulaire</h2> Votre machine : <input type="text" name="machine" value="%(machine)s"><br> Votre nom: <input type="text" name="nom" value="%(nom)s"><br> Votre prénom: <input type="text" name="prenom" value="%(prenom)s"><br> <label for="pet-select">Choose a pet:</label> <select name="pets" id="pet-select"> <option value="">--Please choose an option--</option> <option value="dog">Dog</option> <option value="cat">Cat</option> <option value="hamster">Hamster</option> <option value="parrot">Parrot</option> <option value="spider">Spider</option> <option value="goldfish">Goldfish</option> </select> <input type="submit" value="Valider"> </form> </html> """ def install(): pass def update_package(): nom = '' prenom = '' machine = get_computername() pets='' s = base64.b64encode((form % locals()).encode('utf8')) result = run(['waptmessage','-c','-b',s]) if result: data = json.loads(result) nom = data['result']['nom'] prenom = data['result']['prenom'] machine = data['result']['machine'] pets = data['result']['pets'] print("""\ Nom: %s Prénom: %s Machine: %s Animal: %s """ % (nom,prenom,machine,pets))
Version de WAPT installée : 2.2.1.11957
OS du serveur : Red Hat Enterprise Linux 8.6
OS de la machine d'administration : Windows 10
OS du serveur : Red Hat Enterprise Linux 8.6
OS de la machine d'administration : Windows 10
C'est peut être dû à l'écart de version. J'ai testé le bout de code avec ma version de dev de wapt.
Vous êtes en 2.2 apparemment.
Vous pouvez essayer de lancer dans un cmd manuellement pour voir le retour (ou l'absence de retour dans votre cas)
Vous êtes en 2.2 apparemment.
Vous pouvez essayer de lancer dans un cmd manuellement pour voir le retour (ou l'absence de retour dans votre cas)
Tranquil IT
Cela fonctionne avec ensure_unicode
Code : Tout sélectionner
s = ensure_unicode(base64.b64encode((form % locals()).encode("utf8")))
{"method":"STDOUT","action":"","target":"","enctype":"","result":{"machine":"jpe-clt-win11","nom":"jghjgj","prenom":"","pets":"--Please choose an option--"}}