routes/home: configure brand name

This commit is contained in:
xeals 2022-09-03 15:03:29 +10:00
parent 9f1b765e06
commit aa86f5de48
Signed by: xeals
GPG Key ID: A498C7AF27EC6B5C
3 changed files with 11 additions and 6 deletions

View File

@ -15,6 +15,7 @@ class CoreConfig:
debug: bool = False
port: int = 5000
name: str = "Front page"
@dataclass
@ -43,8 +44,8 @@ class AppConfig:
class Config:
"""Top-level configuration."""
core: CoreConfig
oidc: OidcConfig
core: CoreConfig = field(default_factory=CoreConfig)
oidc: OidcConfig = field(default_factory=OidcConfig)
apps: Dict[str, AppConfig] = field(default_factory=dict)

View File

@ -7,7 +7,7 @@ from flask import Blueprint, current_app, render_template
from flask_pyoidc import OIDCAuthentication
from flask_pyoidc.user_session import UserSession
from frontpage.config import AppConfig, current_config
from frontpage.config import AppConfig, Config, current_config
def _allowed(items_from: Iterable[Any], items_in: Iterable[Any]) -> bool:
@ -31,10 +31,14 @@ def register(auth: OIDCAuthentication, auth_provider: str) -> Blueprint:
user_session = UserSession(flask.session)
groups: List[str] = user_session.userinfo["groups"]
apps: AppConfig = current_config().apps
config: Config = current_config()
name = config.core.name
apps = config.apps
allowed_apps = {
ident: a for ident, a in apps.items() if _allowed(a.groups, groups)
}
return render_template("home.html", apps=allowed_apps, groups=groups)
return render_template(
"home.html", brand_name=name, apps=allowed_apps, groups=groups
)
return routes

View File

@ -8,7 +8,7 @@
<body>
<nav class="nav">
<div class="nav-left">
<a class="brand" href="/">Front page</a>
<a class="brand" href="/">{{ brand_name }}</a>
</div>
</nav>
<main class="container">