From 3d43d3d423f6589688ba313ca961360280157543 Mon Sep 17 00:00:00 2001 From: mahesh Date: Fri, 9 Jun 2017 16:13:24 +0530 Subject: searches for tagged questions --- yaksh/static/yaksh/js/show_question.js | 10 ++++++++++ yaksh/templates/yaksh/showquestions.html | 32 ++++++++++++++++++++++++-------- yaksh/views.py | 12 ++++++++---- 3 files changed, 42 insertions(+), 12 deletions(-) (limited to 'yaksh') diff --git a/yaksh/static/yaksh/js/show_question.js b/yaksh/static/yaksh/js/show_question.js index e3ed1cc..a154558 100644 --- a/yaksh/static/yaksh/js/show_question.js +++ b/yaksh/static/yaksh/js/show_question.js @@ -37,3 +37,13 @@ function confirm_edit(frm) else return true; } + +function append_tag(tag){ + var tag_name = document.getElementById("question_tags"); + if (tag_name.value != null){ + tag_name.value = tag.value+", "+tag_name.value; + } + else{ + tag_name.value = tag.value; + } +} diff --git a/yaksh/templates/yaksh/showquestions.html b/yaksh/templates/yaksh/showquestions.html index 6e1ea6e..8b7fbf1 100644 --- a/yaksh/templates/yaksh/showquestions.html +++ b/yaksh/templates/yaksh/showquestions.html @@ -38,25 +38,40 @@ Upload File
{{ form.marks }}
-
- -

+

Or

+ +

Search using Tags:

+ {% csrf_token %} -
+
Search Questions - - +
+ +
+

+
{% if not search_result %} @@ -67,6 +82,7 @@ Upload File {% endfor %} {% endif %} {% else %} +
Select All
{% for i in search_result %}   {{ i }}
{% endfor %} diff --git a/yaksh/views.py b/yaksh/views.py index 4096da3..42e92e0 100644 --- a/yaksh/views.py +++ b/yaksh/views.py @@ -1048,16 +1048,20 @@ def show_all_questions(request): if request.POST.get('question_tags'): question_tags = request.POST.getlist("question_tags") - all_tags = [] + search_tags = [] for tags in question_tags: - all_tags.extend(re.split('[; |, |\*|\n]',tags)) - search_result = Question.objects.filter(tags__name__in=all_tags)\ - .distinct() + search_tags.extend(re.split('[; |, |\*|\n]',tags)) + search_result = Question.objects.filter(tags__name__in=search_tags, + user=user).distinct() context['search_result'] = search_result questions = Question.objects.filter(user_id=user.id, active=True) form = QuestionFilterForm(user=user) + user_tags = Question.objects.filter(user=user)\ + .values_list('tags', flat=True).distinct() + all_tags = Tag.objects.filter(id__in = user_tags) upload_form = UploadFileForm() + context['all_tags'] = all_tags context['papers'] = [] context['question'] = None context['questions'] = questions -- cgit