Behandlungroutinen für leeres Benutzerverzeichnis und fehlende settings.json begonnen.

This commit is contained in:
Alexander Malzkuhn 2025-05-05 13:32:04 +02:00
parent 327b4f1666
commit 5d684ee9ef
4 changed files with 18 additions and 10 deletions

View File

@ -82,8 +82,9 @@ def page_admin():
userlist = list_users() userlist = list_users()
ui.markdown("Benutzer:") ui.markdown("Benutzer:")
time_user = ui.select(options=userlist, value=userlist[0], on_change=update_user)
time_user = ui.select(options=userlist, on_change=update_user)
time_user.value = userlist[0]
user_to_select_for_start = userlist[0] user_to_select_for_start = userlist[0]
current_year = datetime.datetime.now().year current_year = datetime.datetime.now().year

View File

@ -18,7 +18,11 @@ def homepage():
if login_is_valid(): if login_is_valid():
ui.page_title("Zeiterfassung") ui.page_title("Zeiterfassung")
current_user = user(app.storage.user["active_user"]) try:
current_user = user(app.storage.user["active_user"])
except:
del(app.storage.user["active_user"])
ui.navigate.to('/')
pageheader(f"Willkommen, {current_user.fullname}") pageheader(f"Willkommen, {current_user.fullname}")
today = datetime.datetime.now() today = datetime.datetime.now()

View File

@ -14,12 +14,12 @@ import json
def main(): def main():
# Einstellungen einlesen # Einstellungen einlesen
with open(f"{scriptpath}/settings.json") as json_file: data = load_adminsettings()
data = json.load(json_file)
port = int(data["port"]) port = int(data["port"])
secret = data["secret"] secret = data["secret"]
list_users()
homepage() homepage()
def startup_message(): def startup_message():

View File

@ -375,14 +375,19 @@ class user:
print(total_time) print(total_time)
print(in_time_stamp) print(in_time_stamp)
return([total_time, in_time_stamp]) return [total_time, in_time_stamp]
# Benutzer auflisten # Benutzer auflisten
def list_users(): def list_users():
if not os.path.exists(userfolder):
os.makedirs(userfolder)
users = [d for d in os.listdir(userfolder) if os.path.isdir(os.path.join(userfolder, d))] users = [d for d in os.listdir(userfolder) if os.path.isdir(os.path.join(userfolder, d))]
users.sort() users.sort()
return users return users
# Admineinstellungen auslesen # Admineinstellungen auslesen
def load_adminsettings(): def load_adminsettings():
# Settingsdatei einlesen # Settingsdatei einlesen
@ -390,8 +395,6 @@ def load_adminsettings():
with open(f"{scriptpath}/{usersettingsfilename}") as json_file: with open(f"{scriptpath}/{usersettingsfilename}") as json_file:
data = json.load(json_file) data = json.load(json_file)
json_file.close() json_file.close()
return(data) return data
except: except:
return(-1) return -1