Add some new fields for users table
This commit is contained in:
59
app/main__.py
Normal file
59
app/main__.py
Normal file
@@ -0,0 +1,59 @@
|
||||
# app/main.py
|
||||
import streamlit as st
|
||||
|
||||
from auth import (
|
||||
init_auth_db,
|
||||
ensure_logged_in,
|
||||
authed_header,
|
||||
current_user,
|
||||
create_user, # falls du Admin-Funktion brauchst
|
||||
)
|
||||
|
||||
|
||||
def content_for(role: str, username: str):
|
||||
st.header("Dashboard")
|
||||
st.info(f"Willkommen, {username}!")
|
||||
|
||||
if role == "admin":
|
||||
st.subheader("Admin-Bereich")
|
||||
st.write("Nur Admins sehen das hier.")
|
||||
with st.expander("Neuen Nutzer anlegen"):
|
||||
new_u = st.text_input("Neuer Username", key="new_u")
|
||||
new_p = st.text_input("Neues Passwort", type="password", key="new_p")
|
||||
new_role = st.selectbox("Rolle", ["user", "admin"], key="new_role")
|
||||
if st.button("Anlegen"):
|
||||
if new_u and new_p:
|
||||
ok = create_user(new_u.strip(), new_p, new_role)
|
||||
st.success("Nutzer angelegt.") if ok else st.error(
|
||||
"Username bereits vorhanden."
|
||||
)
|
||||
else:
|
||||
st.warning("Bitte Username und Passwort eingeben.")
|
||||
|
||||
st.subheader("Dein Bereich")
|
||||
st.write(f"Personalisierter Content für **{username}**.")
|
||||
# fachliche Inhalte …
|
||||
|
||||
|
||||
def main():
|
||||
st.set_page_config(
|
||||
page_title="Intranet-Portal",
|
||||
page_icon="🔒",
|
||||
layout="centered",
|
||||
)
|
||||
|
||||
init_auth_db()
|
||||
|
||||
# hier wird entweder:
|
||||
# - st.session_state genutzt, oder
|
||||
# - ?session_id=... aus URL geprüft, oder
|
||||
# - Login-Form gezeigt (und Script gestoppt)
|
||||
ensure_logged_in()
|
||||
|
||||
authed_header()
|
||||
username, role = current_user()
|
||||
content_for(role, username)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user