Closed gitschwarz closed 2 years ago
Interessant, weil eigentlich sollten die Zeiten beim Eintragen eines Ferientags verändert werden. Auch bei vergangenen Monaten.
https://user-images.githubusercontent.com/6435657/146761124-2548363e-82a5-4769-bfdb-c52897503351.mp4
Nur im Adminmenü getestet, da bei uns nicht alle Mitarbeiter Zugang haben:
Die Seite Jahresübersicht (des jeweiligen Mitarbeiters) zeigt die Daten an, die beim Aufruf der Monatsansicht erstellt werden. Dabei wird die Datei z.B. /Timetable/2021 geschrieben. Diese Daten in dieser Datei, werden, wenn einmal gesetzt, nicht mehr geändert. Das macht bei uns Probleme mit dem aktuellen Monat: Wir tragen, z.B. Monatsmitte, noch ein paar Tage Urlaub ein. Dieser Urlaub erscheint nicht in der Jahresübersicht - da diese Datei ja kein Update bekommt. Damit der Urlaub hier sauber angezeigt wird, bereinigen wir per cronjob (der die ersten 25 Tage eines Monates läuft) mit einem Bashscript die Jahresübersichtdatei :-) Im Prinzip wird nur der Eintrag des aktuellen Monates entfernt. Damit tritt der Fehler nicht mehr auf. Im Nachhinein schreiben wir ja rückwirkend keine Urlaube oder andere Absenzen ... (das ist jedenfalls bei uns so). Bitte als Parameter das Installationsverzeichnis übergeben (bei uns ist das /html/zeit/ )
!/bin/bash
cd $1 users=
find * -maxdepth 2|grep Timetable
for user in ${users} doecho "gehe zu $user"
cd $1 cd $user Monat=
date "+%m"
Jahr=date "+%Y"
Zeilen=$(($Monat-1)) if test $Zeilen -gt 0 then sed $Zeilen'q' $Jahr >$Jahr.tmp cp $Jahr.tmp $Jahr else rm -f $Jahr fi done