Erweiterung Admin-Seite
Tabs eingeführt Grundlagendesign Benutzerverwalltung
This commit is contained in:
parent
98ed925cde
commit
aecb86f278
1
users.py
1
users.py
@ -29,6 +29,7 @@ class user:
|
||||
self.fullname = data["name"]
|
||||
self.password = data["password"]
|
||||
self.workhours = data["workhours"]
|
||||
self.username = data["username"]
|
||||
|
||||
def get_stamp_file(self):
|
||||
year = str(datetime.datetime.now().year)
|
||||
|
@ -2,3 +2,11 @@
|
||||
1744989837
|
||||
1744989913
|
||||
1744989917
|
||||
1744991287
|
||||
1744991291
|
||||
1744991475
|
||||
1744991478
|
||||
1744991773
|
||||
1744991776
|
||||
1744991910
|
||||
1744991912
|
||||
|
@ -14,3 +14,13 @@
|
||||
1744989909
|
||||
1744989914
|
||||
1744989916
|
||||
1744991169
|
||||
1744991171
|
||||
1744991288
|
||||
1744991291
|
||||
1744991473
|
||||
1744991477
|
||||
1744991770
|
||||
1744991777
|
||||
1745181046
|
||||
1745181050
|
||||
|
@ -6,3 +6,7 @@
|
||||
1744989907
|
||||
1744989915
|
||||
1744989916
|
||||
1744991290
|
||||
1744991291
|
||||
1745004502
|
||||
1745004504
|
||||
|
104
web_ui.py
104
web_ui.py
@ -3,6 +3,13 @@ from users import *
|
||||
from definitions import *
|
||||
import hashlib
|
||||
|
||||
class pageheader:
|
||||
def __init__(self, heading):
|
||||
self.heading = heading
|
||||
|
||||
ui.markdown(f"##{app_title} {app_version}")
|
||||
ui.markdown(f"###{self.heading}")
|
||||
|
||||
def cookie_hash(user, password):
|
||||
return hashlib.sha256(b"{user}{app.storage.user['id']}{password}").hexdigest()
|
||||
|
||||
@ -33,8 +40,11 @@ def page_login():
|
||||
else:
|
||||
ui.notify("Login fehlgeschlagen")
|
||||
|
||||
ui.markdown(f"## {app_title} {app_version}")
|
||||
ui.markdown("Bitte einloggen")
|
||||
#ui.markdown(f"## {app_title} {app_version}")
|
||||
#ui.markdown("Bitte einloggen")
|
||||
|
||||
pageheader("Bitte einloggen:")
|
||||
|
||||
with ui.grid(columns=2):
|
||||
ui.markdown("Benutzer:")
|
||||
username = ui.input('Benutzername')
|
||||
@ -53,22 +63,82 @@ def page_admin():
|
||||
|
||||
# Adminseite
|
||||
if browser_cookie == active_login:
|
||||
ui.markdown(f"##{app_title} {app_version}")
|
||||
ui.markdown("###Administrator Benutzer")
|
||||
with ui.grid(columns=2):
|
||||
ui.label("Benutzername des Adminstrators")
|
||||
admin_user = ui.input()
|
||||
admin_user.value = data["admin_user"]
|
||||
ui.label("Passwort des Adminsistrators")
|
||||
admin_password = ui.input(password=True)
|
||||
admin_password.value = data["admin_password"]
|
||||
pageheader("Administration")
|
||||
|
||||
ui.markdown("###Benutzerverwaltung")
|
||||
userlist = list_users()
|
||||
with ui.grid(columns=2):
|
||||
for name in userlist:
|
||||
ui.label(name)
|
||||
ui.button("Löschen")
|
||||
with ui.tabs() as tabs:
|
||||
admin_user = ui.tab('Admin Benutzer')
|
||||
users = ui.tab('Benutzer')
|
||||
settings = ui.tab('Einstellungen')
|
||||
|
||||
with ui.tab_panels(tabs, value=admin_user):
|
||||
with ui.tab_panel(admin_user):
|
||||
with ui.grid(columns=2):
|
||||
ui.label("Benutzername des Adminstrators")
|
||||
admin_user = ui.input()
|
||||
admin_user.value = data["admin_user"]
|
||||
ui.label("Passwort des Adminsistrators")
|
||||
admin_password = ui.input(password=True)
|
||||
admin_password.value = data["admin_password"]
|
||||
with ui.tab_panel(users):
|
||||
ui.markdown("###Benutzerverwaltung")
|
||||
userlist = list_users()
|
||||
workhours = [ ]
|
||||
with ui.row():
|
||||
def user_selection_changed(value):
|
||||
current_user = user(value)
|
||||
username_input.value = current_user.username
|
||||
fullname_input.value = current_user.fullname
|
||||
password_input.value = current_user.password
|
||||
usersettingscard.visible = True
|
||||
|
||||
workhours_select.set_options(list(current_user.workhours))
|
||||
workhours_select.value = list(current_user.workhours)[0]
|
||||
workinghourscard.visible = True
|
||||
with ui.column():
|
||||
ui.select(options=userlist, with_input=True, on_change=lambda e: user_selection_changed(e.value))
|
||||
ui.button("Neu")
|
||||
|
||||
with ui.column():
|
||||
with ui.card() as usersettingscard:
|
||||
ui.markdown("**Benutzereisntellungen**")
|
||||
with ui.grid(columns=2):
|
||||
|
||||
ui.label("Benutzername:")
|
||||
username_input = ui.input()
|
||||
ui.label("Voller Name:")
|
||||
fullname_input = ui.input()
|
||||
ui.label("Passwort")
|
||||
password_input = ui.input(password=True)
|
||||
with ui.row():
|
||||
ui.button("Speichern")
|
||||
ui.button("Löschen")
|
||||
|
||||
with ui.card() as workinghourscard:
|
||||
workhours = [ ]
|
||||
ui.markdown("**Arbeitszeiten**")
|
||||
with ui.grid(columns=2):
|
||||
ui.markdown("gültig ab:")
|
||||
workhours_select = ui.select(options=workhours)
|
||||
days = [ ]
|
||||
weekdays = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"]
|
||||
counter = 0
|
||||
for day in weekdays:
|
||||
ui.markdown(day)
|
||||
days.append(ui.input())
|
||||
counter = counter + 1
|
||||
ui.separator()
|
||||
with ui.grid(columns=2):
|
||||
ui.markdown("Urlaubstage")
|
||||
vacation_input = ui.input()
|
||||
with ui.row():
|
||||
ui.button("Speichern")
|
||||
ui.button("Löschen")
|
||||
ui.button("Neu")
|
||||
|
||||
|
||||
# Initial das Benutzerfeld unsichtbar machen
|
||||
usersettingscard.visible = False
|
||||
workinghourscard.visible = False
|
||||
|
||||
# Alternativ zur Loginseite navigieren
|
||||
else:
|
||||
|
Loading…
x
Reference in New Issue
Block a user