Konzepte

Die 6 Rollen

Das ETB kennt sechs fest definierte Rollen. Jede Rolle hat einen typischen Use-Case und ein Default-Set an Berechtigungen. Operativ bilden sie eine Führungskette: Der Einsatzleiter führt und verantwortet alles, die Lage ist sein verlängerter Arm, die Disponenten führen die ihnen zugeteilten Einsätze. Der Administrator steht technisch daneben. Die Berechtigungen sind nicht in Stein gemeißelt — der Administrator kann sie unter /admin/rollen.php pro Rolle anpassen, siehe Permission-Matrix.

Administrator

Wer ist das? Die technische Verwaltung der ETB-Instanz. Üblicherweise ein bis zwei Personen pro Wache. Der Administrator steht außerhalb der operativen Führungskette (Einsatzleiter → Lage → Disponent).

Was darf der Administrator? Alles. Wirklich alles. Selbst wenn Du dem Administrator per Häkchen alle Permissions wegnimmst, bleibt er handlungsfähig — der Admin-Failsafe sorgt dafür, dass userCan() für die Admin-Rolle immer true zurückgibt. So kann sich kein Admin selbst aussperren.

ℹ️ Weil der Administrator per Failsafe jedes Recht besitzt, hat er auch „Als Disponent arbeiten" (dispo.act_as) — er erscheint deshalb ebenfalls in den Disponenten-Auswahllisten (Einsatz, Abschnitt, Schwerpunkt) und lässt sich wie ein Dispo zuweisen, ohne dass Du ihm das Recht eigens geben musst.

Typische Aufgaben:

  • Installation und Setup-Wizard
  • User anlegen und Rollen vergeben
  • Permission-Matrix konfigurieren
  • Stammdaten pflegen (Orte, EM, Löschgruppen, Wichtigkeit)
  • System-Diagnose (Schema-Check, Log-Dashboard, Webhook-Status)
  • Backup, Updates, ETB-Reset

Einsatzleiter

Wer ist das? Die operative Spitze: Der Einsatzleiter führt den Einsatz (bei Großlagen alle Einsätze) und ist für alles verantwortlich („accountable"). Vor Ort die echte Einsatzleitung, in größeren Lagen die Gesamtkoordination bzw. Atemschutzüberwachung.

Was darf der Einsatzleiter? Praktisch alles Operative — er führt und verantwortet die gesamte Lage:

  • Alle Einsätze sehen, bearbeiten, Status setzen, Einsätze abschließen
  • Abschnitte bilden und ändern
  • Schwerpunkte anlegen, EM-Pool verwalten, Einsatzmittel zuweisen
  • Die Einsatzlage bewerten und Einsätze an die Disponenten verteilen — das kann er selbst, oder er überlässt es der Lage
  • Schwerpunkte erledigen und abschließen (schwerpunkt.close)
  • Zusätzlich zur Lage: abgeschlossene Einsätze und Abschnitte wiedereröffnen — und nur ein Administrator reaktiviert abgeschlossene Schwerpunkte

Was darf er nicht?

  • Den Admin-Bereich (das ist Sache des Administrators)

ℹ️ Der Einsatzleiter darf per Default Einsatz-Rollen vergeben — also einem anderen Benutzer befristet (max. 48 h) die Rolle Einsatzleiter oder Lage leihen. Siehe Einsatz-Rollen.

ℹ️ Per Default taucht der Einsatzleiter nicht in den Disponenten- Auswahllisten auf. Der Administrator kann ihm das Recht „Als Disponent arbeiten" (dispo.act_as) optional zuschalten.

Lage

Wer ist das? Der Lagedienst — der verlängerte Arm des Einsatzleiters. Die Lage bewertet die Einsatzlage und verteilt die Einsätze an die Disponenten. Sie hat dieselbe übergeordnete Sicht wie der Einsatzleiter, trägt aber nicht dessen finale Verantwortung.

Was darf die Lage?

  • Alle Einsätze sehen und bearbeiten
  • Status setzen, Einsätze abschließen
  • Abschnitte bilden und ändern
  • Schwerpunkte anlegen, EM-Pool verwalten
  • Schwerpunkte erledigen und abschließen (schwerpunkt.close)
  • Einsatzmittel zuweisen
  • Die Einsatzlage bewerten und Einsätze an die Disponenten verteilen

Was darf sie nicht?

  • Abgeschlossene Einsätze wiedereröffnen (das darf nur Einsatzleiter/Admin)
  • Abgeschlossene Schwerpunkte reaktivieren (nur Administrator)
  • Admin-Bereich

ℹ️ Per Default taucht die Lage nicht in den Disponenten-Auswahllisten auf. Der Administrator kann ihr aber das Recht „Als Disponent arbeiten" (dispo.act_as) geben — dann lässt sie sich wie ein Dispo als Disponent zuweisen (siehe Permission-Matrix).

Dispo

Wer ist das? Der Disponent in der Wache. Dokumentiert die Einsätze, denen er zugewiesen ist.

Was darf der Dispo?

  • Eigene und ihm zugewiesene Einsätze sehen, bearbeiten, kommentieren
  • Status setzen bis „Erledigt" (inkl. „Einsatz erledigen") — den finalen Abschluss macht Lage/EL/Admin (Vier-Augen-Prinzip, siehe mehr zu Status)
  • Einsatzmittel zuweisen
  • Abschnitte anlegen (aber Stammdaten der Abschnitte nicht ändern — außer, der Admin schaltet abschnitt.edit_stamm für Dispo frei, was per Default der Fall ist)
  • Eigene Anhänge hochladen, Dokumente downloaden
  • Als Disponent zugewiesen werden: Nur Rollen mit dem Recht „Als Disponent arbeiten" (dispo.act_as) tauchen in den Disponenten- Auswahllisten (Einsatz, Abschnitt, Schwerpunkt) auf. Beim Dispo ist dieses Recht fest gesetzt (Locked-Permission — kann ihm nicht entzogen werden), denn der Disponent ist per Definition immer Disponent.

