Trigger¶
Admin
Pfad: Vorlagen → Trigger
Das Trigger-System ermöglicht es, automatisierte Aktionen zu konfigurieren, die als Reaktion auf Ereignisse ausgelöst werden – ohne Programmierkenntnisse. Jeder Trigger definiert einen Auslöser (Modell + Ereignis), optionale Bedingungen und eine oder mehrere Aktionen.
Trigger werden synchron mit dem auslösenden Ereignis ausgewertet. Treffen alle Bedingungen zu, werden die Aktionen ausgelöst; der E-Mail-Versand selbst erfolgt danach asynchron.
Trigger-Liste¶
| Spalte | Beschreibung |
|---|---|
| # | Ausführungsreihenfolge |
| Name | Bezeichnung des Triggers |
| Modell | Objekt, auf das der Trigger reagiert |
| Ereignis | Das auslösende Ereignis |
| Aktiv | Deaktivierte Trigger werden vollständig übersprungen |
| Zuletzt geändert | Zeitstempel der letzten Bearbeitung |
Trigger anlegen und konfigurieren¶
Pfad: Vorlagen → Trigger → Neu
Allgemein¶
| Feld | Beschreibung | Pflicht |
|---|---|---|
| Name | Sprechende Bezeichnung (max. 255 Zeichen) | ✓ |
| Reihenfolge | Ausführungsreihenfolge bei mehreren Triggern mit demselben Auslöser; kleinere Zahl läuft zuerst | ✓ |
| Aktiv | Deaktivierte Trigger werden übersprungen | – |
| Beschreibung | Freitext zur Dokumentation des Zwecks | – |
Auslöser¶
Modell¶
| Modell | Beschreibung |
|---|---|
| Vorgang | Genehmigungsvorgang (Aufbruch, VAO, Sondernutzung) |
| Abnahme | Abnahme/Inspektion zu einem Vorgang |
| Mangel | Mangel, der bei einer Abnahme erfasst wurde |
Ereignis¶
Die verfügbaren Ereignisse hängen vom gewählten Modell ab.
Modell-Ereignisse (für alle drei Modelle):
| Ereignis | Beschreibung |
|---|---|
| Erstellt | Das Objekt wurde neu angelegt |
| Aktualisiert | Ein beliebiges Feld des Objekts wurde geändert |
Mangelspezifisch:
| Ereignis | Beschreibung |
|---|---|
| Zuständigkeit geändert | Der zuständige Sachbearbeiter eines Mangels hat sich geändert |
Workflow-Ereignisse (nur für Vorgänge):
| Ereignis | Beschreibung |
|---|---|
| Tatsächlicher Beginn gemeldet | Antragsteller hat den Beginn der Maßnahme gemeldet |
| Fertigmeldung eingegangen | Fertigmeldung wurde eingereicht |
| Abnahme abgeschlossen | Eine Abnahme wurde abgeschlossen |
| Mangel behoben | Ein offener Mangel wurde als behoben markiert |
| Zeitprüfung | Zeitbasierte Workflow-Prüfung (z. B. Fristablauf) |
| Manuell genehmigt | Sachbearbeiter hat den Vorgang genehmigt |
| Manuell abgelehnt | Sachbearbeiter hat den Vorgang abgelehnt |
| Zurückgezogen | Vorgang wurde zurückgezogen |
| Gewährleistung abgelaufen | Die Gewährleistungsfrist ist abgelaufen |
| Verlängerung genehmigt | Eine Verlängerungsanfrage wurde genehmigt |
| Kommentar von Antragsteller | Antragsteller hat einen Kommentar hinterlassen |
| Kommentar von Sachbearbeiter | Sachbearbeiter hat einen Kommentar hinterlassen |
Bedingungen¶
Bedingungen schränken ein, wann ein Trigger tatsächlich feuert. Alle konfigurierten Bedingungen müssen gleichzeitig erfüllt sein (UND-Logik). Ohne Bedingungen feuert der Trigger bei jedem passenden Ereignis.
Jede Bedingung besteht aus Attribut, Operator und Wert.
Attribute nach Modell¶
| Attribut | Beschreibung |
|---|---|
Bearbeitungsstatus |
Aktueller Status des Vorgangs |
Antragsart |
Typ des Antrags (Aufbruch, VAO, Sondernutzung …) |
Art der Maßnahme |
Ausgewählte Maßnahmenart |
Begründung / Anlass |
Freitext-Begründung |
Ort |
Stadt/Ort der Maßnahme |
Beginn der Maßnahme |
Startdatum |
Ende der Maßnahme |
Enddatum |
Gebühren |
Gebührenbetrag |
Hat Sachbearbeiter |
Ob ein Sachbearbeiter zugewiesen ist |
Sachbearbeiter E-Mail |
E-Mail-Adresse des zuständigen Sachbearbeiters |
Hat Kassenkonto |
Ob ein Kassenkonto hinterlegt ist |
| Attribut | Beschreibung |
|---|---|
Typ |
Art der Abnahme |
Abnahme durchgeführt |
Ob die Abnahme als abgeschlossen markiert ist |
Hat Mängel |
Ob Mängel erfasst wurden |
| Attribut | Beschreibung |
|---|---|
Status |
Aktueller Status des Mangels |
Priorität |
Dringlichkeit des Mangels |
Beschreibung |
Mängelbeschreibung (Freitext) |
Operatoren¶
| Operator | Beschreibung | Wert nötig |
|---|---|---|
| ist gleich | Exakter Vergleich (Groß-/Kleinschreibung ignoriert) | ✓ |
| ist nicht gleich | Gegenteil von „ist gleich" | ✓ |
| enthält | Prüft ob der Wert als Teilstring enthalten ist | ✓ |
| beginnt mit | Präfix-Prüfung | ✓ |
| größer als | Numerischer Vergleich | ✓ |
| kleiner als | Numerischer Vergleich | ✓ |
| ist gesetzt | Wert ist vorhanden (nicht leer, nicht null) | – |
| ist nicht gesetzt | Wert ist leer oder null | – |
Aktionen¶
Pro Trigger können mehrere Aktionen in festgelegter Reihenfolge konfiguriert werden.
E-Mail senden¶
| Feld | Beschreibung | Pflicht |
|---|---|---|
| Betreff | Betreffzeile; unterstützt Blade-Syntax | ✓ |
| Vorlage | Optionale E-Mail-Vorlage; ersetzt bei Auswahl den manuellen Text | – |
| Nachrichtentext | HTML-Inhalt der E-Mail; unterstützt Blade-Syntax | ✓ |
| Empfänger | Einen oder mehrere Empfänger-Typen auswählen | ✓ |
Empfänger-Typen:
| Typ | Beschreibung |
|---|---|
| Antragsteller | E-Mail des dem Vorgang zugeordneten Antragstellers |
| Sachbearbeiter (mit Vertretung) | E-Mail des zuständigen Sachbearbeiters inkl. Vertretungsregelungen |
| Alle Benutzer mit Rolle | Alle aktiven Nutzer einer bestimmten Rolle |
| Feste E-Mail-Adresse | Immer dieselbe feste Adresse |
| Zuständiger (Mangel) | Sachbearbeiter des Mangels (nur bei Mangel-Triggern) |
| Zentrale E-Mail (aus Einstellungen) | Bezirksspezifische Rolle; Fallback auf zentrale Mandanten-E-Mail |
Pro Aktion können mehrere Empfänger kombiniert werden.
Blade-Vorlagen in Betreff und Text¶
Betreff und E-Mail-Text werden als Blade-Templates ausgewertet.
Verfügbare Variablen¶
| Variable | Typ | Beschreibung |
|---|---|---|
$process |
Vorgang | Immer der übergeordnete Vorgang (auch bei Abnahme- und Mangel-Triggern) |
$model |
Vorgang / Abnahme / Mangel | Das Objekt, das das Ereignis ausgelöst hat |
$trigger |
Trigger | Das Trigger-Objekt selbst |
Beispiele¶
Einfache Variable im Betreff:
Vorgang {{ $process->reference_number }} wurde genehmigt
Bedingter Text im E-Mail-Body:
<p>Sehr geehrte/r {{ $process->applicant?->full_name ?? 'Antragsteller/in' }},</p>
<p>Ihr Vorgang <strong>{{ $process->reference_number }}</strong>
@if($process->start_of_action)
(Beginn: {{ \Carbon\Carbon::parse($process->start_of_action)->format('d.m.Y') }})
@endif
wurde bearbeitet.</p>
Mangel-spezifisch:
Mangel: {{ $model->description }}
Priorität: {{ $model->priority }}
Vorgang: {{ $process->reference_number }}
Ausführungsreihenfolge¶
Mehrere Trigger mit demselben Modell und Ereignis werden in aufsteigender Reihenfolge der Reihenfolge-Einstellung ausgeführt; bei gleicher Zahl alphabetisch nach Name.
Jede Kombination aus Trigger + Objekt + Ereignis wird innerhalb desselben Requests maximal einmal ausgelöst, auch wenn mehrere Operationen dasselbe Ereignis auslösen würden (Deduplizierung).
Konfigurationsbeispiele¶
Ziel: Antragsteller bei Genehmigung automatisch benachrichtigen.
| Feld | Wert |
|---|---|
| Modell | Vorgang |
| Ereignis | Manuell genehmigt |
| Bedingungen | – |
| Betreff | Ihr Antrag {{ $process->reference_number }} wurde genehmigt |
| Empfänger | Antragsteller |
Ziel: Alle Sachbearbeiter bei neuem Mangel hoher Priorität informieren.
| Feld | Wert |
|---|---|
| Modell | Mangel |
| Ereignis | Erstellt |
| Bedingungen | Priorität ist gleich hoch |
| Betreff | Neuer kritischer Mangel in Vorgang {{ $process->reference_number }} |
| Empfänger | Alle Benutzer mit Rolle: Sachbearbeiter |
Ziel: Interne Benachrichtigung nach Fertigmeldung, nur für VAO-Vorgänge.
| Feld | Wert |
|---|---|
| Modell | Vorgang |
| Ereignis | Fertigmeldung eingegangen |
| Bedingungen | Antragsart enthält VAO |
| Betreff | Fertigmeldung eingegangen: {{ $process->reference_number }} |
| Empfänger | Sachbearbeiter (mit Vertretung), Zentrale E-Mail (aus Einstellungen) |
Hinweise¶
Blade-Fehler — Syntaxfehler in Betreff oder Text (z. B. nicht geschlossene @if-Blöcke) verhindern den E-Mail-Versand. Der Fehler wird im Systemprotokoll festgehalten. Trigger nach dem Anlegen mit einem Testevent prüfen.
Empfänger ohne E-Mail — Ist für einen Empfänger keine E-Mail-Adresse hinterlegt (z. B. Antragsteller ohne Adresse, Rolle ohne Mitglieder), wird dieser Empfänger stillschweigend übersprungen. Andere Empfänger erhalten die E-Mail trotzdem.
Trigger für Abnahmen und Mängel — $process ist immer der übergeordnete Vorgang; $model enthält das auslösende Objekt. Bedingungen werden aus dem jeweiligen Modell aufgelöst.
Fehlerbehandlung — Ein fehlerhafter Trigger bricht keine anderen Trigger und nicht die auslösende Aktion ab. E-Mail-Fehler folgen den Wiederholungsregeln der Warteschlange.