Ablehnungsfunktion

Abfangen von leerem Antrag
This commit is contained in:
Alexander Malzkuhn 2025-05-28 12:43:36 +02:00
parent a12bd1e15a
commit 1a49e0963e
2 changed files with 19 additions and 2 deletions

View File

@ -676,7 +676,7 @@ Dies kann nicht rückgängig gemacht werden!''')
'vacation_remaining': f'{actual_user.get_vacation_claim() - actual_user.count_absence_days("U", startdate_dt.year)} Tage',
'vacation_remaining_after_submission': f'{actual_user.get_vacation_claim() - actual_user.count_absence_days("U", startdate_dt.year) - vacation_duration } Tage'})
global vacation_table
vacation_table = ui.table(columns=va_columns, rows=va_rows, row_key='key', selection='multiple', column_defaults={'align': 'left', 'sortable': True})
vacation_table = ui.table(columns=va_columns, rows=va_rows, row_key='key', selection='single', column_defaults={'align': 'left', 'sortable': True})
va_table()
def approve_vacation():
@ -701,12 +701,27 @@ Dies kann nicht rückgängig gemacht werden!''')
ui.notify("Fehler beim Entfernen des Urlaubsantrages nach dem Eintragen.")
va_table.refresh()
timetable.refresh()
overview_table.refresh()
def deny_vacation():
for selection in vacation_table.selected:
key = selection["key"]
username = key.split("-")[0]
index = key.split("-")[1]
actual_user = user(username)
try:
retract_result = actual_user.revoke_vacation_application(index)
ui.notify(f"Urlaubsantrag vom {selection['start']} bis {selection['end']} für {actual_user.fullname} entfernt.")
except IndexError:
ui.notify("Fehler beim Entfernen des Urlaubsantrages. Ggf. wurde dieser zurückgezogen.")
va_table.refresh()
overview_table.refresh()
ui.button("Aktualisieren", on_click=va_table.refresh)
ui.separator()
with ui.grid(columns=2):
ui.button("Genehmigen", on_click=approve_vacation)
ui.button("Ablehnen")
ui.button("Ablehnen", on_click=deny_vacation)
with ui.tab_panel(settings):
with ui.grid(columns='auto auto'):

View File

@ -230,6 +230,8 @@ def homepage():
ui.label("Urlaub für folgenden Zeitraum beantragen:")
vacation_date = ui.date().props('range today-btn')
def vacation_submission():
if vacation_date.value == None:
return None
try:
current_user.vacation_application(vacation_date.value["from"], vacation_date.value["to"])
except TypeError: