25 lines
726 B
Python
25 lines
726 B
Python
import importlib
|
|
|
|
def get_dashboard_renderer(code: str):
|
|
"""
|
|
Liefert die passende Render-Funktion zum Dashboard-Code.
|
|
- "home" -> interne Funktion home_dashboard
|
|
- alles andere -> Modul app.dashboards.<code> mit Funktion render(username, role)
|
|
"""
|
|
if code == "home":
|
|
return home_dashboard
|
|
|
|
module_name = f"app.dashboards.{code}"
|
|
try:
|
|
module = importlib.import_module(module_name)
|
|
except ModuleNotFoundError:
|
|
# Zum Debuggen:
|
|
st.error(f"Modul '{module_name}' wurde nicht gefunden.")
|
|
return None
|
|
|
|
if not hasattr(module, "render"):
|
|
st.error(f"Modul '{module_name}' hat keine Funktion render().")
|
|
return None
|
|
|
|
return module.render
|