Urlaubsübersicht hinzugefügt
This commit is contained in:
parent
415582e084
commit
3e3537c8b8
45
api.py
45
api.py
@ -15,7 +15,7 @@ import calendar
|
|||||||
|
|
||||||
# Überblicksseite zum Ausdrucken oder als PDF speichern
|
# Überblicksseite zum Ausdrucken oder als PDF speichern
|
||||||
@ui.page('/api/overview/month/{username}/{year}-{month}')
|
@ui.page('/api/overview/month/{username}/{year}-{month}')
|
||||||
def page(username: str, year: int, month: int):
|
def page_overview_month(username: str, year: int, month: int):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
current_user = user(username)
|
current_user = user(username)
|
||||||
@ -224,3 +224,46 @@ def page(username: str, year: int, month: int):
|
|||||||
ui.markdown('#Fehler')
|
ui.markdown('#Fehler')
|
||||||
ui.markdown(str(type(e)))
|
ui.markdown(str(type(e)))
|
||||||
ui.markdown(str(e))
|
ui.markdown(str(e))
|
||||||
|
|
||||||
|
@ui.page('/api/overview/vacation/{username}/{year}-{month}-{day}')
|
||||||
|
def page_overview_vacation(username: str, year: int, month: int, day: int):
|
||||||
|
try:
|
||||||
|
current_user = user(username)
|
||||||
|
|
||||||
|
ui.page_title(f"Urlaubsanspruch für {current_user.fullname} für {year}")
|
||||||
|
ui.label(datetime.now().strftime('%d.%m.%Y')).classes('absolute top-5 right-5')
|
||||||
|
ui.space()
|
||||||
|
ui.markdown(f'#Urlaubsanspruch für {current_user.fullname} für {year}')
|
||||||
|
|
||||||
|
pad_x = 4
|
||||||
|
pad_y = 0
|
||||||
|
|
||||||
|
with ui.grid(columns='auto auto').classes(f'gap-0 border px-0 py-0'):
|
||||||
|
ui.markdown(f"Urlaubsübersicht für {year}:").classes(f'border px-{pad_x} py-{pad_y}')
|
||||||
|
vacationclaim = int(current_user.get_vacation_claim(year, month, day))
|
||||||
|
ui.markdown(f"{vacationclaim} Tage").classes(f'text-right border px-{pad_x} py-{pad_y}')
|
||||||
|
ui.markdown("Registrierte Urlaubstage").classes(f'border px-{pad_x} py-{pad_y} col-span-2')
|
||||||
|
vacation_counter = 0
|
||||||
|
try:
|
||||||
|
for i in range(1, 13):
|
||||||
|
absence_entries = current_user.get_absence(year, i)
|
||||||
|
for day, absence_type in absence_entries.items():
|
||||||
|
print(day + "." + str(i) + " " + absence_type)
|
||||||
|
if absence_type == "U":
|
||||||
|
day_in_list = datetime(int(year), int(i), int(day)).strftime("%d.%m.%Y")
|
||||||
|
ui.markdown(day_in_list).classes(f'border px-{pad_x} py-{pad_y}')
|
||||||
|
ui.markdown("-1 Tag").classes(f'border px-{pad_x} py-{pad_y} text-center')
|
||||||
|
vacation_counter += 1
|
||||||
|
except Exception as e:
|
||||||
|
print(str(type(e).__name__) + " " + str(e))
|
||||||
|
ui.markdown("**Resturlaub:**").classes(f'border px-{pad_x} py-{pad_y}')
|
||||||
|
ui.markdown(f'**{str(vacationclaim - vacation_counter)} Tage**').classes(f'border px-{pad_x} py-{pad_y} text-center')
|
||||||
|
except Exception as e:
|
||||||
|
print(str(type(e).__name__) + " " + str(e))
|
||||||
|
if type(e) == UnboundLocalError:
|
||||||
|
ui.markdown('#Fehler')
|
||||||
|
ui.markdown('Benutzer existiert nicht')
|
||||||
|
else:
|
||||||
|
ui.markdown('#Fehler')
|
||||||
|
ui.markdown(str(type(e)))
|
||||||
|
ui.markdown(str(e))
|
Loading…
x
Reference in New Issue
Block a user