update plan und readme

This commit is contained in:
trnq1ll0 committed 2026-06-05 09:12:00 +02:00
1 parent 7d6ce40709
commit 8390afd06a
2 files changed
+61 -5

No files matched your search

+20
View File
@@ -4,3 +4,23 @@ Name des tools: eZICOM5
Url: https://zm.sufw.de:31443
Login erfolgt per username und passwort.
Login credentials sollen per .env Datei lokal gespeichert werden.
Nach dem Login in der Zeiterfassung soll in der Fehlerliste nach Tagen geschaut werden, welche noch keine Zeiteintragung haben. Der Seitenaufruf dazu ist: https://zm.sufw.de:31443/user?page=corrindex&go=dfhl&sid=<hier aktuelle ID einsetzen>&Btn=9&nc=%27+noCache()+%27
Klarstellung zur Fehlerliste:
- Alle Tage, die in der Fehlerliste erscheinen, gelten als fehlerhaft.
- Die liste kann zwei arten von Fehlern enthalten: entweder fehlen beide Buchungen (kommen/gehen) oder nur eine der beiden.
- Beim Auslesen darf nur der HTML-Block `dfhl` aus dem `go=dfhl` Ergebnis verwendet werden. Die Seite enthaelt zusaetzlich versteckte Listen wie `dnow`, die alle Buchungen enthalten und nicht fuer die Konsolenausgabe geparst werden duerfen.
Neue Buchung / Korrekturbuchung:
- Die Seite zum Ausloesen einer neuen Buchung wird ueber `page=corrnew` aufgerufen.
- Beispiel-URL: https://zm.sufw.de:31443/user?page=corrnew&sid=<hier aktuelle ID einsetzen>&bt=1
- Die `sid` ist session-abhaengig und muss nach dem Login dynamisch aus der Seite gelesen werden.
Ziele:
- In der Fehlerliste schauen welche Tage noch nicht gebucht sind und die nicht älter als zwei Wochen sind.
- Diese im Terminal anzuzeigen und per Auswahl diese automatisch auszufüllen
- Es werden nur Tage ausgefüllt bei denen beide Buchungen fehlen, alle anderen Fehler werden einfach nur angezeigt.
- Zum ausfüllen genügt es, am Datum des betreffenden Tages zwei Buchungen vorzunehmen je einen für 10uhr und einen für 14Uhr
+41 -5
View File
@@ -37,6 +37,16 @@ Optional kann die HTML-Antwort nach dem Login gespeichert werden:
./ezicom_login.py --insecure --save-response after-login.html
```
Nach einem erfolgreichen Login zeigt eZICOM ggf. erst eine Zwischenmeldung mit
einem `Weiter`-Button. Diesen Schritt kann das Script ebenfalls ausfuehren:
```bash
./ezicom_login.py --insecure --follow-next --save-next-response next-page.html
```
Fuer die weitere Analyse der Zeitbuchung ist diese Folgeseite interessanter als
die reine Login-Antwort.
Wenn du Zugangsdaten ueber Environment-Variablen setzen willst:
```bash
@@ -66,6 +76,35 @@ Hinweis: CLI-Argumente koennen in der Shell-History und kurzzeitig in der
Prozessliste sichtbar sein. Fuer echte Nutzung ist der interaktive Modus oder
ein sauber geschuetzter Secret-Store besser.
## Fehlerliste
Die Fehlerliste zeigt fehlerhafte Tage mit dem von eZICOM gelieferten Grund an,
z.B. `Sollzeit definiert, aber keine Buchung` oder `Buchungen uebrig`:
```bash
./ezicom_login.py --insecure --fehlerliste
```
Die HTML-Antwort kann optional gespeichert werden:
```bash
./ezicom_login.py --insecure --fehlerliste --save-fehlerliste-response fehlerliste.html
```
Wichtig: Fuer die Fehlerliste muss der Korrekturindex mit `go=dfhl` geladen und
der HTML-Block `dfhl` ausgewertet werden. Ohne diese Eingrenzung liefert eZICOM
auch die normale Buchungsliste mit zu vielen Eintraegen aus.
## Korrekturbuchungen
Die Seite fuer eine neue Buchung/Korrekturbuchung wird ueber `page=corrnew`
aufgerufen. Die `sid` ist session-abhaengig und muss aus dem Login-Kontext
uebernommen werden:
```text
https://zm.sufw.de:31443/user?page=corrnew&sid=<SID>&bt=1
```
## TLS / Zertifikat
Bei lokalen Tests konnte Python die Zertifikatskette der eZICOM-Installation
@@ -87,8 +126,5 @@ verwenden.
## Bekannte Grenzen
Das Script loggt nur ein und prueft die unmittelbare Antwort. Es bucht noch
keine Zeiten und ruft keine eZICOM-API auf.
Fuer den naechsten Schritt muessen wir nach erfolgreichem Login untersuchen,
welche Requests beim eigentlichen Buchen von Zeiten gesendet werden.
Das Script loggt ein, kann Zeitbuchungen absenden und die Fehlerliste anzeigen.
Es ruft keine dedizierte eZICOM-API auf, sondern ahmt den Browser nach.