Source code for maeser.controllers.manage_users_view

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

© 2024 Carson Bush

This file is part of Maeser.

Maeser is free software: you can redistribute it and/or modify it under the terms of
the GNU Lesser General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

Maeser is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with
Maeser. If not, see <https://www.gnu.org/licenses/>.
"""

from flask import render_template
from maeser.user_manager import UserManager

[docs] def controller( user_manager: UserManager, app_name: str | None = None, main_logo_light: str | None = None, main_logo_dark: str | None = None, chat_head: str | None = None, favicon: str | None = None, ): """ Render the user management page. Args: user_manager (UserManager): The user manager instance. app_name (str | None, optional): The name of the application. Defaults to None. main_logo_light (str | None, optional): The light version of the main logo. Defaults to None. main_logo_dark (str | None, optional): The dark version of the main logo. Defaults to None. chat_head (str | None, optional): The chat head image URL. Defaults to None. favicon (str | None, optional): The favicon image URL. Defaults to None. 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_light=main_logo_light, main_logo_dark=main_logo_dark, chat_head=chat_head, favicon=favicon, app_name=app_name if app_name else 'Maeser', # Builtin functions not normally in Jinja templates len=len, )