Source code for searchv2.views

import simplejson

from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse
from django.db.models import Q
from django.http import HttpResponseForbidden, HttpResponseRedirect, HttpResponse
from django.shortcuts import render

from package.models import Package
from searchv2.forms import SearchForm
from searchv2.builders import build_1
from searchv2.models import SearchV2
from searchv2.utils import remove_prefix, clean_title


@login_required

[docs]def search_function(q): """ TODO - make generic title searches have lower weight """ items = [] if q: items = SearchV2.objects.filter( Q(clean_title__startswith=clean_title(remove_prefix(q))) | Q(title__icontains=q) | Q(title_no_prefix__startswith=q.lower()) | Q(slug__startswith=q.lower()) | Q(slug_no_prefix__startswith=q.lower())) #grids = Grid.objects.filter(Q(title__icontains=q) | Q(description__icontains=q)) return items
[docs]def search_packages_autocomplete(request): """ Searches in Packages """ q = request.GET.get('term', '') if q: objects = search_function(q)[:15] objects = objects.values_list('title', flat=True) json_response = simplejson.dumps(list(objects)) else: json_response = simplejson.dumps([]) return HttpResponse(json_response, mimetype='text/javascript')

Project Versions

This Page