Skip to content

Commit fe77cb9

Browse files
committed
move things
1 parent 8c559c0 commit fe77cb9

2 files changed

Lines changed: 28 additions & 31 deletions

File tree

backend/reviews/adapters.py

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
from __future__ import annotations
2+
from django.core.cache import cache
23

4+
from pycon.tasks import check_pending_heavy_processing_work
5+
from reviews.cache_keys import get_cache_key
6+
from reviews.tasks import compute_recap_analysis
37
from django.core.exceptions import PermissionDenied
48
from django.http import JsonResponse
59
from django.urls import path
@@ -41,6 +45,20 @@
4145
from users.models import User
4246

4347

48+
def get_accepted_submissions(conference):
49+
return (
50+
Submission.objects.filter(conference=conference)
51+
.filter(
52+
Q(pending_status=Submission.STATUS.accepted)
53+
| Q(pending_status__isnull=True, status=Submission.STATUS.accepted)
54+
| Q(pending_status="", status=Submission.STATUS.accepted)
55+
)
56+
.select_related("speaker", "type", "audience_level")
57+
.prefetch_related("languages")
58+
.order_by("id")
59+
)
60+
61+
4462
def get_stats_for_submissions(qs):
4563
"""Get all stats for a queryset of submissions."""
4664
total = qs.count()
@@ -184,7 +202,7 @@ def get_user_review_create_values(self, review_item_id: int) -> dict[str, Any]:
184202
...
185203

186204
def get_recap_context(
187-
self, request: HttpRequest, review_session: ReviewSession
205+
self, request: HttpRequest, review_session: ReviewSession, admin_site: AdminSite
188206
) -> dict[str, Any]:
189207
"""Return template context for the recap view."""
190208
...
@@ -443,11 +461,11 @@ def get_next_to_review_item_id(
443461
return unvoted_item.id if unvoted_item else None
444462

445463
def get_recap_context(
446-
self, request: HttpRequest, review_session: ReviewSession
464+
self, request: HttpRequest, review_session: ReviewSession, admin_site: AdminSite
447465
) -> dict[str, Any]:
448466
review_session_id = review_session.id
449467
conference = review_session.conference
450-
accepted_submissions = self._get_accepted_submissions(conference)
468+
accepted_submissions = get_accepted_submissions(conference)
451469

452470
# Get submission types for this conference
453471
submission_types = list(
@@ -474,7 +492,7 @@ def get_recap_context(
474492
]
475493

476494
return dict(
477-
self.admin_site.each_context(request),
495+
admin_site.each_context(request),
478496
title="Recap",
479497
review_session_id=review_session_id,
480498
review_session_repr=str(review_session),
@@ -506,16 +524,10 @@ def review_recap_compute_analysis_view(self, request, review_session_id):
506524
raise PermissionDenied()
507525

508526
conference = review_session.conference
509-
accepted_submissions = list(self._get_accepted_submissions(conference))
527+
accepted_submissions = list(get_accepted_submissions(conference))
510528
force_recompute = request.GET.get("recompute") == "1"
511529
check_only = request.GET.get("check") == "1"
512530

513-
from django.core.cache import cache
514-
515-
from pycon.tasks import check_pending_heavy_processing_work
516-
from reviews.cache_keys import get_cache_key
517-
from reviews.tasks import compute_recap_analysis
518-
519531
combined_cache_key = get_cache_key(
520532
"recap_analysis", conference.id, accepted_submissions
521533
)

backend/reviews/admin.py

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from django import forms
44
from django.contrib import admin, messages
55
from django.core.exceptions import PermissionDenied
6-
from django.db.models import Q
76
from django.http.request import HttpRequest
87
from django.shortcuts import redirect
98
from django.template.response import TemplateResponse
@@ -12,24 +11,10 @@
1211

1312
from reviews.adapters import get_all_review_adapters_extra_urls, get_review_adapter
1413
from reviews.models import AvailableScoreOption, ReviewSession, UserReview
15-
from submissions.models import Submission, SubmissionTag
14+
from submissions.models import SubmissionTag
1615
from users.admin_mixins import ConferencePermissionMixin
1716

1817

19-
def get_accepted_submissions(conference):
20-
return (
21-
Submission.objects.filter(conference=conference)
22-
.filter(
23-
Q(pending_status=Submission.STATUS.accepted)
24-
| Q(pending_status__isnull=True, status=Submission.STATUS.accepted)
25-
| Q(pending_status="", status=Submission.STATUS.accepted)
26-
)
27-
.select_related("speaker", "type", "audience_level")
28-
.prefetch_related("languages")
29-
.order_by("id")
30-
)
31-
32-
3318
class AvailableScoreOptionInline(admin.TabularInline):
3419
model = AvailableScoreOption
3520

@@ -199,6 +184,9 @@ def go_to_recap_screen(self, obj):
199184
if not obj.can_see_shortlist_screen:
200185
return "You cannot see the recap of this session yet."
201186

187+
if obj.session_type != ReviewSession.SessionType.PROPOSALS:
188+
return "Recap is not supported for this session type."
189+
202190
return mark_safe(
203191
f"""
204192
<a href="{reverse("admin:reviews-recap", kwargs={"review_session_id": obj.id})}">
@@ -307,9 +295,6 @@ def review_shortlist_view(self, request, review_session_id):
307295

308296
return TemplateResponse(request, adapter.shortlist_template, context)
309297

310-
def _get_accepted_submissions(self, conference):
311-
return get_accepted_submissions(conference)
312-
313298
def review_recap_view(self, request, review_session_id):
314299
review_session = ReviewSession.objects.get(id=review_session_id)
315300

@@ -328,7 +313,7 @@ def review_recap_view(self, request, review_session_id):
328313
)
329314

330315
adapter = get_review_adapter(review_session)
331-
context = adapter.get_recap_context(request, review_session)
316+
context = adapter.get_recap_context(request, review_session, self.admin_site)
332317
return TemplateResponse(request, adapter.recap_template, context)
333318

334319
def review_view(self, request, review_session_id, review_item_id):

0 commit comments

Comments
 (0)