onto_actiondef_save
Actiondef anlegen/aendern (Button am Objekt). PFLICHT: body.scopes mit den Scope-IDs, an denen der Button erscheinen soll — du musst dort Manager (can_manage_scope) oder Schreiber (can_write) sein, sonst 403. PUBLIC (15) nur fuer Admins. Beispiel fuer 'Formular am Standort ausfuellen': body = {"object_types":["building"],"scopes":[7],"roles":["member"],"action":{"type":"form_answer","name":"Visite","form":""}}. action.type 'form_answer' oeffnet das Formular und verknuepft die Antwort mit dem Objekt. Actions sind SCOPE-Daten, nicht global. Sehen darf sie, wer einen der Scopes in body.scopes[] lesen darf; AUSFUEHREN nur, wenn das Scope des Objekts in body.scopes[] steht (oder die Def public:true traegt). Ein Mitglied mit can_manage_scope auf SEINEM Scope darf dort eigene Actions anlegen (Kopie der Plattform-Action mit body.scopes=[eigener Scope]) und so die Standard-Actions im eigenen Scope nutzbar machen. Beim Anlegen genau EIN Ziel-Scope. public:true und der PUBLIC-Scope 15 sind Administratoren vorbehalten, SQL-Bedingungen ebenfalls. Ein Scope-Manager kann Actions in seinem Scope per hidden_actions abschalten. | EN: action, button, definition, gate, condition, rule
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Technischer Schluessel (a-zA-Z0-9_), z.B. pflege_visite | |
| body | Yes | Actiondef-JSON als STRING, z.B. {"object_types":["building"],"scopes":[7],"action":{"type":"form_answer","form":"<udid>"}} | |
| label | Yes | Anzeigetext des Buttons | |
| description | No | Beschreibung (optional) |