dolibarr.netdiag/README.md
Eduard Wisch 4aa26962c9
All checks were successful
Deploy netdiag / deploy (push) Successful in 13s
orders.php: Auftragsliste nach letzter Bearbeitung sortieren [deploy]
- Spalte c.tms in SELECT aufgenommen (Dolibarr-Änderungszeitstempel)
- ORDER BY c.tms DESC statt date_commande DESC — zuletzt bearbeitete
  Aufträge stehen oben, passend zur App-Anzeige "bearb. <Datum>"
- tms-Feld in der API-Antwort ergänzt
- README: Hinweis auf Deploy-Pipeline ergänzt

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 22:05:09 +02:00

52 lines
2.1 KiB
Markdown

# NetDiag — Netzwerk-Diagnose für Dolibarr
Dolibarr-Modul für die Ablage von Netzwerk-Diagnose-Protokollen. Erfasst per
mobiler App (siehe Projekt `NetzwerkDiagnose/app`) gefundene Geräte, Ports und
Messungen und hängt die Protokolle dauerhaft an **Kunde** und **Auftrag**.
## Funktionen
- Datenmodell: Protokoll → Geräte → Messungen (`llx_netdiag_*`)
- Tab **Netzwerk-Diagnose** an Kunde (thirdparty) und Auftrag (commande)
- JSON-API unter `/custom/netdiag/api/` für die mobile App (JWT-Auth)
- PDF-Protokoll, wird im Dokumentenarchiv (ECM) abgelegt
- Rechtesystem: `netdiag → protocol → read/write/delete`
- Mehrsprachig (de_DE, en_US)
- QR-Code zum App-Download in der Modul-Einrichtung
## Installation
1. Verzeichnis `netdiag/` nach `htdocs/custom/` auf den Dolibarr-Server kopieren.
Auf dem Produktivsystem übernimmt das die Forgejo-Pipeline
(`.forgejo/workflows/deploy.yml`) — Commit mit `[deploy]` in der Message
synct das Modul automatisch auf den Server.
2. In Dolibarr: **Einrichtung → Module → NetDiag** aktivieren.
3. Beim Aktivieren werden die Tabellen `llx_netdiag_protocol`,
`llx_netdiag_device`, `llx_netdiag_measurement` angelegt und ein
JWT-Schlüssel erzeugt.
4. Benutzern das Recht **NetDiag → Protokolle lesen/schreiben** geben.
## API-Endpunkte
Alle unter `https://<dolibarr>/custom/netdiag/api/`:
| Endpunkt | Methode | Zweck |
|----------|---------|-------|
| `auth.php` | POST `{login,password}` | Anmeldung → `{token,expiresIn,user}` |
| `customers.php` | GET `?q=` / `?id=` | Kundensuche / Kundendetail |
| `orders.php` | GET `?open=1&q=` / `?id=` | Auftragsliste / Auftragsdetail |
| `protocols.php` | GET `?id=` | Protokoll mit Geräten + Messungen |
| `protocols.php` | POST `{action:"sync",protocol:{…}}` | Protokoll anlegen/aktualisieren (idempotent über `clientUuid`) |
| `pdf.php` | GET `?id=&jwt=` | Protokoll-PDF streamen |
Authentifizierung per `Authorization: Bearer <token>` oder `?jwt=<token>`.
## Einrichtung
**Einrichtung → Module → NetDiag → Einstellungen:**
- Token-Gültigkeit (Sekunden)
- App-Download-URL (APK) — wird als QR-Code angezeigt
## Lizenz
GPLv3