Was darf er nicht?

  • Einsätze löschen oder abschließen
  • Schwerpunkte anlegen oder verändern
  • Admin-Bereich

Scope-Filter: Der Dispo sieht standardmäßig nur Einsätze, bei denen er als Disponent eingetragen ist oder die er selbst angelegt hat. Das ist ein Eigentums-Filter (keine Permission, sondern Code-Logik). Passend dazu öffnet sich die ETB-Übersicht beim ersten Aufruf vorgefiltert auf die eigenen zugewiesenen Einsätze (mit Hinweis und „Alle anzeigen"-Link). Über die Permission einsatz.view_all kann der Admin diesen Scope-Filter für einen einzelnen Dispo abschalten — dann sieht er alles (und auch die Vorauswahl entfällt), kann aber immer noch nur seine eigenen Einsätze bearbeiten.

ℹ️ Auch eine Einsatz-Rolle hebt den Eigentums-Filter auf: Bekommt ein Dispo befristet die Rolle Einsatzleiter oder Lage geliehen, sieht er für die Dauer der Einsatz-Rolle alle Einsätze und Schwerpunkte. Läuft sie aus, greift der Filter wieder. Siehe Einsatz-Rollen.

ℹ️ Alarm-Knopf: Konfiguriert der Administrator an einer Alarm-Regel ein Rollen-Angebot, kann ein Dispo sich beim Auslösen die Rolle Lage oder Einsatzleiter einmalig selbst übernehmen (Blitz-Knopf im Seitenmenü) — für den Fall, dass gerade keine Führungsrolle anwesend ist. Siehe Einsatz-Rollen.

Schwerpunkt-Dispo

Wer ist das? Der Schwerpunkt-Disponent. Verantwortlich für genau einen oder mehrere Schwerpunkte — bei Großlagen die taktische Bedien-Rolle für „seinen" Ausschnitt.

Was darf der Schwerpunkt-Dispo? Wie Dispo, aber mit anderem Scope:

  • Sieht alle Einsätze in den ihm zugeordneten Schwerpunkten (auch die, die er nicht selbst als Dispo führt)
  • Bearbeitet diese Einsätze und Abschnitte
  • Hat Zugriff auf das Schwerpunkttagebuch (Lagekarte, EM, Hydranten — alles gefiltert auf den Schwerpunkt)
  • Sieht nichts außerhalb seiner Schwerpunkte

Scope-Filter (hart verdrahtet): Der SP-Dispo-Scope ist eine Code-Logik, die der Admin nicht abschalten kann. Auch wenn alle Permissions per Häkchen erlaubt werden — der Scope bleibt. Das ist bewusst so. Außerdem ist schwerpunkt.view als Locked-Permission definiert: kein Admin kann dem SP-Dispo das Sehen seiner Schwerpunkte wegnehmen — sonst wäre er funktionslos.

⚠️ Der SP-Dispo ist innerhalb seiner Schwerpunkte automatisch der Disponent (Einsätze und Abschnitte folgen ihm, siehe Schwerpunkte). Das Recht „Als Disponent arbeiten" (dispo.act_as) kann er aber nicht erhalten — das Häkchen wird ihm gar nicht angezeigt. So bleibt er auf seine Schwerpunkte beschränkt und wird außerhalb nie als Disponent zuweisbar.

Gast

Wer ist das? Mitleser ohne Bearbeitungsrechte. Z. B. ein Pressesprecher, der ad-hoc die aktuelle Lage einsehen will, oder ein externer Berater bei einer Übung.

Was darf der Gast?

  • Einsätze, Abschnitte, Schwerpunkte und die Lagekarte sehen
  • Bilder in Kommentaren anschauen

Was darf er nicht?

  • Irgendetwas editieren
  • Dokumente (PDFs, Audio, …) herunterladen — Bilder ja, PDFs nein
  • Hydrantenplan sehen
  • Admin-Bereich

Permission vs. Scope — die wichtige Unterscheidung

Permission Scope-Filter
Was darfst Du tun? Welche Daten siehst Du davon?
Per Häkchen administrierbar Code-Logik, nicht administrierbar
Beispiele: einsatz.edit, schwerpunkt.create Beispiele: „nur eigene Einsätze", „nur Daten meines Schwerpunkts"
Greift auf Aktion Greift auf Datenmenge

Beispiel: Ein Dispo hat einsatz.edit (Permission) — er darf Einsätze bearbeiten. Der Eigentums-Filter (Scope) sorgt dafür, dass er nur seine eigenen Einsätze sieht und bearbeiten kann.

Wenn Du diese Trennung verstanden hast, ist die Permission-Matrix plötzlich sehr lesbar.

Wer kann welchen User anlegen?

User pflegt nur der Admin unter /admin/users.php. Ausnahme: SP-Dispo kann direkt aus dem Schwerpunkt-Wizard oder der SP-Edit-Page angelegt werden — die Permission schwerpunkt.create bzw. schwerpunkt.edit reicht. Die Rollenzuweisung ist server-seitig hartcodiert auf sp_dispo, damit niemand sich auf diesem Umweg heimlich einen Admin erstellen kann.

Anmeldung & vergessenes Passwort

Angemeldet wird sich auf der Login-Seite mit Benutzername und Passwort. Wer sein Passwort vergessen hat, kann sich selbst helfen:

  1. Auf der Login-Seite „Passwort vergessen?" anklicken.
  2. Benutzername oder die am Konto hinterlegte E-Mail-Adresse eingeben → „Link anfordern".
  3. Das ETB schickt einen Link an die hinterlegte Adresse. Über den Link vergibst Du ein neues Passwort (mindestens 8 Zeichen, mit Wiederholung). Der Link ist 30 Minuten gültig und nur einmal verwendbar; danach geht es zurück zur Anmeldung.

ℹ️ Die Meldung nach dem Anfordern ist bewusst neutral formuliert („… falls ein Konto existiert …"). So lässt sich von außen nicht ablesen, welche Benutzernamen oder Adressen es im System gibt.

Selbsthilfe nur mit hinterlegter E-Mail — der Admin-Pfad

Aus Sicherheitsgründen funktioniert die Selbsthilfe nur für Konten mit einer hinterlegten E-Mail-Adresse. Hat ein Konto keine Adresse, zeigt die Seite den Hinweis, sich an einen Admin zu wenden. Der Admin hat zwei Wege (/admin/users.php):

  • E-Mail nachtragen — beim Konto die Adresse eintragen und speichern; danach kann die Person „Passwort vergessen?" selbst nutzen.
  • Passwort direkt zurücksetzen — über „Passwort zurücksetzen" beim Konto ein neues Passwort vergeben und der Person mitteilen.

ℹ️ Damit Reset-Mails überhaupt rausgehen, muss der Betreiber den SMTP-Versand in config/.env eingerichtet haben (siehe Konfiguration). Ohne SMTP bleibt „Passwort vergessen" inaktiv — dann setzt nur der Admin Passwörter.

Ein neues Passwort sperrt offene Sitzungen aus

Sobald für ein Konto ein neues Passwort gesetzt wird — egal ob über die Selbsthilfe per E-Mail-Link oder durch einen Admin-Reset — werden alle laufenden Sitzungen dieses Kontos beendet. Wer noch irgendwo angemeldet war, muss sich danach mit dem neuen Passwort neu anmelden.

⚠️ Das gilt auch für Dich selbst: Setzt Du als Admin Dein eigenes Passwort zurück, wirst Du dadurch abgemeldet und musst Dich neu anmelden. Das ist Absicht — so sperrt ein neues Passwort jeden aus, der mit dem alten noch eine offene Sitzung hat (z. B. nach einem verdächtigen Zugriff).

Rollen- und Aktiv-Änderungen wirken sofort

Änderst Du als Admin die Rolle eines Benutzers oder setzt Du sein Konto auf inaktiv, wirkt das sofort — beim nächsten Seitenaufruf der betroffenen Person, ohne dass sie sich neu anmelden muss. Der Anmelde-Status wird bei jedem Aufruf frisch aus der Datenbank geprüft.

ℹ️ Deaktivierte Konten werden sofort ausgeloggt. Setzt Du ein Konto auf „inaktiv", fliegt die Person beim nächsten Klick aus dem ETB — nicht erst, wenn ihre Sitzung irgendwann abläuft. Dasselbe gilt für eine geänderte Rolle und für Einsatz-Rollen (siehe Einsatz-Rollen): Sie greifen ohne Neuanmeldung.

Was als nächstes?