Merge remote-tracking branch 'origin/master' into feature/usb-aio-workflow
# Conflicts: # README.md # inventory/test_specification_migration.py
This commit is contained in:
25
README.md
25
README.md
@@ -23,6 +23,12 @@ Produktionsnahe interne Geräteverwaltung als kompakter Django-Monolith. Die Anw
|
||||
- Docker Compose mit PostgreSQL, Django/Gunicorn und Traefik/HTTPS
|
||||
- Healthchecks, persistente Volumes und einfache Backup-/Restore-Skripte
|
||||
|
||||
## Anleitung für den LAN-Server
|
||||
|
||||
Für Kollegen: [Lokales Deployment und Serverbetrieb](docs/LOCAL_DEPLOY.md).
|
||||
Die Anleitung enthält Zugang, Update mit Backup, Prüfung, Fehlerbehebung und
|
||||
Datenbankzugriff für den LAN-Server.
|
||||
|
||||
## Lokale Entwicklung
|
||||
|
||||
Voraussetzungen: Python 3.12 oder neuer und PostgreSQL 17, oder Docker Compose.
|
||||
@@ -339,3 +345,22 @@ The USB station resolves hardware identity with `POST /api/v1/devices/resolve/`,
|
||||
`POST /api/v1/devices/<number>/inspection/` accepts a UUID `request_id`, `hwid`, `expected_revision`, phase (`STARTED`, `IN_PROGRESS`, `COMPLETE`), technician, notes and a dictionary of test results. Each result preserves outcome, notes, evidence and attempt history. The API moves allowed devices to `INSPECTION`, sets status to `Inspektion`, adds a readable inspection record and retains the structured snapshot. A unique request ID prevents duplicate records after lost responses; reused IDs with different content are rejected. Inventory workflow checks, hardware matching and API-key permissions remain enforced. Completed inspections require a named technician and no unfinished results; unavailable tests remain distinct from hardware failures.
|
||||
|
||||
Apply migrations through `0015_inspectionsubmission` before deploying the new USB application. Wi-Fi credentials and inventory API keys stay on USB persistent storage, not in this repository.
|
||||
|
||||
## Korrekturen für die Geräteansicht (Migration 0014)
|
||||
|
||||
Die Geräteliste bleibt auch bei kleinen oder niedrigen Fenstern scrollbar. Neue
|
||||
Zusatzspalten werden bei vorhandenen Spalteneinstellungen automatisch eingeblendet;
|
||||
anschließend können sie weiterhin über die Spaltenauswahl ausgeblendet werden.
|
||||
Gespeicherte JA/NEIN-Werte und Zahlenwerte wie `0` bleiben beim Bearbeiten sichtbar.
|
||||
|
||||
Laptop und AiO bieten jetzt `camera` (Kamera) und `sound` (Sound). Bildschirme
|
||||
bieten `hdmi`, `vga`, `dvi`, `displayport` (DP) sowie `aspect_ratio`
|
||||
(Seitenverhältnis, beispielsweise `16:9`). Die Ausstattungsfelder verwenden
|
||||
`YES`, `NO` oder `UNKNOWN` und sind in der Geräteliste filterbar. Sie stehen auch
|
||||
in Erfassung, Inspektion, API und Tabellenimport/-export zur Verfügung.
|
||||
|
||||
Beim Update `python manage.py migrate` ausführen; Docker erledigt dies beim
|
||||
Containerstart. Bestehende Anschlussnotizen bleiben erhalten. Neue Auswahlfelder
|
||||
starten mit „UNBEKANNT“, da Freitext keine verlässliche JA/NEIN-Zuordnung erlaubt.
|
||||
Die Gitea-Pipeline prüft zusätzlich die Browserabläufe einschließlich kleiner
|
||||
Bildschirme und benutzerdefinierter Spalten.
|
||||
|
||||
Reference in New Issue
Block a user