Files
Laufzettel/docs/anleitung
Florian WildeandClaude Opus 5 3cbd5026f8
Prüfung / pruefung (push) Canceled after 0s
Prüfung / pruefung (pull_request) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
Prüfung / e2e (pull_request) Canceled after 0s
feat(anhaenge): Fotos und Dateien an einem Schritt (#52)
Ein Schritt nimmt jetzt Bilder (JPEG, PNG, WebP, HEIC) und PDF auf, am
Handy direkt aus der Kamera. Die Dateien liegen im Dateisystem unter
ANHAENGE_PFAD, nach Kunde und Lauf gegliedert; in der Datenbank stehen
nur Name, Typ, Groesse und Pruefsumme. Der Pfad entsteht aus der
Kennung, nie aus dem Dateinamen vom Browser.

Jeder Abruf prueft Recht und Mandantengrenze — auch der des Bildes
selbst: der Route Handler ruft rechtErforderlich() selbst, weil die
Huelle unter (app) Route Handler nicht abdeckt. Hochgeladen wird ueber
eine Server Action statt ueber einen zweiten Endpunkt; der
Archiv-Schreibschutz haengt an derselben einen Stelle wie alles andere
am Lauf. Kein SVG: ein SVG ist ein Dokument, das Skripte ausfuehrt.

In der Datenbank halten zwei CHECK-Bedingungen und zwei
zusammengesetzte Fremdschluessel fest, was auch gilt, wenn jemand an
der Service-Schicht vorbei schreibt — ein Anhang kann strukturell nicht
an einem Schritt eines anderen Laufs oder bei einem fremden Kunden
haengen.

docs/betrieb/sicherung.md ist neu geschrieben: dort stand "Kein
Upload-Verzeichnis, keine erzeugten Dateien", und eine Sicherung nach
der alten Anleitung haette ab hier still Daten verloren. Sicherung und
Ruecksicherung sind einmal wirklich gefahren, mit Pruefsummenvergleich.

Gefunden in der Klickprobe am gebauten Stand und nur dort: zwei Felder
"datei" in einem Formular, und FormData.get nahm das leere. Wer "Datei"
waehlte, bekam "Keine Datei gewaehlt", waehrend "Foto" ging. Die Regel
liegt jetzt als reine Funktion in src/lib, und tests/e2e/anhaenge.spec.ts
laedt bewusst ueber den zweiten Knopf hoch.

Closes #52

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-04 23:05:00 +02:00
..

Laufzettel — Anleitung

Laufzettel ist eine Checkliste für wiederkehrende IT-Arbeiten. Ein Redakteur schreibt einmal auf, was bei einer PC-Neuinstallation, einem Onboarding oder einem Patchday zu tun ist — das ist eine Vorlage. Aus einer veröffentlichten Vorlage entsteht ein Lauf: die Abschrift für einen bestimmten Fall, mit einem bestimmten Gerät und einer bestimmten Person. Den Lauf arbeitet ein Techniker Schritt für Schritt ab, oft am Handy, direkt am Gerät. Am Ende wird er abgeschlossen und archiviert und ändert sich nie wieder.

Auf jedem Gerät klebt ein QR-Aufkleber. Wer ihn scannt, landet auf der Geräteseite und sieht, was dort zu tun ist und was dort schon getan wurde. Der Code auf dem Aufkleber wird nie geändert und nie an ein zweites Gerät vergeben — er ist die einzige Angabe am Gerät, die Jahre hält.

Die Übersicht nach dem Anmelden mit den Blöcken „Überfällig“, „Mir zugewiesen“ und „Zuletzt bearbeitet“

Wer welches Kapitel braucht

Techniker — du arbeitest Läufe ab, scannst Aufkleber und druckst Etiketten:

Administrator oder Redakteur — du richtest ein und pflegst:

Zwei Betriebsmodi

Laufzettel läuft in einem von zwei Modi. Der Modus entscheidet, ob es eine Kundenebene gibt, und ändert einige Beschriftungen.

Modus Für wen Kundenebene
Intern eine Firma und ihre eigenen Mitarbeiter unsichtbar
Dienstleistung IT-Dienstleister mit mehreren Kunden sichtbar: Kundenliste, Kundenwahl, Kürzel auf dem Etikett

Im Modus Intern heißt der Menüpunkt „Mitarbeiter & Geräte“, im Modus Dienstleistung „Personen & Geräte“; dort kommt außerdem „Kunden“ dazu, und das Verzeichnis fällt weg. Wo diese Anleitung „Person“ schreibt, heißt es im Modus Intern auch „Mitarbeiter“ — gemeint ist dasselbe. Umgestellt wird der Modus unter Admin, siehe Kapitel 07.

Drei Zusagen, die überall gelten

  1. Eine veröffentlichte Version wird nie verändert. Sonst zeigte ein alter Lauf Schritte, die es damals nicht gab. „Bearbeiten“ erzeugt stattdessen eine Kopie als Entwurf.
  2. Ein archivierter Lauf ist schreibgeschützt. Kein Haken, keine Notiz, kein Kommentar geht danach noch. Nur ein Administrator holt ihn zurück.
  3. Gelöscht wird fast nichts. Geräte, Abteilungen, Vorlagen und Kunden werden archiviert, Personen nur deaktiviert. Ein archivierter Lauf muss auch in zehn Jahren noch sagen können, für wen er lief.