Coverage for src/comments_moderation/templatetags/moderation_tags.py: 100%
14 statements
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-09 14:54 +0000
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-09 14:54 +0000
1from django import template
2from django.conf import settings
3from django.contrib.auth.models import AnonymousUser, User
5from comments_moderation.rights import ModeratorUserRights
6from ptf_tools.templatetags.tools_helpers import get_authorized_collections
8from ..utils import is_comment_moderator
10register = template.Library()
13@register.filter
14def show_comments_nav(user: User | AnonymousUser) -> bool:
15 return (
16 not getattr(settings, "COMMENTS_DISABLED", False)
17 and isinstance(user, User)
18 and (is_comment_moderator(user) or get_authorized_collections(user) or user.is_superuser)
19 )
22@register.filter
23def can_manage_moderators(user: User) -> bool:
24 rights = ModeratorUserRights(user)
25 return (
26 len(rights.get_user_admin_collections()) > 0
27 or len(rights.get_user_staff_collections()) > 0
28 )