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.fullname = data["name"]
|
||||||
self.password = data["password"]
|
self.password = data["password"]
|
||||||
self.workhours = data["workhours"]
|
self.workhours = data["workhours"]
|
||||||
|
self.username = data["username"]
|
||||||
|
|
||||||
def get_stamp_file(self):
|
def get_stamp_file(self):
|
||||||
year = str(datetime.datetime.now().year)
|
year = str(datetime.datetime.now().year)
|
||||||
|
@ -2,3 +2,11 @@
|
|||||||
1744989837
|
1744989837
|
||||||
1744989913
|
1744989913
|
||||||
1744989917
|
1744989917
|
||||||
|
1744991287
|
||||||
|
1744991291
|
||||||
|
1744991475
|
||||||
|
1744991478
|
||||||
|
1744991773
|
||||||
|
1744991776
|
||||||
|
1744991910
|
||||||
|
1744991912
|
||||||
|
@ -14,3 +14,13 @@
|
|||||||
1744989909
|
1744989909
|
||||||
1744989914
|
1744989914
|
||||||
1744989916
|
1744989916
|
||||||
|
1744991169
|
||||||
|
1744991171
|
||||||
|
1744991288
|
||||||
|
1744991291
|
||||||
|
1744991473
|
||||||
|
1744991477
|
||||||
|
1744991770
|
||||||
|
1744991777
|
||||||
|
1745181046
|
||||||
|
1745181050
|
||||||
|
@ -6,3 +6,7 @@
|
|||||||
1744989907
|
1744989907
|
||||||
1744989915
|
1744989915
|
||||||
1744989916
|
1744989916
|
||||||
|
1744991290
|
||||||
|
1744991291
|
||||||
|
1745004502
|
||||||
|
1745004504
|
||||||
|
104
web_ui.py
104
web_ui.py
@ -3,6 +3,13 @@ from users import *
|
|||||||
from definitions import *
|
from definitions import *
|
||||||
import hashlib
|
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):
|
def cookie_hash(user, password):
|
||||||
return hashlib.sha256(b"{user}{app.storage.user['id']}{password}").hexdigest()
|
return hashlib.sha256(b"{user}{app.storage.user['id']}{password}").hexdigest()
|
||||||
|
|
||||||
@ -33,8 +40,11 @@ def page_login():
|
|||||||
else:
|
else:
|
||||||
ui.notify("Login fehlgeschlagen")
|
ui.notify("Login fehlgeschlagen")
|
||||||
|
|
||||||
ui.markdown(f"## {app_title} {app_version}")
|
#ui.markdown(f"## {app_title} {app_version}")
|
||||||
ui.markdown("Bitte einloggen")
|
#ui.markdown("Bitte einloggen")
|
||||||
|
|
||||||
|
pageheader("Bitte einloggen:")
|
||||||
|
|
||||||
with ui.grid(columns=2):
|
with ui.grid(columns=2):
|
||||||
ui.markdown("Benutzer:")
|
ui.markdown("Benutzer:")
|
||||||
username = ui.input('Benutzername')
|
username = ui.input('Benutzername')
|
||||||
@ -53,22 +63,82 @@ def page_admin():
|
|||||||
|
|
||||||
# Adminseite
|
# Adminseite
|
||||||
if browser_cookie == active_login:
|
if browser_cookie == active_login:
|
||||||
ui.markdown(f"##{app_title} {app_version}")
|
pageheader("Administration")
|
||||||
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"]
|
|
||||||
|
|
||||||
ui.markdown("###Benutzerverwaltung")
|
with ui.tabs() as tabs:
|
||||||
userlist = list_users()
|
admin_user = ui.tab('Admin Benutzer')
|
||||||
with ui.grid(columns=2):
|
users = ui.tab('Benutzer')
|
||||||
for name in userlist:
|
settings = ui.tab('Einstellungen')
|
||||||
ui.label(name)
|
|
||||||
ui.button("Löschen")
|
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
|
# Alternativ zur Loginseite navigieren
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user