Added search and orderby features to people

This commit is contained in:
Tom Price
2014-11-04 04:35:03 +00:00
parent 0cfa36b602
commit a097a8c08c
4 changed files with 56 additions and 8 deletions

View File

@@ -1,6 +1,8 @@
from django.http.response import HttpResponseRedirect
from django.core.urlresolvers import reverse_lazy
from django.views import generic
from django.views.decorators.csrf import csrf_exempt
from django.db.models import Q
from RIGS import models
# Create your views here.
@@ -28,6 +30,17 @@ class PersonIndex(generic.ListView):
model = models.Person
paginate_by = 20
def get_queryset(self):
q = self.request.GET.get('q', "")
if len(q) >= 3:
object_list = self.model.objects.filter(Q(name__icontains=q) | Q(email__icontains=q))
else:
object_list = self.model.objects.all()
orderBy = self.request.GET.get('orderBy', None)
if orderBy is not None:
object_list = object_list.order_by(orderBy)
return object_list
class PersonDetail(generic.DetailView):
model = models.Person