Skip to content

Commit 4f634c4

Browse files
findings-report-api: fix 404 errors (#13446)
* findings-report-api: fix 404 errors * findings-report-api: fix 404 errors
1 parent 9c35b78 commit 4f634c4

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

dojo/api_v2/views.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
from django.contrib.auth.models import Permission
1212
from django.core.exceptions import ValidationError
1313
from django.db import IntegrityError
14-
from django.http import FileResponse, Http404, HttpResponse
14+
from django.db.models.query import QuerySet as DjangoQuerySet
15+
from django.http import FileResponse, HttpResponse
1516
from django.shortcuts import get_object_or_404
1617
from django.utils import timezone
1718
from django_filters.rest_framework import DjangoFilterBackend
@@ -2814,16 +2815,19 @@ def report_generate(request, obj, options):
28142815
),
28152816
)
28162817

2817-
elif type(obj).__name__ == "CastTaggedQuerySet":
2818+
elif isinstance(obj, DjangoQuerySet):
2819+
# Support any Django QuerySet (including Tagulous CastTaggedQuerySet)
28182820
findings = report_finding_filter_class(
28192821
request.GET,
28202822
queryset=prefetch_related_findings_for_report(obj).distinct(),
28212823
)
28222824

28232825
report_name = "Finding"
2824-
28252826
else:
2826-
raise Http404
2827+
obj_type = type(obj).__name__
2828+
msg = f"Report cannot be generated for object of type {obj_type}"
2829+
logger.warning(msg)
2830+
raise ValidationError(msg)
28272831

28282832
result = {
28292833
"product_type": product_type,

0 commit comments

Comments
 (0)