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 debug: bool = False
port: int = 5000 port: int = 5000
name: str = "Front page"
@dataclass @dataclass
@ -43,8 +44,8 @@ class AppConfig:
class Config: class Config:
"""Top-level configuration.""" """Top-level configuration."""
core: CoreConfig core: CoreConfig = field(default_factory=CoreConfig)
oidc: OidcConfig oidc: OidcConfig = field(default_factory=OidcConfig)
apps: Dict[str, AppConfig] = field(default_factory=dict) 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 import OIDCAuthentication
from flask_pyoidc.user_session import UserSession 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: 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) user_session = UserSession(flask.session)
groups: List[str] = user_session.userinfo["groups"] 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 = { allowed_apps = {
ident: a for ident, a in apps.items() if _allowed(a.groups, groups) 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 return routes

View File

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