- Introduction of Partner Admin role in combination with 'Management Partner' type.
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
from flask import current_app, render_template
|
||||
from flask_security import current_user
|
||||
from flask_mailman import EmailMessage
|
||||
from itsdangerous import URLSafeTimedSerializer
|
||||
import socket
|
||||
|
||||
from common.models.user import Role
|
||||
from common.utils.nginx_utils import prefixed_url_for
|
||||
|
||||
|
||||
@@ -93,3 +95,44 @@ def test_smtp_connection():
|
||||
except Exception as e:
|
||||
current_app.logger.error(f"Failed to connect to SMTP server: {str(e)}")
|
||||
return False
|
||||
|
||||
|
||||
def get_current_user_roles():
|
||||
"""Get the roles of the currently authenticated user.
|
||||
|
||||
Returns:
|
||||
List of Role objects or empty list if no user is authenticated
|
||||
"""
|
||||
if current_user.is_authenticated:
|
||||
return current_user.roles
|
||||
return []
|
||||
|
||||
|
||||
def current_user_has_role(role_name):
|
||||
"""Check if the current user has the specified role.
|
||||
|
||||
Args:
|
||||
role_name (str): Name of the role to check
|
||||
|
||||
Returns:
|
||||
bool: True if user has the role, False otherwise
|
||||
"""
|
||||
if not current_user.is_authenticated:
|
||||
return False
|
||||
|
||||
return any(role.name == role_name for role in current_user.roles)
|
||||
|
||||
|
||||
def current_user_roles():
|
||||
"""Get the roles of the currently authenticated user.
|
||||
|
||||
Returns:
|
||||
List of Role objects or empty list if no user is authenticated
|
||||
"""
|
||||
if current_user.is_authenticated:
|
||||
return current_user.roles
|
||||
return []
|
||||
|
||||
|
||||
def all_user_roles():
|
||||
roles = [(role.id, role.name) for role in Role.query.all()]
|
||||
|
||||
Reference in New Issue
Block a user