]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/views/readers.py
fixes a nasty bug causing a view to never return a response under certain circumstances
[osqa.git] / forum / views / readers.py
index 8e641bf7a1fbc59a44e109c1632284b9a9d44329..80709e72059b5a54a28ed854051fd8ccb34b4fa5 100644 (file)
@@ -167,7 +167,7 @@ def question_list(request, initial,
         if req_params:
             req_params = '&' + req_params
 
-        feed_url = mark_safe(request.path + "?type=rss" + req_params)
+        feed_url = mark_safe(escape(request.path + "?type=rss" + req_params))
 
     return pagination.paginated(request, ('questions', paginator_context or QuestionListPaginatorContext()), {
     "questions" : questions.distinct(),
@@ -192,7 +192,7 @@ def search(request):
             return HttpResponseRedirect(reverse('tags') + '?q=%s' % urlquote(keywords.strip()))
         elif search_type == "user":
             return HttpResponseRedirect(reverse('users') + '?q=%s' % urlquote(keywords.strip()))
-        elif search_type == "question":
+        else:
             return question_search(request, keywords)
     else:
         return render_to_response("search.html", context_instance=RequestContext(request))
@@ -267,7 +267,7 @@ def answer_redirect(request, answer):
     else:
         raise Http404()
 
-    count = answer.question.answers.filter(Q(marked=True) | filter).count()
+    count = answer.question.answers.filter(Q(marked=True) | filter).exclude(state_string="(deleted)").count()
     pagesize = pc.pagesize(request)
 
     page = count / pagesize
@@ -314,9 +314,9 @@ def question(request, id, slug='', answer=None):
         return HttpResponsePermanentRedirect(question.get_absolute_url())
 
     if request.POST:
-        answer_form = AnswerForm(question, request.POST)
+        answer_form = AnswerForm(request.POST, user=request.user)
     else:
-        answer_form = AnswerForm(question)
+        answer_form = AnswerForm(user=request.user)
 
     answers = request.user.get_visible_answers(question)