Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Professional: General Questions > Benutzerverwaltung Frontend

Benutzerverwaltung Frontend

Hallo,

wir haben im Frontend mehrere Eingabseiten für die Erstellung eines Benutzerprofils angelegt und wird von mehreren Abteilungen in der Zentrale verwendet.

Im Portal Manager kann man mit einem rechten Mausklick auf den angelegten User "Passwort generieren" die Zugangsdaten an die jeweilige Person zusenden. Kann man diesen Button im Frontend umsetzen, sodass die Kollegen, nach dem der Benutzer angelegt wurde, das Passwort zusenden können?
huh


Vielen Dank im Voraus!
12.09.2016 15:19 von avcid

// Generieren und Versenden eines neuen Passworts an den übergebenen Benutzer.
g_om.generateAndSendPassword(g_session.user)

http://docs.intrexx.com/intrexx/version/8000/api/groovy/g_om.html
12.09.2016 19:02 von MartinW
Super danke!

Ich habe es als Button hinterlegt und den Skript ausgeführt. Ich erhalte beim Buttonklick eine Fehlermeldung: Event onclick

Error while execute event callback:g_om is not defined
13.09.2016 14:38 von avcid
Hi avcid,

das Codeschnipsel ist aus Groovy, man müsste das Groovy-Skript im Prozess ausführen oder in der Applikation per AJAX aufrufen.
Benutzer direkt über JavaScript anzulegen wäre doch ein recht hohes Sicherheitsrisiko.
13.09.2016 14:48 von MartinW
Dann schaue ich mir das genauer an wie es funktionieren könnte. Danke!
13.09.2016 14:55 von avcid
Hi,
das würde ich auch gerne machen,
ich lege eine Groovy-Aktion an aber wie sage ich jetzt das diese Aktion ausgelöst werden soll wenn ich auf
einen Button klicke?
14.09.2016 11:03 von Jonny2016
Hallo Jonny2016,

damit du die Groovy-Aktion in deinem Prozess starten kannst, musst du einen Generischen Ereignisbehandler vor die Groovy-Aktion hängen.
  • In den Eigenschaften des Generischen Handlers wählst du als Klasse "de.uplanet.lucy.server.workflow.eventhandler.UserWorkflowEventHandler" aus.
  • Anschließend wird eine EventGuid generiert, welche du in deinem Javascript benötigst.
  • In Javascript kannst du den Handler mit oder ohne Requestwerten ansprechen.
  • Danach musst du die Javascript-Funktion dem Button zuweisen.

Javascript-Code:
function GroovyAktionStarten(anzahl){
//Ohne Requestwert
triggerUserWorkflowEvent("723G...6Z22");
//Mit Requestwert
triggerUserWorkflowEvent("723G...6Z22", {rq_Anzahl: anzahl});
return true;
}

Grüße aus Österreich!
14.09.2016 11:16 von nmayer
Genau so wie nmayer das beschrieben hat.
Seit Intrexx 7 ist es zusätzlich noch möglich in der Applikation direkt ein Groovy-Skript zu definieren.
Dieses kann dann mit diesem JavaScript-Snippet aufgerufen werden:

var el = getElement("GUID_FROM_ANY_CONTROL");
ix.ajax().requestAppGroovy("file.groovy", {
dataType: "json",
data: {
"param_a": "1",
"param_b": "2"
},
success: function (data) {
alert(data);
},
ixWaitAnim: {
element: el,
type: "overlay"
}
}, el);


Das Groovy-Skrippt muss dabei so gebaut sein, dass es ein JSON-Response erzeugt:

response.json()

// define an error handler
response.onError = {e, err ->
//err.type = "default"
// either title/description, ...
err.title = "my error"
err.description = e.message
err.showEmbedded = true
// ... or a redirect
// err.redirectUrl = "http://www.example.org/"
// err.redirectDelay = 1500 // milliseconds
}

// check permissions
g_permissions.check {
// application("FE7AAFBED828AC59B5D04337626068C4ACE6D9E6": "access")
// dataGroup("<data group GUID>": "read", "<another data group GUID>": "write,create")
}

// create some JSON content
writeJSON("person": [
givenName: "Donald",
lastName: "Duck",
age: 78,
nephews: ["Huey", "Dewey", "Louie"]
])


Beide Codeschnipsel sind auch in der jeweiligen Bibliothek zu finden.

Der Vorteil von dieser Variante ist, dass man im Groovy-Skript einen Error-Handler definiert den man triggert indem man einfach eine Exception schmeißt.
Der Text den man der Exception übergibt wird dann direkt im Browser ausgegeben was ich als sehr angenehm empfinde, da man so dem Benutzer direkt eine aussagekräftige Rückmeldung geben kann und als Entwickler dann auch nicht 100mal den Screenshot der Meldung "Huch das hätte nicht passieren dürfen" bekommt.
Ein zweiter Vorteil ist die Rückgabe von Werten, bspw. ganze Listen. Dadurch kann man bspw. eine Anfrage an den Server senden, ein Fremdsystem per Groovy abfragen und die Datensätze die das Fremdsystem liefert zurückgeben und per JavaScript als Tabelle ausgeben (bspw. jQuery Datatables)
14.09.2016 13:09 von MartinW
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

Über United Planet
© 2019 United Planet GmbH
Schnewlinstraße 2
79098 Freiburg