
py-Dateien restrukturiert Arbeitszeitenfunktion hinzugefügt Rangefunktion für Abwesenheit hinzugefügt
81 lines
1.8 KiB
Python
81 lines
1.8 KiB
Python
from datetime import datetime
|
|
|
|
from nicegui import ui, app
|
|
|
|
from users import *
|
|
from definitions import *
|
|
from calendar import monthrange
|
|
|
|
import hashlib
|
|
import calendar
|
|
import locale
|
|
|
|
locale.setlocale(locale.LC_ALL, '')
|
|
|
|
class pageheader:
|
|
def __init__(self, heading):
|
|
self.heading = heading
|
|
|
|
ui.markdown(f"##{app_title} {app_version}")
|
|
ui.markdown(f"###{self.heading}")
|
|
|
|
class ValueBinder:
|
|
def __init__(self):
|
|
self.value = ""
|
|
|
|
def cookie_hash(user, password):
|
|
return hashlib.sha256(b"{user}{app.storage.user['id']}{password}").hexdigest()
|
|
|
|
def load_adminsettings():
|
|
# Settingsdatei einlesen
|
|
try:
|
|
with open(f"{scriptpath}/{usersettingsfilename}") as json_file:
|
|
data = json.load(json_file)
|
|
json_file.close()
|
|
return(data)
|
|
except:
|
|
return(-1)
|
|
|
|
def convert_seconds_to_hours(seconds):
|
|
if seconds < 0:
|
|
sign = "-"
|
|
seconds = seconds * (-1)
|
|
else:
|
|
sign = ""
|
|
hours = seconds // 3600
|
|
remaining_seconds = seconds - hours * 3600
|
|
minutes = remaining_seconds // 60
|
|
remaining_seconds = remaining_seconds - minutes * 60
|
|
if remaining_seconds > 0 and sign != "-":
|
|
minutes = minutes + 1
|
|
if hours < 10:
|
|
hours = "0" + str(hours)
|
|
else:
|
|
hours = str(hours)
|
|
if minutes < 10:
|
|
minutes = "0" + str(minutes)
|
|
else:
|
|
minutes = str(minutes)
|
|
|
|
if sign == "-":
|
|
return(f"-{hours}:{minutes}")
|
|
else:
|
|
return(f"{hours}:{minutes}")
|
|
|
|
@ui.page('/userlist')
|
|
def page_userlist():
|
|
|
|
def click_button(button):
|
|
ui.notify(button)
|
|
|
|
ui.markdown(f"#{app_title} {app_version}")
|
|
|
|
userlist = list_users()
|
|
buttons = { }
|
|
|
|
for name in userlist:
|
|
button = ui.button(text=name, on_click=lambda name=name:click_button(name) )
|
|
buttons[name] = button
|
|
|
|
|