feat(schnellstart): Kacheln je Geraetetyp in der Oberflaeche pflegen
Prüfung / pruefung (pull_request) Canceled after 0s
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (pull_request) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

Welche Vorlagen auf der Geraeteseite als Kachel erscheinen, stand nur im Seed.
Wer eine eigene Vorlage dort haben wollte, kam nicht heran; wer eine
mitgelieferte loswerden wollte, auch nicht.

Neue Seite Verwaltung -> Schnellstart: je Geraetetyp eine Liste, Reihenfolge
ueber Hoch und Runter. Kein Drag & Drop -- der Editor braucht dnd-kit fuer
hundert Schritte, hier sind es zwei bis vier Kacheln, und zwei Knoepfe sind am
Handy verlaesslicher als eine Ziehgeste neben einer scrollenden Seite.

Gespeichert wird die ganze Liste; position kommt aus ihrer Reihenfolge, damit es
nur eine Wahrheit darueber gibt. Zur Auswahl stehen nur veroeffentlichte, nicht
archivierte Vorlagen.

Einstellung.schnellstartGepflegt haelt den Seed heraus, sobald jemand
gespeichert hat -- auch bei unveraenderter Liste. Eine fehlende Zeile sagt
nicht, ob sie noch nie da war oder bewusst entfernt wurde.

Das Durchklicken des gebauten Stands fand einen Fehler, den die Suite nicht
gesehen haette: die Umsortierung wurde nicht gespeichert. Altdaten tragen
mehrere Zeilen auf position 0, und bei gleicher Position ist die Reihenfolge in
Postgres nicht festgelegt -- Lesemodell und Dienst gaben sie unterschiedlich
zurueck, und der Vergleich hielt die Umsortierung fuer einen Leerlauf. Behoben
durch einen eindeutigen Tiebreak in beiden Abfragen, mit Regressionstest.

Closes #34
This commit is contained in:
Florian Wilde
2026-10-04 17:40:46 +02:00
parent 0060a55387
commit 4bd34c4233
17 changed files with 910 additions and 24 deletions
+10
View File
@@ -26,6 +26,12 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/).
### Hinzugefügt
- **Schnellstart je Gerätetyp pflegen**, unter Verwaltung → Schnellstart. Welche Vorlagen auf der
Geräteseite als Kachel erscheinen, stand bisher nur im Seed: wer eine eigene Vorlage dort haben
wollte, kam nicht heran, und wer eine mitgelieferte loswerden wollte, auch nicht. Zur Auswahl
stehen nur veröffentlichte, nicht archivierte Vorlagen; die Reihenfolge der Liste ist die
Reihenfolge der Kacheln. Sobald jemand hier gespeichert hat, legt der Seed keine eigenen Vorgaben
mehr nach — eine entfernte Kachel soll nicht beim nächsten Einrichtungslauf zurückkommen (#022)
- **Vorgesetzter auch für von Hand angelegte Personen.** Die Zuordnung lief allein über die Kennung
des Verzeichnisses, und die ist nur innerhalb einer Verzeichnisquelle eindeutig: wer eine Person
selbst eingetragen hatte, konnte ihr keinen Vorgesetzten geben, und `{{vorgesetzter_sam}}` blieb im
@@ -229,6 +235,10 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/).
### Behoben
- Die Umsortierung im Schnellstart wurde nicht gespeichert, wenn mehrere Zeilen desselben
Gerätetyps dieselbe `position` trugen — bei gleicher Position ist die Reihenfolge in Postgres nicht
festgelegt, und Lesemodell und Dienst gaben die Zeilen unterschiedlich zurück. Gefunden beim
Durchklicken des gebauten Stands, nicht von der Testsuite (#022)
- Der Compose-Stand las `DATABASE_URL` aus der `.env` — dort steht die Adresse für die Entwicklung
(`localhost` und ein offener Port), und im Container zeigt sie ins Leere. Wer den dokumentierten
Weg ging, bekam einen Stand, der nicht startet. Die Adresse baut sich jetzt immer aus den