update plan und readme
This commit is contained in:
1 parent
7d6ce40709
commit
8390afd06a
2 files changed
+62
-6
No files matched your search
@@ -3,4 +3,24 @@ Untersuchung einer time tracking plattform ob diese per API ansprechbar ist um z
|
||||
Name des tools: eZICOM5
|
||||
Url: https://zm.sufw.de:31443
|
||||
|
||||
Login erfolgt per username und passwort.
|
||||
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
|
||||
@@ -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.
|
||||
Reference in new issue
Block a user