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

1from django import template 

2from django.conf import settings 

3from django.contrib.auth.models import AnonymousUser, User 

4 

5from comments_moderation.rights import ModeratorUserRights 

6from ptf_tools.templatetags.tools_helpers import get_authorized_collections 

7 

8from ..utils import is_comment_moderator 

9 

10register = template.Library() 

11 

12 

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 ) 

20 

21 

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 )