diff options
author | Dan McGee <dan@archlinux.org> | 2013-02-16 15:23:49 -0600 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2013-02-16 15:39:23 -0600 |
commit | e3837b5a872b6203b7ae338bc8075b339e031627 (patch) | |
tree | c16339192d62ea25edb858fdf49790003c382feb | |
parent | adc27750593aadb57f85f7b6817e4300f5ee180e (diff) |
Remove configurable pagination for package search
Switch it to a hardcoded value of 100 for all searches instead. It
didn't make much sense having a page number be part of the URL and a
limit value being part of the query string.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | packages/views/search.py | 38 | ||||
-rw-r--r-- | templates/packages/search.html | 3 |
2 files changed, 1 insertions, 40 deletions
diff --git a/packages/views/search.py b/packages/views/search.py index 9cb5f38d..9ca299f6 100644 --- a/packages/views/search.py +++ b/packages/views/search.py @@ -1,6 +1,4 @@ -from datetime import datetime import json -from pytz import utc from django import forms from django.contrib.auth.models import User @@ -14,26 +12,6 @@ from ..models import PackageRelation from ..utils import attach_maintainers, PackageJSONEncoder -def coerce_limit_value(value): - if not value: - return None - if value == 'all': - # negative value indicates show all results - return -1 - value = int(value) - if value < 0: - raise ValueError - return value - -class LimitTypedChoiceField(forms.TypedChoiceField): - def valid_value(self, value): - try: - coerce_limit_value(value) - return True - except (ValueError, TypeError): - return False - - class PackageSearchForm(forms.Form): repo = forms.MultipleChoiceField(required=False) arch = forms.MultipleChoiceField(required=False) @@ -46,11 +24,6 @@ class PackageSearchForm(forms.Form): flagged = forms.ChoiceField( choices=[('', 'All')] + make_choice(['Flagged', 'Not Flagged']), required=False) - limit = LimitTypedChoiceField( - choices=make_choice([50, 100, 250]) + [('all', 'All')], - coerce=coerce_limit_value, - required=False, - initial=50) def __init__(self, *args, **kwargs): show_staging = kwargs.pop('show_staging', False) @@ -119,6 +92,7 @@ def parse_form(form, packages): class SearchListView(ListView): template_name = "packages/search.html" + paginate_by = 100 sort_fields = ("arch", "repo", "pkgname", "pkgbase", "compressed_size", "installed_size", "build_date", "last_update", "flag_date") @@ -145,16 +119,6 @@ class SearchListView(ListView): # Form had errors so don't return any results return Package.objects.none() - def get_paginate_by(self, queryset): - limit = 50 - if self.form.is_valid(): - asked_limit = self.form.cleaned_data['limit'] - if asked_limit and asked_limit < 0: - limit = None - elif asked_limit: - limit = asked_limit - return limit - def get_context_data(self, **kwargs): context = super(SearchListView, self).get_context_data(**kwargs) context['current_query'] = self.request.GET.urlencode() diff --git a/templates/packages/search.html b/templates/packages/search.html index a5d52d6c..bf1eecd9 100644 --- a/templates/packages/search.html +++ b/templates/packages/search.html @@ -36,9 +36,6 @@ <div>{{ search_form.flagged.errors }} <label for="id_flagged" title="Limit results based on out-of-date status"> Flagged</label>{{ search_form.flagged }}</div> - <div>{{ search_form.limit.errors }} - <label for="id_limit" title="Select the number of results to display per page"> - Per Page</label>{{ search_form.limit }}</div> <div ><label> </label><input title="Search for packages using this criteria" type="submit" value="Search" /></div> </fieldset> |