def chooser(request, get_results=False): # Get most popular queries queries = models.Query.get_most_popular() # If searching, filter results by query string query_string = None if 'q' in request.GET: searchform = SearchForm(request.GET) if searchform.is_valid(): query_string = searchform.cleaned_data['q'] queries = queries.filter(query_string__icontains=normalise_query_string(query_string)) else: searchform = SearchForm() paginator, queries = paginate(request, queries, per_page=10) # Render if get_results: return render(request, "wagtailsearch/queries/chooser/results.html", { 'queries': queries, }) else: return render_modal_workflow( request, 'wagtailsearch/queries/chooser/chooser.html', None, { 'queries': queries, 'searchform': searchform, }, json_data={'step': 'chooser'} )
def chooser(request, get_results=False): # Get most popular queries queries = models.Query.get_most_popular() # If searching, filter results by query string query_string = None if 'q' in request.GET: searchform = SearchForm(request.GET) if searchform.is_valid(): query_string = searchform.cleaned_data['q'] queries = queries.filter(query_string__icontains=normalise_query_string(query_string)) else: searchform = SearchForm() paginator, queries = paginate(request, queries, per_page=10) # Render if get_results: return render(request, "wagtailsearch/queries/chooser/results.html", { 'queries': queries, }) else: return render_modal_workflow( request, 'wagtailsearch/queries/chooser/chooser.html', 'wagtailsearch/queries/chooser/chooser.js', { 'queries': queries, 'searchform': searchform, } )
def chooser(request, get_results=False): # Get most popular queries queries = models.Query.get_most_popular() # If searching, filter results by query string query_string = None if "q" in request.GET: searchform = SearchForm(request.GET) if searchform.is_valid(): query_string = searchform.cleaned_data["q"] queries = queries.filter( query_string__icontains=normalise_query_string(query_string)) else: searchform = SearchForm() paginator = Paginator(queries, per_page=10) queries = paginator.get_page(request.GET.get("p")) # Render if get_results: return TemplateResponse( request, "wagtailsearch/queries/chooser/results.html", { "queries": queries, }, ) else: return render_modal_workflow( request, "wagtailsearch/queries/chooser/chooser.html", None, { "queries": queries, "searchform": searchform, }, json_data={"step": "chooser"}, )
def test_no_truncation(self): test_querystring = 'a' * 10 result = normalise_query_string(test_querystring) self.assertEqual(len(result), 10)
def get(cls, query_string): return cls.objects.get_or_create(query_string=normalise_query_string(query_string))[0]
def save(self, *args, **kwargs): # Normalise query string self.query_string = normalise_query_string(self.query_string) super().save(*args, **kwargs)
def get(cls, query_string): return cls.objects.get_or_create( query_string=normalise_query_string(query_string))[0]
def save(self, *args, **kwargs): # Normalise query string self.query_string = normalise_query_string(self.query_string) super().save(*args, **kwargs)
def test_truncation(self): test_querystring = "a" * 1000 result = normalise_query_string(test_querystring) self.assertEqual(len(result), 255)
def test_no_truncation(self): test_querystring = 'a' * 10 result = normalise_query_string(test_querystring) self.assertEqual(len(result), 10)