Files
MClogger/web/roles.py
2026-04-13 11:44:30 +02:00

30 lines
902 B
Python

# Legacy values (admin/member) are kept for backward compatibility.
GROUP_ROLE_LABELS = {
"group_owner": "Group Owner",
"group_admin": "Group Admin",
"moderator": "Moderator",
"viewer": "Viewer",
"auditor": "Auditor",
"admin": "Admin",
"member": "Member",
}
GROUP_ROLE_OPTIONS = [
("group_owner", GROUP_ROLE_LABELS["group_owner"]),
("group_admin", GROUP_ROLE_LABELS["group_admin"]),
("moderator", GROUP_ROLE_LABELS["moderator"]),
("viewer", GROUP_ROLE_LABELS["viewer"]),
("auditor", GROUP_ROLE_LABELS["auditor"]),
]
GROUP_ROLE_SET = {role for role, _ in GROUP_ROLE_OPTIONS} | {"admin", "member"}
GROUP_MANAGEMENT_ROLES = {"group_owner", "group_admin", "admin"}
def can_manage_group(role: str | None) -> bool:
return role in GROUP_MANAGEMENT_ROLES
def role_label(role: str | None) -> str:
return GROUP_ROLE_LABELS.get(role or "", "Unknown")