Skip to content

Commit a4311c5

Browse files
DidayoloIdirLISN
authored andcommitted
More flexible server status page
1 parent 2ceff74 commit a4311c5

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

src/apps/pages/views.py

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,25 +46,24 @@ def get_context_data(self, *args, **kwargs):
4646
# Start with an empty queryset
4747
qs = Submission.objects.none()
4848

49+
user = self.request.user
4950
# Only if user is authenticated
50-
if self.request.user.is_authenticated:
51-
# If user is not super user then:
52-
# filter this user's own submissions
53-
# and
54-
# submissions running on queue which belongs to this user
51+
if user.is_authenticated:
52+
# If user is not super user then filter:
53+
# - this user's own submissions
54+
# - submissions running on competitions where the user is owner or collaborator
55+
# - submissions running on queue where the user is owner or organizer
5556
# NOTE: exclude all soft-deleted submissions
56-
if not self.request.user.is_superuser:
57-
qs = Submission.objects.filter(
58-
Q(is_soft_deleted=False) &
59-
(
60-
Q(owner=self.request.user) |
61-
Q(phase__competition__queue__isnull=False, phase__competition__queue__owner=self.request.user)
62-
)
63-
)
57+
if not user.is_superuser:
58+
qs = Submission.objects.filter(is_soft_deleted=False).filter(
59+
Q(owner=user) |
60+
Q(phase__competition__created_by=user) |
61+
Q(phase__competition__collaborators=user) |
62+
Q(phase__competition__queue__owner=user, phase__competition__queue__isnull=False) |
63+
Q(phase__competition__queue__organizers=user, phase__competition__queue__isnull=False)
64+
).distinct()
6465
else:
65-
qs = Submission.objects.filter(
66-
Q(is_soft_deleted=False)
67-
)
66+
qs = Submission.objects.filter(is_soft_deleted=False)
6867

6968
# Filter out child submissions i.e. submission has no parent
7069
if not show_child_submissions:

0 commit comments

Comments
 (0)