Source code for maeser.controllers.manage_users_view

# SPDX-License-Identifier: LGPL-3.0-or-later

"""
This module contains the controller for rendering the user management page.
"""

from flask import render_template
from maeser.user_manager import UserManager


[docs] def controller( user_manager: UserManager, app_name: str = "Maeser", main_logo_chat: str | None = None, favicon: str | None = None, ) -> str: """ Render the user management page. Args: user_manager (UserManager): The user manager instance. app_name (str): The name of the application. Defaults to 'Maeser'. main_logo_chat (str | None): The dark version of the main logo. Defaults to None, in which case maeser/data/static/maeser-dark-header.png is used. favicon (str | None): The favicon image URL. Defaults to None, in which case maeser/data/static/maeser.png is used. Returns: str: The rendered HTML for the user management page. """ return render_template( template_name_or_list="user_management.html", user_manager=user_manager, users=user_manager.list_users(), main_logo_chat=main_logo_chat, favicon=favicon, app_name=app_name, # Builtin functions not normally in Jinja templates len=len, )