Skip to content

Commit 123c8a9

Browse files
committed
Better AppealFilter usage in DREF3
1 parent 39e133f commit 123c8a9

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

dref/test_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1803,7 +1803,7 @@ def test_superuser_can_access_list(self):
18031803
response = self.client.get(self.url)
18041804
self.assertEqual(response.status_code, status.HTTP_200_OK)
18051805

1806-
def test_normal_user_cannot_access_list(self):
1806+
def test_normal_user_can_access_list_also(self):
18071807
self.client.force_authenticate(user=self.user)
18081808
response = self.client.get(self.url)
18091809
# self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)

dref/views.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import django.utils.timezone as timezone
2-
from django.apps import apps
32
from django.contrib.auth.models import Permission
43
from django.db import models
54
from django.templatetags.static import static
@@ -18,6 +17,7 @@
1817
from rest_framework.exceptions import NotFound
1918
from reversion.views import RevisionMixin
2019

20+
from api.models import AppealFilter
2121
from dref.filter_set import (
2222
ActiveDrefFilterSet,
2323
CompletedDrefOperationsFilterSet,
@@ -299,13 +299,15 @@ def get_nonsuperusers_excluded_codes(self):
299299
Accepts CSV values in AppealFilter.value like "MDRXX019,MDRYY036".
300300
"""
301301
try:
302-
AppealFilter = apps.get_model("api", "AppealFilter")
303-
codes = list(AppealFilter.objects.values_list("value", flat=True))
302+
if AppealFilter.objects.values_list("value", flat=True).filter(name="ingestAppealFilter").count() > 0:
303+
codes_exc = AppealFilter.objects.values_list("value", flat=True).filter(name="ingestAppealFilter")[0].split(",")
304+
else:
305+
codes_exc = []
304306
except Exception:
305307
# If model/app not available, fail open (no extra exclusions)
306308
return set()
307309
excluded = set()
308-
for code in codes:
310+
for code in codes_exc:
309311
c = code.strip().upper()
310312
if c:
311313
excluded.add(c)

0 commit comments

Comments
 (0)