From 60a60de94b951910ac37a3cd5b9da3cfa60db363 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Sun, 1 Apr 2018 18:38:50 +0000 Subject: [PATCH] Replaced inline database lookups with get_active_ads(). - Legacy-Id: 14987 --- ietf/doc/models.py | 5 +++-- ietf/doc/views_search.py | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ietf/doc/models.py b/ietf/doc/models.py index 654eb5050..736c5717f 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -23,6 +23,7 @@ from ietf.name.models import ( DocTypeName, DocTagName, StreamName, IntendedStdL DocRelationshipName, DocReminderTypeName, BallotPositionName, ReviewRequestStateName, FormalLanguageName, DocUrlTagName) from ietf.person.models import Email, Person +from ietf.person.utils import get_active_ads from ietf.utils import log from ietf.utils.admin import admin_link from ietf.utils.validators import validate_no_control_chars @@ -1031,9 +1032,9 @@ class BallotDocEvent(DocEvent): def active_ad_positions(self): """Return dict mapping each active AD to a current ballot position (or None if they haven't voted).""" - active_ads = list(Person.objects.filter(role__name="ad", role__group__state="active", role__group__type="area")) res = {} + active_ads = get_active_ads() positions = BallotPositionDocEvent.objects.filter(type="changed_ballot_position",ad__in=active_ads, ballot=self).select_related('ad', 'pos').order_by("-time", "-id") for pos in positions: @@ -1050,7 +1051,7 @@ class BallotDocEvent(DocEvent): positions = [] seen = {} - active_ads = list(Person.objects.filter(role__name="ad", role__group__state="active", role__group__type="area").distinct()) + active_ads = get_active_ads() for e in BallotPositionDocEvent.objects.filter(type="changed_ballot_position", ballot=self).select_related('ad', 'pos').order_by("-time", '-id'): if e.ad not in seen: e.old_ad = e.ad not in active_ads diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py index 8a1c12a21..6fcfb9896 100644 --- a/ietf/doc/views_search.py +++ b/ietf/doc/views_search.py @@ -53,6 +53,7 @@ from ietf.group.models import Group from ietf.idindex.index import active_drafts_index_by_group from ietf.name.models import DocTagName, DocTypeName, StreamName from ietf.person.models import Person +from ietf.person.utils import get_active_ads from ietf.utils.draft_search import normalize_draftname from ietf.doc.utils_search import prepare_document_table @@ -87,9 +88,7 @@ class SearchForm(forms.Form): def __init__(self, *args, **kwargs): super(SearchForm, self).__init__(*args, **kwargs) responsible = Document.objects.values_list('ad', flat=True).distinct() - active_ads = list(Person.objects.filter(role__name="ad", - role__group__type="area", - role__group__state="active").distinct()) + active_ads = get_active_ads() inactive_ads = list(((Person.objects.filter(pk__in=responsible) | Person.objects.filter(role__name="pre-ad", role__group__type="area", role__group__state="active")).distinct())