Fotohandling, Port aus den Einstellungen
This commit is contained in:
parent
ac57af88b3
commit
1484ff537e
88
admin.py
88
admin.py
@ -35,9 +35,8 @@ def page_admin():
|
|||||||
with ui.tabs() as tabs:
|
with ui.tabs() as tabs:
|
||||||
|
|
||||||
time_overview = ui.tab('Zeitübersichten')
|
time_overview = ui.tab('Zeitübersichten')
|
||||||
admin_user = ui.tab('Admin Benutzer')
|
|
||||||
users = ui.tab('Benutzer')
|
|
||||||
settings = ui.tab('Einstellungen')
|
settings = ui.tab('Einstellungen')
|
||||||
|
users = ui.tab('Benutzer')
|
||||||
|
|
||||||
with ((ui.tab_panels(tabs, value=time_overview))):
|
with ((ui.tab_panels(tabs, value=time_overview))):
|
||||||
|
|
||||||
@ -444,25 +443,46 @@ Dies kann nicht rückgägig gemacht werden!''')
|
|||||||
button_update.move(timetable_header)
|
button_update.move(timetable_header)
|
||||||
|
|
||||||
|
|
||||||
with ui.tab_panel(admin_user):
|
with ui.tab_panel(settings):
|
||||||
with ui.grid(columns=2):
|
with ui.card():
|
||||||
def save_admin_settings():
|
ui.markdown("**Administrationsbenutzer:**")
|
||||||
output_dict = { }
|
with ui.grid(columns=2):
|
||||||
output_dict["admin_user"] = admin_user.value
|
def save_admin_settings():
|
||||||
output_dict["adnin_password"] = admin_password.value
|
output_dict = { }
|
||||||
json_dict = json.dumps(output_dict, indent=4)
|
output_dict["admin_user"] = admin_user.value
|
||||||
with open(f"{scriptpath}/{usersettingsfilename}", "w") as outputfile:
|
output_dict["admin_password"] = admin_password.value
|
||||||
outputfile.write(json_dict)
|
output_dict["port"] = port.value
|
||||||
ui.notify("Einstellungen gespeichert")
|
output_dict["secret"] = secret
|
||||||
|
json_dict = json.dumps(output_dict, indent=4)
|
||||||
|
with open(f"{scriptpath}/{usersettingsfilename}", "w") as outputfile:
|
||||||
|
outputfile.write(json_dict)
|
||||||
|
print(old_port)
|
||||||
|
print(int(port.value))
|
||||||
|
if old_port != int(port.value):
|
||||||
|
with ui.dialog() as dialog, ui.card():
|
||||||
|
ui.markdown("Damit die Porteinstellungen wirksam werden, muss der Server neu gestartet werden.")
|
||||||
|
ui.button("OK", on_click=lambda: dialog.close())
|
||||||
|
dialog.open()
|
||||||
|
ui.notify("Einstellungen gespeichert")
|
||||||
|
|
||||||
|
ui.markdown("Benutzername des Adminstrators")
|
||||||
|
admin_user = ui.input()
|
||||||
|
admin_user.value = data["admin_user"]
|
||||||
|
ui.markdown("Passwort des Adminsistrators")
|
||||||
|
admin_password = ui.input(password=True)
|
||||||
|
admin_password.value = data["admin_password"]
|
||||||
|
|
||||||
ui.label("Benutzername des Adminstrators")
|
secret = data["secret"]
|
||||||
admin_user = ui.input()
|
|
||||||
admin_user.value = data["admin_user"]
|
with ui.card():
|
||||||
ui.label("Passwort des Adminsistrators")
|
ui.markdown("**Systemeinstellungen:**")
|
||||||
admin_password = ui.input(password=True)
|
with ui.grid(columns=2):
|
||||||
admin_password.value = data["admin_password"]
|
|
||||||
ui.button("Speichern", on_click=save_admin_settings)
|
ui.markdown("Port:")
|
||||||
|
port = ui.input()
|
||||||
|
old_port = data["port"]
|
||||||
|
port.value = old_port
|
||||||
|
ui.button("Speichern", on_click=save_admin_settings)
|
||||||
|
|
||||||
with ui.tab_panel(users):
|
with ui.tab_panel(users):
|
||||||
ui.markdown("###Benutzerverwaltung")
|
ui.markdown("###Benutzerverwaltung")
|
||||||
@ -488,6 +508,12 @@ Dies kann nicht rückgägig gemacht werden!''')
|
|||||||
workhours_select.value = workhour_list[0]
|
workhours_select.value = workhour_list[0]
|
||||||
workinghourscard.visible = True
|
workinghourscard.visible = True
|
||||||
|
|
||||||
|
user_photo.set_source(current_user.photofile)
|
||||||
|
user_photo.force_reload()
|
||||||
|
|
||||||
|
user_photo.set_visibility(os.path.exists(current_user.photofile))
|
||||||
|
delete_button.set_visibility(os.path.exists(current_user.photofile))
|
||||||
|
|
||||||
|
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
@ -622,11 +648,33 @@ Dies kann nicht rückgägig gemacht werden!''')
|
|||||||
ui.markdown("Passwort")
|
ui.markdown("Passwort")
|
||||||
password_input = ui.input(password=True)
|
password_input = ui.input(password=True)
|
||||||
|
|
||||||
|
|
||||||
with ui.grid(columns=2):
|
with ui.grid(columns=2):
|
||||||
ui.button("Speichern", on_click=save_user_settings)
|
ui.button("Speichern", on_click=save_user_settings)
|
||||||
ui.button("Löschen", on_click=del_user)
|
ui.button("Löschen", on_click=del_user)
|
||||||
|
|
||||||
|
with ui.card() as photocard:
|
||||||
|
ui.markdown('**Foto**')
|
||||||
|
current_user = user(user_selection.value)
|
||||||
|
user_photo = ui.image(current_user.photofile)
|
||||||
|
|
||||||
|
def handle_upload(e: events.UploadEventArguments):
|
||||||
|
picture = e.content.read()
|
||||||
|
current_user = user(user_selection.value)
|
||||||
|
with open(current_user.photofile, 'wb') as outoutfile:
|
||||||
|
outoutfile.write(picture)
|
||||||
|
uploader.reset()
|
||||||
|
user_selection_changed()
|
||||||
|
|
||||||
|
|
||||||
|
def del_photo():
|
||||||
|
current_user = user(user_selection.value)
|
||||||
|
current_user.delete_photo()
|
||||||
|
user_selection_changed()
|
||||||
|
|
||||||
|
uploader = ui.upload(label="Foto hochladen", on_upload=handle_upload).props('accept=.jpg|.jpeg').classes('max-w-full')
|
||||||
|
delete_button = ui.button("Löschen", on_click=del_photo)
|
||||||
|
|
||||||
|
|
||||||
with ui.card() as workinghourscard:
|
with ui.card() as workinghourscard:
|
||||||
workhours = []
|
workhours = []
|
||||||
ui.markdown("**Arbeitszeiten**")
|
ui.markdown("**Arbeitszeiten**")
|
||||||
|
18
main.py
18
main.py
@ -5,5 +5,21 @@ from admin import *
|
|||||||
from login import *
|
from login import *
|
||||||
from users import *
|
from users import *
|
||||||
from touchscreen import *
|
from touchscreen import *
|
||||||
|
from definitions import *
|
||||||
|
import json
|
||||||
|
|
||||||
ui.run(port=8090, storage_secret="test")
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
# Einstellungen einlesen
|
||||||
|
with open(f"{scriptpath}/settings.json") as json_file:
|
||||||
|
data = json.load(json_file)
|
||||||
|
|
||||||
|
port = int(data["port"])
|
||||||
|
secret = data["secret"]
|
||||||
|
|
||||||
|
ui.run(port=port, storage_secret=secret)
|
||||||
|
|
||||||
|
if __name__ in ("__main__", "__mp_main__"):
|
||||||
|
main()
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
"admin_user": "admin",
|
"admin_user": "admin",
|
||||||
"admin_password": "123456"
|
"admin_password": "123456",
|
||||||
|
"port": "8090",
|
||||||
|
"secret": "ftgzuhjikg,mt5jn46uzer8sfi9okrmtzjhndfierko5zltjhdgise"
|
||||||
}
|
}
|
BIN
users/testuser3/photo.jpg
Normal file
BIN
users/testuser3/photo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 854 KiB |
Loading…
x
Reference in New Issue
Block a user