Erste TODOs definiert für die Anpassungen

This commit is contained in:
Alexander Malzkuhn 2025-10-24 12:41:20 +02:00
parent be3e1ffb53
commit 3035bb384c
5 changed files with 159 additions and 3 deletions

View File

@ -36,7 +36,8 @@ status_out = "ausgestempelt"
# Standardadmin Settings: # Standardadmin Settings:
standard_adminsettings = { "admin_user": "admin", standard_adminsettings = { "admin_user": {
0: "admin"},
"admin_password": "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918", "admin_password": "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918",
"port": "8090", "port": "8090",
"secret": "ftgzuhjikg,mt5jn46uzer8sfi9okrmtzjhndfierko5zltjhdgise", "secret": "ftgzuhjikg,mt5jn46uzer8sfi9okrmtzjhndfierko5zltjhdgise",

View File

@ -20,10 +20,11 @@ def page_login():
def login(): def login():
nonlocal data nonlocal data
if username.value == data["admin_user"]: if username.value in get_admin_list():
print(f"Input Hash: {hash_password(password.value)} gespeichert: {data['admin_password']}") #TODO Loginprozess anpassen_
if hash_password(password.value) == data["admin_password"]: if hash_password(password.value) == data["admin_password"]:
app.storage.user['authenticated'] = True app.storage.user['authenticated'] = True
#TODO Weiterleitungsauswahl ob zum Stempeln oder Administration
ui.navigate.to("/admin") ui.navigate.to("/admin")
else: else:
ui.notify("Login fehlgeschlagen") ui.notify("Login fehlgeschlagen")

View File

@ -578,3 +578,8 @@ def write_adminsetting(key: str, value):
except KeyError: except KeyError:
print(f"Kein Einstellungsschlüssel {key} vorhanden.") print(f"Kein Einstellungsschlüssel {key} vorhanden.")
def get_admin_list():
adnin_settings = load_adminsettings()
admin_list = admin_settings["admin_user"]
return admin_list.values()

131
requirements.txt Normal file
View File

@ -0,0 +1,131 @@
aiofiles==24.1.0
aiohappyeyeballs==2.6.1
aiohttp==3.11.16
aiosignal==1.3.2
altgraph==0.17.4
annotated-types==0.7.0
anyio==4.9.0
attrs==25.3.0
Babel==2.10.3
beautifulsoup4==4.11.2
bidict==0.23.1
blinker==1.5
Brlapi==0.8.4
certifi==2025.1.31
chardet==5.1.0
charset-normalizer==3.0.1
click==8.1.8
crit==3.17.1
cryptography==38.0.4
cupshelpers==1.0
dbus-python==1.3.2
distro==1.8.0
distro-info==1.5+deb12u1
docker==5.0.3
docker-compose==1.29.2
dockerpty==0.4.1
docopt==0.6.2
docutils==0.21.2
easygui==0.98.1
fastapi==0.115.12
feedgenerator==2.0.0
frozenlist==1.5.0
gitdb==4.0.9
GitPython==3.1.30
gpg==1.18.0
h11==0.14.0
html5lib==1.1
httpcore==1.0.8
httplib2==0.20.4
httptools==0.6.4
httpx==0.28.1
idna==3.3
ifaddr==0.2.0
imaplib2==3.5
invoke==2.0.0
itsdangerous==2.2.0
Jinja2==3.1.6
jsonpointer==2.3
jsonschema==4.10.3
lazr.restfulclient==0.14.5
lazr.uri==1.0.6
louis==3.24.0
lxml==4.9.2
Mako==1.2.4.dev0
Markdown==3.4.1
markdown-it-py==2.1.0
markdown2==2.5.3
MarkupSafe==2.1.2
mdurl==0.1.2
menulibre==2.2.2
multidict==6.4.3
nicegui==2.15.0
ntpsec==1.2.2
numpy==2.2.5
oauthlib==3.2.2
olefile==0.46
opencv-python==4.11.0.86
orjson==3.10.16
packaging==25.0
pelican==4.8.0
photocollage==1.4.5
Pillow==9.4.0
playsound3==3.2.3
propcache==0.3.1
protobuf==4.21.12
pscript==0.7.7
psutil==5.9.4
pycairo==1.20.1
pycups==2.0.1
pydantic==2.11.3
pydantic_core==2.33.1
pyenchant==3.2.2
Pygments==2.19.1
PyGObject==3.42.2
pygtkspellcheck==4.0.5
pyinstaller==6.13.0
pyinstaller-hooks-contrib==2025.4
PyJWT==2.6.0
pyparsing==3.0.9
pyrsistent==0.18.1
pysmbc==1.0.23
python-apt==2.6.0
python-dateutil==2.8.2
python-dotenv==1.1.0
python-engineio==4.12.0
python-multipart==0.0.20
python-socketio==5.13.0
pytz==2022.7.1
pyxdg==0.28
PyYAML==6.0.2
requests==2.32.3
rfc3987==1.3.8
rich==13.3.1
roman==3.3
segno==1.6.6
simple-websocket==1.1.0
six==1.16.0
smmap==5.0.0
sniffio==1.3.1
soupsieve==2.3.2
starlette==0.46.2
texttable==1.6.7
typing-inspection==0.4.0
typing_extensions==4.13.2
Unidecode==1.3.6
uritemplate==4.1.1
urllib3==2.4.0
uvicorn==0.34.1
uvloop==0.21.0
vboxapi==1.0
vbuild==0.8.2
wadllib==1.3.6
watchfiles==1.0.5
webcolors==1.11.1
webencodings==0.5.1
websocket-client==1.2.3
websockets==15.0.1
wsproto==1.2.0
wxPython==4.2.0
xdg==5
yarl==1.19.0

18
settings.json Normal file
View File

@ -0,0 +1,18 @@
{
"admin_user": {
0: "admin"
},
"admin_password": "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918",
"port": "8090",
"secret": "ftgzuhjikg,mt5jn46uzer8sfi9okrmtzjhndfierko5zltjhdgise",
"times_on_touchscreen": true,
"photos_on_touchscreen": true,
"touchscreen": true,
"picture_height": 200,
"button_height": 300,
"user_notes": true,
"vacation_application": true,
"backup_folder": "/home/alexander/Dokumente/Python/Zeiterfassung/backup",
"backup_api_key": "6fed93dc4a35308b2c073a8a6f3284afe1fb9946",
"holidays": {}
}