Fix ue comment view permission

This commit is contained in:
2026-09-09 14:35:44 +02:00
parent d47e1f394b
commit a17f9241f4
+11 -2
View File
@@ -26,6 +26,7 @@ from django.conf import settings
from django.core import validators
from django.db import models
from django.db.models import Exists, OuterRef
from django.db.models.query_utils import Q
from django.urls import reverse
from django.utils import timezone
from django.utils.functional import cached_property
@@ -159,7 +160,15 @@ class UECommentQuerySet(models.QuerySet):
# so he can view non-moderated comments
return self
if user.has_perm("pedagogy.view_uecomment"):
return self.filter(reports=None)
return self.filter(
Q(reports=None)
| Q(author=user)
| Q(
reports__in=UECommentReport.objects.filter(
comment=OuterRef("pk"), reporter__in=[user]
).all()
)
).distinct()
return self.filter(author=user)
def annotate_is_reported(self) -> Self:
@@ -261,7 +270,7 @@ class UEResult(models.Model):
class UECommentReport(models.Model):
"""Report an inapropriate comment."""
"""Report an inappropriate comment."""
comment = models.ForeignKey(
UEComment,