]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/views/readers.py
Accepting incoming merge of the jambazov feature branch. Mostly includes new bug...
[osqa.git] / forum / views / readers.py
index b61e3e9cf6f9303abe5ac80404c3b0a9f67a817b..f8113be2f6da4e091d9fc8ad39830794bfbafa4e 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(),
@@ -223,7 +223,7 @@ def tags(request):
     if request.method == "GET":
         stag = request.GET.get("q", "").strip()
         if stag:
-            tags = tags.filter(name__contains=stag)
+            tags = tags.filter(name__icontains=stag)
 
     return pagination.paginated(request, ('tags', TagPaginatorContext()), {
         "tags" : tags,
@@ -243,7 +243,7 @@ def update_question_view_times(request, question):
 
     request.session['last_seen_in_question'][question.id] = datetime.datetime.now()
 
-def match_question_slug(slug):
+def match_question_slug(id, slug):
     slug_words = slug.split('-')
     qs = Question.objects.filter(title__istartswith=slug_words[0])
 
@@ -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
@@ -287,7 +287,7 @@ def question(request, id, slug='', answer=None):
         question = Question.objects.get(id=id)
     except:
         if slug:
-            question = match_question_slug(slug)
+            question = match_question_slug(id, slug)
             if question is not None:
                 return HttpResponseRedirect(question.get_absolute_url())
 
@@ -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)