stuff
This commit is contained in:
parent
0d67f72159
commit
0f9068d91b
|
|
@ -46,32 +46,60 @@ def getAbsenceForOneDay(user, day):
|
||||||
- Abwesenheit ist der komplette Tag, dann wird dieser Arbeitstag gelöscht, wenn es is_time false ist, sprich die Zeiterfassung soll nicht angefasst werden
|
- Abwesenheit ist der komplette Tag, dann wird dieser Arbeitstag gelöscht, wenn es is_time false ist, sprich die Zeiterfassung soll nicht angefasst werden
|
||||||
- Abwesenheit ist kompletter Tag und die Abwesenheit soll Zeiterfassung beeinflussen (z.B. Gleitzeit) dann wird der Arbeitstag nicht verändert. Ist die Gleitzeit ein halber Tag, wird die Zielarbeitszeit halbiert.
|
- Abwesenheit ist kompletter Tag und die Abwesenheit soll Zeiterfassung beeinflussen (z.B. Gleitzeit) dann wird der Arbeitstag nicht verändert. Ist die Gleitzeit ein halber Tag, wird die Zielarbeitszeit halbiert.
|
||||||
'''
|
'''
|
||||||
|
'''
|
||||||
def checkAbsenceWorkdayCollide(absence):
|
def checkAbsenceWorkdayCollide(absence):
|
||||||
# Alle einzelnen Tage der Abwesenheit werden durchgegangen:
|
# Alle einzelnen Tage der Abwesenheit werden durchgegangen:
|
||||||
|
# TODO: Hier einmal testen ob das korrekto ist
|
||||||
for day in daterange(absence.start, absence.end):
|
for day in daterange(absence.start, absence.end):
|
||||||
# Arbeitstage an diesem Tag werden geladen
|
# Arbeitstage an diesem Tag werden geladen
|
||||||
workdays = Workday.objects.filter(user=absence.user, start__day=absence.start.day, start__month=absence.start.month, start__year=absence.start.year)
|
#workdays = Workday.objects.filter(user=absence.user, start__day=absence.start.day, start__month=absence.start.month, start__year=absence.start.year)
|
||||||
|
workdays = Workday.objects.filter(user=absence.user, start__day=day.day, start__month=day.month, start__year=day.year)
|
||||||
# Wenn es Arbeitstage gibt, dann wird geprüft, ob die Abwesenheit diesen verändert hat.
|
# Wenn es Arbeitstage gibt, dann wird geprüft, ob die Abwesenheit diesen verändert hat.
|
||||||
for workday in workdays:
|
for workday in workdays:
|
||||||
# Arbeitstag in Tag ohne Zeit umwandeln
|
# Arbeitstag in Tag ohne Zeit umwandeln
|
||||||
# Wenn die Abwesenheit die Zeiterfassung NICHT ändert, muss diese ggf. geändert werden. Ansonsten bleibt sie gleich.
|
# Wenn die Abwesenheit die Zeiterfassung NICHT ändert, muss diese ggf. geändert werden. Ansonsten bleibt sie gleich.
|
||||||
if absence.reason.is_time == False:
|
#if absence.reason.is_time == False:
|
||||||
|
if absence.reason.is_time == True:
|
||||||
# Prüfung, ob der Tag halb ist oder nicht. Wenn ja, dann Zielarbeitszeit des Tages um die Hälfte reduzieren.
|
# Prüfung, ob der Tag halb ist oder nicht. Wenn ja, dann Zielarbeitszeit des Tages um die Hälfte reduzieren.
|
||||||
if (workday.start.day == absence.start.day and workday.start.month == absence.start.month and workday.start.year == absence.start.year) or (workday.end.day == absence.end.day and workday.end.month == absence.end.month and workday.end.year == absence.end.year):
|
#if (workday.start.day == absence.start.day and workday.start.month == absence.start.month and workday.start.year == absence.start.year) or (workday.end.day == absence.end.day and workday.end.month == absence.end.month and workday.end.year == absence.end.year):
|
||||||
if(getIsAbsenceStartEndHalf(absence)):
|
if(getIsAbsenceStartEndHalf(absence)):
|
||||||
workday.target = workday.target / 2
|
workday.target = workday.target / 2
|
||||||
workday.save()
|
workday.save()
|
||||||
# Ganzer Tag vorhanden, Arbeitstag wird als löschen markiert, aber nicht gelöscht
|
# Ganzer Tag vorhanden, Arbeitstag wird als löschen markiert, aber nicht gelöscht
|
||||||
else:
|
else:
|
||||||
workday.delflag = True
|
if workday.delflag == True:
|
||||||
|
workday.delflag = False
|
||||||
workday.save()
|
workday.save()
|
||||||
else:
|
else:
|
||||||
|
workday.delflag = True
|
||||||
|
workday.save()
|
||||||
|
|
||||||
|
'''
|
||||||
|
def checkAbsenceWorkdayCollide(absence):
|
||||||
|
# Alle einzelnen Tage der Abwesenheit werden durchgegangen:
|
||||||
|
for day in daterange(absence.start, absence.end):
|
||||||
|
# Arbeitstage an diesem Tag werden geladen
|
||||||
|
workdays = Workday.objects.filter(user=absence.user, start__day=day.day, start__month=day.month, start__year=day.year)
|
||||||
|
|
||||||
|
# Wenn es Arbeitstage gibt, dann wird geprüft, ob die Abwesenheit diesen verändert hat.
|
||||||
|
for workday in workdays:
|
||||||
|
# Arbeitstag in Tag ohne Zeit umwandeln
|
||||||
|
# Wenn die Abwesenheit die Zeiterfassung NICHT ändert, muss diese ggf. geändert werden. Ansonsten bleibt sie gleich.
|
||||||
|
if absence.reason.is_time == True:
|
||||||
|
# Prüfung, ob der Tag halb ist oder nicht. Wenn ja, dann Zielarbeitszeit des Tages um die Hälfte reduzieren.
|
||||||
|
#if (workday.start.day == absence.start.day and workday.start.month == absence.start.month and workday.start.year == absence.start.year) or (workday.end.day == absence.end.day and workday.end.month == absence.end.month and workday.end.year == absence.end.year):
|
||||||
|
if(getIsAbsenceStartEndHalf(absence)):
|
||||||
|
workday.target = workday.target / 2
|
||||||
|
workday.save()
|
||||||
# Sollte der ganze Tag mal als zu löschen markiert worden sein, wird dies hier zurückgenommen
|
# Sollte der ganze Tag mal als zu löschen markiert worden sein, wird dies hier zurückgenommen
|
||||||
if workday.delflag == True:
|
if workday.delflag == True:
|
||||||
workday.delflag = False
|
workday.delflag = False
|
||||||
workday.save()
|
workday.save()
|
||||||
|
else:
|
||||||
|
workday.delflag = True
|
||||||
|
workday.save()
|
||||||
|
|
||||||
|
'''
|
||||||
def checkAbsenceWorkdayCollideDelete(absence):
|
def checkAbsenceWorkdayCollideDelete(absence):
|
||||||
# Alle einzelnen Tage der Abwesenheit werden durchgegangen:
|
# Alle einzelnen Tage der Abwesenheit werden durchgegangen:
|
||||||
for day in daterange(absence.start, absence.end):
|
for day in daterange(absence.start, absence.end):
|
||||||
|
|
@ -97,6 +125,31 @@ def checkAbsenceWorkdayCollideDelete(absence):
|
||||||
if workday.delflag == True:
|
if workday.delflag == True:
|
||||||
workday.delflag = False
|
workday.delflag = False
|
||||||
workday.save()
|
workday.save()
|
||||||
|
'''
|
||||||
|
def checkAbsenceWorkdayCollideDelete(absence):
|
||||||
|
# Alle einzelnen Tage der Abwesenheit werden durchgegangen:
|
||||||
|
for day in daterange(absence.start, absence.end):
|
||||||
|
# Arbeitstage an diesem Tag werden geladen
|
||||||
|
workdays = Workday.objects.filter(user=absence.user, start__day=day.day, start__month=day.month, start__year=day.year)
|
||||||
|
|
||||||
|
# Wenn es Arbeitstage gibt, dann wird geprüft, ob die Abwesenheit diesen verändert hat.
|
||||||
|
for workday in workdays:
|
||||||
|
# Arbeitstag in Tag ohne Zeit umwandeln
|
||||||
|
# Wenn die Abwesenheit die Zeiterfassung NICHT ändert, muss diese ggf. geändert werden. Ansonsten bleibt sie gleich.
|
||||||
|
if absence.reason.is_time == True:
|
||||||
|
# Prüfung, ob der Tag halb ist oder nicht. Wenn ja, dann Zielarbeitszeit des Tages um die Hälfte reduzieren.
|
||||||
|
#if (workday.start.day == absence.start.day and workday.start.month == absence.start.month and workday.start.year == absence.start.year) or (workday.end.day == absence.end.day and workday.end.month == absence.end.month and workday.end.year == absence.end.year):
|
||||||
|
if(getIsAbsenceStartEndHalf(absence)):
|
||||||
|
workday.target = workday.target / 2
|
||||||
|
workday.save()
|
||||||
|
# Sollte der ganze Tag mal als zu löschen markiert worden sein, wird dies hier zurückgenommen
|
||||||
|
if workday.delflag == True:
|
||||||
|
workday.delflag = False
|
||||||
|
workday.save()
|
||||||
|
else:
|
||||||
|
workday.delflag = True
|
||||||
|
workday.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -334,7 +334,7 @@
|
||||||
|
|
||||||
<!-- End of Topbar -->
|
<!-- End of Topbar -->
|
||||||
<!-- Begin Page Content -->
|
<!-- Begin Page Content -->
|
||||||
<div class="container-fluid" style="padding-top: 20px !important;" >
|
<div class="container-fluid" style="padding-top: 10px !important;" >
|
||||||
|
|
||||||
<div id="searchcontent" style="min-height: 100%; display: none;">
|
<div id="searchcontent" style="min-height: 100%; display: none;">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue