Anonymous committed 14704fe

add searching to question list view

Comments (0)

Files changed (2)


 from django.http import HttpResponseRedirect
 from django.contrib import messages
 from django.shortcuts import get_object_or_404
+import shlex
+from django.db.models import Q
 from gnocchi.ask import settings, models, forms
 __all__ = [
     model = models.Question
     paginate_by = settings.QUESTION_PAGE
+    def get_queryset(self):
+        qset = super(QuestionList, self).get_queryset()
+        search = self.request.GET.get('q', '').encode('utf8')
+        for term in shlex.split(search.encode('utf8')):
+            qset = qset.filter(
+                Q(question__icontains=term) |
+                Q(content__icontains=term) |
+                Q(responses__content__icontains=term)
+            )
+        return qset
 class QuestionDetail(generic.DetailView):
     queryset = models.Question.objects.filter(visible=True)
     def get_context_data(self, **kwargs):
 from setuptools import setup, find_packages
 setup( name='gnocchi-ask',
-    version = '0.3',
+    version = '0.4',
     description = 'A simple StackOverflow/AskBot style application',
     author = 'Curtis Maloney',
     author_email = '',
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.