Files

44 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

# `assign_group` — Genehmigung durch eine Gruppe
**Zweck:** Stellt einen Genehmigungsschritt einer GRUPPE (oder Personenliste) zu, statt einer festen Person: Alle Berechtigten werden benachrichtigt, der Erste, der die Aufgabe übernimmt und entscheidet, gewinnt („claim"). So bleibt ein Vorgang nicht liegen, wenn ein einzelner Zeichnungsberechtigter im Urlaub ist. Optional mit eingebetteter PDF-Vorschau.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `gruppe` | *(eine der beiden)* | — | Gruppennamen (CSV); Berechtigte werden aufgelöst |
| `personen` | *(eine der beiden)* | — | Feste Personenliste (E-Mail oder ID, CSV) |
| `pdf` | nein | — | Pfad-Variable zu einer PDF; wird als Vorschau eingebettet |
| `title` | nein | `Freigabe erforderlich` | Überschrift |
| `subtitle` | nein | *(leer)* | Untertitel |
| `approve_label` | nein | `Genehmigen` | Beschriftung Zustimmen-Button |
| `reject_label` | nein | `Ablehnen` | Beschriftung Ablehnen-Button |
| `require_reason_on_reject` | nein | `true` | Begründung bei Ablehnung erzwingen |
| `output_var` | nein | `entscheidung` | Prefix der Ausgabevariablen |
Mindestens eine der Quellen `<gruppe>` oder `<personen>` muss Berechtigte liefern.
**Eingangswerte:** Platzhalter in allen Parametern. Die aufgelösten Berechtigten werden beim ersten Lauf eingefroren; `assign_to` = CSV aller Berechtigten, damit die Engine die Gruppe benachrichtigt.
**Ausgangswerte:**
- `<prefix>``approved` oder `rejected`
- `<prefix>_reason` — Begründung (ggf. leer)
- `<prefix>_by` — Kennung des bearbeitenden Gruppenmitglieds (claim)
- `<prefix>_at` — ISO-8601-Zeitstempel
**XML-Beispiel**
```xml
<task type="assign_group" id="freigabe_bau">
<config>
<gruppe>GRUPPE_BAU,GRUPPE_LEITUNG</gruppe>
<pdf>{{latest_pdf_path}}</pdf>
<title>Rechnung freigeben</title>
<subtitle>Betrag {{betrag}} EUR</subtitle>
<output_var>freigabe</output_var>
</config>
</task>
```
**Hinweis:** Nur ein Mitglied des Berechtigtenkreises darf abschließend entscheiden; Absenden durch Unbefugte wird abgewiesen. Alternativ zu `<gruppe>` kann eine feste `<personen>`-Liste angegeben werden.