From 43595c8f3220d11f47554e9755f5b54e283f635e Mon Sep 17 00:00:00 2001 From: Harris Lapiroff Date: Tue, 5 Apr 2011 12:54:35 -0400 Subject: [PATCH] Fixed a sobol bug which was causing search views to always use all available searches. Added some help text to the ajax api boolean. --- contrib/sobol/models.py | 6 +++--- contrib/sobol/search.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/sobol/models.py b/contrib/sobol/models.py index b653c09..e4e4202 100644 --- a/contrib/sobol/models.py +++ b/contrib/sobol/models.py @@ -130,13 +130,13 @@ class Click(models.Model): class SearchView(MultiView): results_page = models.ForeignKey(Page, related_name='search_results_related') searches = SlugMultipleChoiceField(choices=registry.iterchoices()) - enable_ajax_api = models.BooleanField("Enable AJAX API", default=True) + enable_ajax_api = models.BooleanField("Enable AJAX API", default=True, help_text="Search results will be available only by AJAX, not as template variables.") placeholder_text = models.CharField(max_length=75, default="Search") search_form = SearchForm def __unicode__(self): - return u"%s (%s)" % (self.placeholder_text, u", ".join([display for slug, display in registry.iterchoices()])) + return u"%s (%s)" % (self.placeholder_text, u", ".join([display for slug, display in registry.iterchoices() if slug in self.searches])) def get_reverse_params(self, obj): raise ViewCanNotProvideSubpath @@ -198,7 +198,7 @@ class SearchView(MultiView): }) else: context.update({ - 'searches': [{'verbose_name': verbose_name, 'url': self.reverse('ajax_api_view', kwargs={'slug': slug}, node=request.node)} for slug, verbose_name in registry.iterchoices()] + 'searches': [{'verbose_name': verbose_name, 'url': self.reverse('ajax_api_view', kwargs={'slug': slug}, node=request.node)} for slug, verbose_name in registry.iterchoices() if slug in self.searches] }) else: form = SearchForm() diff --git a/contrib/sobol/search.py b/contrib/sobol/search.py index 36c2b5d..4f89e76 100644 --- a/contrib/sobol/search.py +++ b/contrib/sobol/search.py @@ -361,7 +361,7 @@ else: def parse_response(self, response, limit=None): strainer = self.strainer soup = BeautifulSoup(response, parseOnlyThese=strainer) - return self.parse_results(soup[:limit]) + return self.parse_results(soup.findAll(recursive=False, limit=limit)) def parse_results(self, results): """ -- 2.20.1