Table of Contents | ||
---|---|---|
|
Eine Klasse kann verschiedene Aktionen beinhalten welche im Kontext der Entität ausgeführt werden können.
...
Eine so definierte Aktion kann nur von einem User ausgeführt werden welcher über “Create” Berechtigung auf der Entität verfügt.
Erweiterte Einschränkungen zur Ausführung können über den optionalen Parameter “expression” gemacht werden. Dieser erlaubt es eine Expression zu definieren welche evaluiert wird und die Ausführung verhindert wenn diese nicht auf “true” evaluiert.
Code Block |
---|
Elements.Person.Add.Action("SampleAction")
.PermissionRequired(GenericOperation.Create, "Aktiv == true"); |
Die beiden Permission Möglichkeiten lassen sich auch kombinieren. In diesem Falle muss der User sowohl die Berechtigung auf die Entität haben als auch die Expression erfüllt sein.
Code Block |
---|
Elements.Person.Add.Action("SampleAction")
.PermissionRequired("Aktiv == true"); |
Bei der Ausführung auf einer Klasse ohne spezifisches Objekt wird die Expression ebenfalls evaluiert. Kann diese nicht evaluiert werden wird ein entsprechender Log-Eintrag generiert und die Aktion trotzdem ausgeführt.
Die Ausführung auf einer Liste wird die Expression für alle Entitäten evaluieren und nur diejenigen ausführen die ein gültiges Resultat liefern. Dem Benutzer wird eine entsprechender Fehler angezeigt falls nur ein Teil der Aktionen ausgeführt werden konnte.
Erweiterte Restriktionen müssen aktuell die nicht über Expressions oder die Berechtigungen modelliert werden können müssen in der Aktion selbst implementiert werden.
...