def search(request): form = SearchForm(request.GET) if form.is_valid(): query = form.cleaned_data['q'] has_real_name_access = request.user.has_perm( 'demoscene.view_releaser_real_names') (name_results, results, resultset) = form.search(with_real_names=has_real_name_access) if len(name_results) == 1 and len(results) == 0: messages.success(request, "One match found for '%s'" % query) return HttpResponseRedirect( name_results[0].instance.get_absolute_url()) page = get_page(results, request.GET.get('page', '1')) else: query = None page = None name_results = None resultset = None return render( request, 'search/search.html', { 'form': form, 'query': query, 'global_search_query': query, 'name_results': name_results, 'page': page, 'resultset': resultset, })
def search(request): form = SearchForm(request.GET) if form.is_valid(): query = form.cleaned_data['q'] has_real_name_access = request.user.has_perm('demoscene.view_releaser_real_names') (name_results, results, resultset) = form.search(with_real_names=has_real_name_access) if len(name_results) == 1 and len(results) == 0: messages.success(request, "One match found for '%s'" % query) return HttpResponseRedirect(name_results[0].instance.get_absolute_url()) page = get_page(results, request.GET.get('page', '1')) else: query = None page = None name_results = None resultset = None return render(request, 'search/search.html', { 'form': form, 'query': query, 'global_search_query': query, 'name_results': name_results, 'page': page, 'resultset': resultset, })
def search(request): form = SearchForm(request.GET) if form.is_valid(): query = form.cleaned_data['q'] has_real_name_access = request.user.has_perm( 'demoscene.view_releaser_real_names') page_number = request.GET.get('page', '1') # Make sure page request is an int. If not, deliver first page. try: page_number = int(page_number) except ValueError: page_number = 1 results, page = form.search(with_real_names=has_real_name_access, page_number=page_number) else: query = '' page = None results = None return render(request, 'search/search.html', { 'form': form, 'query': query, 'results': results, 'page': page, })
def count_faceted_results(self, vocab, term): """Return count of matching indexed records by facet.""" facet_query = "{0}_exact:{1}".format(vocab, term) form = SearchForm( selected_facets=[facet_query], repo_slug=self.repo.slug, sortby=LoreSortingFields.DEFAULT_SORTING_FIELD ) return form.search().count()
def search(self, query, sorting=LoreSortingFields.DEFAULT_SORTING_FIELD): """ Helper function to perform a search """ form = SearchForm( data={"q": query}, repo_slug=self.repo.slug, sortby=sorting ) return form.search()
def get_context_data(self, **kwargs): data = super(MainView, self).get_context_data(**kwargs) posts = Post.objects.filter(parent=None).order_by('-date_created')[:15] form = SearchForm(self.request.GET or None) if form.is_valid(): posts = form.search() data['posts'] = posts data['form'] = form return data
def get_context_data(self, **kwargs): data = super(PostListView, self).get_context_data(**kwargs) posts = Post.objects.filter(parent=None).order_by('-date_created') form = SearchForm(self.request.GET or None) if form.is_valid(): posts = form.search() offset = int(self.request.GET.get('offset',0)) data['posts'] = posts[offset:offset+15] return data
def search(request): form = SearchForm(request.GET) if form.is_valid(): query = form.cleaned_data['q'] page_number = request.GET.get('page', '1') # Make sure page request is an int. If not, deliver first page. try: page_number = int(page_number) except ValueError: page_number = 1 results, page = form.search(page_number=page_number) else: query = '' page = None results = None return render(request, 'search/search.html', { 'form': form, 'query': query, 'results': results, 'page': page, })