Aller au contenu principal

BeanShellScript über Kontextmenü mit Formular

Commentaires

1 commentaire

  • Zendesk API User
    Author: gockel - 9/8/2010 22:24

    Hallo,

    da mir nicht ganz klar geworden ist, an welcher Stelle sich der vom Redakteur eingegebene Kommentar wiederfinden/gespeichert werden soll, hier mal ein paar unterschiedliche Einstiegspunkte:

    1. Kommentare in den Verwaltungen
    2. Formulare im Workflow
    3. Formularelemente im Skript

    zu 1.:

    Seit Version 4.1 gibt es die Möglichkeit die Eingabe von Kommentaren in den Verwaltungen zu erzwingen. Vergleiche hierzu Kapitel 7.4.2 ff der Administratorendokumentation und dort den Abschnitt Versions-Kommentare erfassen

    zu 2.:

    Da Sie von der Freigabe sprachen und hierfür ja sicherlich ein Arbeitsablauf verwendet wird, hier der kurze Hinweis auf die Möglichkeit der Definition von Formularen für Arbeitsabläufe. Siehe hierzu Kapitel 4.4. ff aus der Entwicklerdokumentation.

    zu 3.:

    Die Nutzung von Formularelementen im Skript ist auch sehr einfach möglich. Hierzu ein kleines Beispiel in Bezug zu Ihrem Anwendungsfall:

    * Definition der Eingabekomponente im Formularreiter des Skriptes:

    Skriptcode im Kanal html(HTML)


    // script was started on this storeelement
    element = context.getStoreElement();

    // show the form dialog
    data = context.showGui();

    if (data == null) {
        // user abort (cancel)
        return;
    }

    // puh, user clicked "OK" :)

    textEditor = data.get("st_comment").getEditor();

    // text editor is defined language independent -> use master language
    comment = textEditor.get(context.getProject().getMasterLanguage());
    if (comment == null || comment.length() == 0) {
        // use fallback from metadata

        // do we have meta data defined
        if (element.hasMeta()) {
            metaData = element.getMeta();
           
            // get text editor from meta data
            metaText = metaData.get("mt_comment").getEditor();
           
            // meta data are language independent by concept -> use master language
            comment = metaText.get(context.getProject().getMasterLanguage());
        }
    }

    context.logInfo("comment=" + comment);

    // store the comment
    // TODO

    Gruss

    0

Vous devez vous connecter pour laisser un commentaire.