Source code for flask_unchained.bundles.admin.views.admin_security_controller

from http import HTTPStatus

from flask_unchained import request, route, lazy_gettext as _

try:
    from flask_unchained.bundles.security import SecurityController, current_user
except ImportError:
    from py_meta_utils import OptionalClass as SecurityController


[docs]class AdminSecurityController(SecurityController): """ Extends :class:`~flask_unchained.bundles.security.SecurityController`, to customize the template folder to use admin-specific templates. """ class Meta: template_folder = 'admin'
[docs] @route(endpoint='admin.logout') def logout(self): """ View function to log a user out. Supports html and json requests. """ if current_user.is_authenticated: self.security_service.logout_user() if request.is_json: return '', HTTPStatus.NO_CONTENT self.flash(_('flask_unchained.bundles.security:flash.logout'), category='success') return self.redirect('ADMIN_POST_LOGOUT_REDIRECT_ENDPOINT', 'SECURITY_POST_LOGOUT_REDIRECT_ENDPOINT')