Example #1
0
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,
        })
Example #2
0
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,
	})
Example #3
0
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,
    })
Example #4
0
 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()
Example #5
0
 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()
Example #6
0
    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
Example #7
0
    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
Example #8
0
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,
    })