zeiterfassung/touchscreen.py
Alexander Malzkuhn 446e588d70 Feiertagshandling erweitert
Automatische Eintragungen für gesetzliche Feiertage hinzugefügt
Feiertagsauswertung in API
2025-05-04 21:08:52 +02:00

60 lines
1.7 KiB
Python

from datetime import datetime
from nicegui import ui, app
from users import *
from definitions import *
from web_ui import *
from calendar import monthrange
import hashlib
import calendar
import locale
@ui.page('/touchscreen')
def page_touchscreen():
def button_click(name):
#nonlocal buttons
current_user = user(name)
current_user.timestamp()
#if current_user.stamp_status() == status_in:
# buttons[name].props('color=green')
# ui.notify(status_in)
#else:
# buttons[name].props('color=red')
# ui.notify(status_out)
user_buttons.refresh()
pageheader("Bitte User auswählen:")
userlist = list_users()
number_of_users = len(userlist)
buttons = { }
@ui.refreshable
def user_buttons():
if number_of_users > 5:
number_of_columns = 5
else:
number_of_columns = number_of_users
with ui.grid(columns=number_of_columns):
for name in userlist:
current_user = user(name)
current_button = ui.button(on_click=lambda name=name: button_click(name))
with current_button:
try:
with open(current_user.photofile, 'r') as file:
pass
file.close()
ui.image(current_user.photofile)
except:
pass
ui.label(current_user.fullname)
if current_user.stamp_status() == status_in:
current_button.props('color=green')
else:
current_button.props('color=red')
buttons[name] = current_button
user_buttons()