From 14460eb0a6bee55bd8abdc83a85d47f1b8ae01dc Mon Sep 17 00:00:00 2001 From: didayolo Date: Thu, 5 Feb 2026 15:02:38 +0100 Subject: [PATCH 1/2] More flexible server status page --- src/apps/pages/views.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/apps/pages/views.py b/src/apps/pages/views.py index 38df37527..ea135be85 100644 --- a/src/apps/pages/views.py +++ b/src/apps/pages/views.py @@ -46,25 +46,24 @@ def get_context_data(self, *args, **kwargs): # Start with an empty queryset qs = Submission.objects.none() + user = self.request.user # Only if user is authenticated - if self.request.user.is_authenticated: - # If user is not super user then: - # filter this user's own submissions - # and - # submissions running on queue which belongs to this user + if user.is_authenticated: + # If user is not super user then filter: + # - this user's own submissions + # - submissions running on competitions where the user is owner or collaborator + # - submissions running on queue where the user is owner or organizer # NOTE: exclude all soft-deleted submissions - if not self.request.user.is_superuser: - qs = Submission.objects.filter( - Q(is_soft_deleted=False) & - ( - Q(owner=self.request.user) | - Q(phase__competition__queue__isnull=False, phase__competition__queue__owner=self.request.user) - ) - ) + if not user.is_superuser: + qs = Submission.objects.filter(is_soft_deleted=False).filter( + Q(owner=user) | + Q(phase__competition__created_by=user) | + Q(phase__competition__collaborators=user) | + Q(phase__competition__queue__owner=user, phase__competition__queue__isnull=False) | + Q(phase__competition__queue__organizers=user, phase__competition__queue__isnull=False) + ).distinct() else: - qs = Submission.objects.filter( - Q(is_soft_deleted=False) - ) + qs = Submission.objects.filter(is_soft_deleted=False) # Filter out child submissions i.e. submission has no parent if not show_child_submissions: From ff382097da79e9726c1908209f742d9f736f721a Mon Sep 17 00:00:00 2001 From: didayolo Date: Thu, 5 Feb 2026 15:12:39 +0100 Subject: [PATCH 2/2] Fix behavior --- src/apps/pages/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps/pages/views.py b/src/apps/pages/views.py index ea135be85..d426d485e 100644 --- a/src/apps/pages/views.py +++ b/src/apps/pages/views.py @@ -59,8 +59,8 @@ def get_context_data(self, *args, **kwargs): Q(owner=user) | Q(phase__competition__created_by=user) | Q(phase__competition__collaborators=user) | - Q(phase__competition__queue__owner=user, phase__competition__queue__isnull=False) | - Q(phase__competition__queue__organizers=user, phase__competition__queue__isnull=False) + Q(queue__owner=user, queue__isnull=False) | + Q(queue__organizers=user, queue__isnull=False) ).distinct() else: qs = Submission.objects.filter(is_soft_deleted=False)