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
|
Name des tools: eZICOM5
|
||||||
Url: https://zm.sufw.de:31443
|
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
|
./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:
|
Wenn du Zugangsdaten ueber Environment-Variablen setzen willst:
|
||||||
|
|
||||||
```bash
|
```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
|
Prozessliste sichtbar sein. Fuer echte Nutzung ist der interaktive Modus oder
|
||||||
ein sauber geschuetzter Secret-Store besser.
|
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
|
## TLS / Zertifikat
|
||||||
|
|
||||||
Bei lokalen Tests konnte Python die Zertifikatskette der eZICOM-Installation
|
Bei lokalen Tests konnte Python die Zertifikatskette der eZICOM-Installation
|
||||||
@@ -87,8 +126,5 @@ verwenden.
|
|||||||
|
|
||||||
## Bekannte Grenzen
|
## Bekannte Grenzen
|
||||||
|
|
||||||
Das Script loggt nur ein und prueft die unmittelbare Antwort. Es bucht noch
|
Das Script loggt ein, kann Zeitbuchungen absenden und die Fehlerliste anzeigen.
|
||||||
keine Zeiten und ruft keine eZICOM-API auf.
|
Es ruft keine dedizierte eZICOM-API auf, sondern ahmt den Browser nach.
|
||||||
|
|
||||||
Fuer den naechsten Schritt muessen wir nach erfolgreichem Login untersuchen,
|
|
||||||
welche Requests beim eigentlichen Buchen von Zeiten gesendet werden.
|
|
||||||
Reference in new issue
Block a user