Issue #3502
closedCan't list versions for a repository
Description
$ http http://localhost:8000/api/v3/repositories/e2bf7dc1-8638-420f-be13-1c60e660249f/versions/
HTTP/1.0 400 Bad Request
[
"No value supplied for content filter"
]
Bug was created in this PR:
https://github.com/pulp/pulp/pull/3373/files#diff-3072a203aa1fcb7d2fc8af1885d4d6ceR144
The problem is that I tried to make http http://localhost:8000/api/v3/repositories/e2bf7dc1-8638-420f-be13-1c60e660249f/versions/?content=
return a 400 error but it also affected requests where no content
filter is supplied. See the tasks endpoint as an example:
$ http http://localhost:8000/api/v3/tasks/
HTTP/1.0 200 OK
$ http http://localhost:8000/api/v3/tasks/?worker=
HTTP/1.0 400 Bad Request
[
"No value supplied for worker filter."
]
No idea why these filters are behaving differently.
Updated by daviddavis almost 7 years ago
This change seems to solve both issues but I am not sure why:
diff --git a/pulpcore/pulpcore/app/viewsets/repository.py b/pulpcore/pulpcore/app/viewsets/repository.py
index b386ce9..cc54c87 100644
--- a/pulpcore/pulpcore/app/viewsets/repository.py
+++ b/pulpcore/pulpcore/app/viewsets/repository.py
@@ -2,7 +2,7 @@ from gettext import gettext as _
import itertools
from django_filters.rest_framework import filters, filterset
-from django_filters import CharFilter
+from django_filters import Filter
from rest_framework import decorators, mixins, serializers
from pulpcore.app import tasks
@@ -119,7 +119,7 @@ class ExporterFilter(filterset.FilterSet):
]
-class RepositoryVersionContentFilter(CharFilter):
+class RepositoryVersionContentFilter(Filter):
"""
Filter used to get the repository versions where some given content can be found.
Updated by dalley almost 7 years ago
- Priority changed from Normal to High
- Severity changed from 2. Medium to 3. High
- Triaged changed from No to Yes
- Sprint set to Sprint 34
Updated by daviddavis almost 7 years ago
- Status changed from NEW to POST
- Assignee set to daviddavis
Added by daviddavis almost 7 years ago
Added by daviddavis almost 7 years ago
Revision 1cb4e194 | View on GitHub
Fix defaulting of value to blank string when not specified
If content is not passed in, the filter still gets run with a blank string for some reason. Extending Filter instead of CharFilter seems to fix this.
Updated by daviddavis almost 7 years ago
- Status changed from POST to MODIFIED
Applied in changeset pulp|1cb4e194a9423c4e29ed3973ab45b3ef2bea54e0.
Updated by bmbouter about 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Fix defaulting of value to blank string when not specified
If content is not passed in, the filter still gets run with a blank string for some reason. Extending Filter instead of CharFilter seems to fix this.
fixes #3502 https://pulp.plan.io/issues/3502