[GELÖST] Anpassen eines waptguihelper.message_dialog-Dialogfelds

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
regis.lemonnier
Nachrichten: 10
Anmeldung: 15. Oktober 2022 - 16:41 Uhr

6. Juli 2023 – 14:01 Uhr

Hallo,

ist es möglich, ein Dialogfeld mit dem Befehl `waptguihelper.message_dialog` oder einem anderen Befehl zu formatieren?
Wenn ja, wo finde ich die verfügbaren Optionen?
Installierte WAPT-Version: 2.2.1.11957
Server-Betriebssystem: Red Hat Enterprise Linux 8.6
Betriebssystem des Administrationsrechners: Windows 10
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

6. Juli 2023 – 16:27 Uhr

waptguihelper bietet keine wirklichen Anpassungsmöglichkeiten...
Eine Frage nach der anderen.
Abgesehen von waptguihelper.grid_dialog(..), das die Eingabe in einem Raster ermöglicht

Code: Alle auswählen

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
Alternativ können Sie waptmessage mit einem HTML-Formular verwenden

Beispiel:


setup.py

Code: Alle auswählen

# -*- 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))
Ruhige IT
regis.lemonnier
Nachrichten: 10
Anmeldung: 15. Oktober 2022 - 16:41 Uhr

17. Juli 2023 – 13:40 Uhr

Die Verwendung von waptmessage mit HTML erfüllt meine Anzeigeanforderungen, aber wenn ich den bereitgestellten Codeabschnitt als Beispiel verwende, gibt das "if result" den Wert 'False' zurück, obwohl die Formularfelder ausgefüllt und validiert sind (Schaltflächen "Validieren" + OK).
Hat jemand eine Ahnung, was den Fehler verursacht hat?



htouvet schrieb: 6. Juli 2023 - 16:27 Uhr waptguihelper bietet keine wirklichen Anpassungsmöglichkeiten...
Eine Frage nach der anderen.
Abgesehen von waptguihelper.grid_dialog(..), das die Eingabe in einem Raster ermöglicht

Code: Alle auswählen

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
Alternativ können Sie waptmessage mit einem HTML-Formular verwenden

Beispiel:


setup.py

Code: Alle auswählen

# -*- 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))
Installierte WAPT-Version: 2.2.1.11957
Server-Betriebssystem: Red Hat Enterprise Linux 8.6
Betriebssystem des Administrationsrechners: Windows 10
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

17. Juli 2023 – 15:02 Uhr

Das könnte an der unterschiedlichen Version liegen. Ich habe den Codeausschnitt mit meiner Entwicklungsversion von Wapt getestet.
Sie verwenden anscheinend Version 2.2.
Sie können versuchen, ihn manuell in der Kommandozeile auszuführen, um die Ausgabe (oder deren Fehlen in Ihrem Fall) zu sehen.
Ruhige IT
Benutzeravatar
jpele
Nachrichten: 156
Anmeldung: 4. März 2019 - 12:01 Uhr
Ort: Nantes

14. September 2023 – 17:40 Uhr

Dies funktioniert mit ensure_unicode

Code: Alle auswählen

    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--"}}  
Gesperrt