X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/4bfb838efcda1ea5bd7072c685e962c0cb85dc71..30beae7541b44060bdd42b55fe525a1113452b55:/forum/views/readers.py diff --git a/forum/views/readers.py b/forum/views/readers.py index c86794f..a48c35b 100644 --- a/forum/views/readers.py +++ b/forum/views/readers.py @@ -52,7 +52,7 @@ def index(request): def unanswered(request): return question_list(request, Question.objects.filter(extra_ref=None), - _('Open questions without an accepted answer'), + _('open questions without an accepted answer'), request.utils.set_sort_method('active'), None, _("Unanswered questions")) @@ -65,10 +65,10 @@ def questions(request): def tag(request, tag): return question_list(request, Question.objects.filter(tags__name=unquote(tag)), - mark_safe(_('Questions tagged %(tag)s') % {'tag': tag}), + mark_safe(_('questions tagged %(tag)s') % {'tag': tag}), request.utils.set_sort_method('active'), None, - mark_safe(_('Questions tagged %(tag)s') % {'tag': tag}), + mark_safe(_('questions tagged %(tag)s') % {'tag': tag}), False) @decorators.list('questions', QUESTIONS_PAGE_SIZE) @@ -91,13 +91,24 @@ def question_list(request, initial, list_description=_('questions'), sort=None, if page_title is None: page_title = _("Questions") + keywords = "" + if request.GET.get("q"): + keywords = request.GET.get("q").strip() + + answer_count = Answer.objects.filter(deleted=None, parent__in=questions).count() + answer_description = _("answers") + return { "questions" : questions, "questions_count" : questions.count(), + "answer_count" : answer_count, + "keywords" : keywords, #"tags_autocomplete" : _get_tags_cache_json(), "list_description": list_description, + "answer_description": answer_description, "base_path" : base_path, "page_title" : page_title, + "tab" : "questions", } @@ -117,13 +128,9 @@ def search(request): else: return render_to_response("search.html", context_instance=RequestContext(request)) -@decoratable -def do_question_search(keywords): - return Question.objects.filter(Q(title__icontains=keywords) | Q(body__icontains=keywords)) - @decorators.render('questions.html') def question_search(request, keywords): - initial = do_question_search(keywords) + initial = Question.objects.search(keywords) return question_list(request, initial, _("questions matching '%(keywords)s'") % {'keywords': keywords}, base_path="%s?t=question&q=%s" % (reverse('search'), django_urlquote(keywords)), sort=False) @@ -224,7 +231,11 @@ def question(request, id, slug): if question.deleted and not request.user.can_view_deleted_post(question): raise Http404 - answer_form = AnswerForm(question) + if request.POST: + answer_form = AnswerForm(question, request.POST) + else: + answer_form = AnswerForm(question) + answers = request.user.get_visible_answers(question) if answers is not None: