diff options
author | jelle van der Waa <jelle@vdwaa.nl> | 2019-08-13 22:18:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-13 22:18:16 +0200 |
commit | 2ad635b6cdad62eeed5694eb618e3d1e6fbddb71 (patch) | |
tree | 30e373c2544035e2d492043a9f6dcda69cdaceb8 | |
parent | 4b93ee3d2edc238608c7979c5336ea47b78c2899 (diff) | |
parent | 01f0f69c2b72d5eecce9d6962d9c691797f04332 (diff) | |
download | archweb-2ad635b6cdad62eeed5694eb618e3d1e6fbddb71.tar.gz archweb-2ad635b6cdad62eeed5694eb618e3d1e6fbddb71.zip |
Merge pull request #236 from jelly/search
packages: fix negative and invalid limit in search API
-rw-r--r-- | packages/views/search.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/packages/views/search.py b/packages/views/search.py index c0289856..be60e890 100644 --- a/packages/views/search.py +++ b/packages/views/search.py @@ -17,7 +17,7 @@ from ..utils import attach_maintainers, PackageJSONEncoder class PackageSearchForm(forms.Form): - limit = forms.CharField(required=False) + limit = forms.IntegerField(required=False, min_value=0) page = forms.CharField(required=False) repo = forms.MultipleChoiceField(required=False) arch = forms.MultipleChoiceField(required=False) @@ -163,8 +163,8 @@ def search_json(request): form = PackageSearchForm(data=request.GET, show_staging=request.user.is_authenticated) if form.is_valid(): - form_limit = form.cleaned_data['limit'] - limit = min(limit, int(form_limit)) if form_limit else limit + form_limit = form.cleaned_data.get('limit', limit) + limit = min(limit, form_limit) if form_limit else limit container['limit'] = limit packages = Package.objects.select_related('arch', 'repo', |