summaryrefslogtreecommitdiff
path: root/yaksh
diff options
context:
space:
mode:
Diffstat (limited to 'yaksh')
-rw-r--r--yaksh/models.py4
-rw-r--r--yaksh/views.py30
2 files changed, 15 insertions, 19 deletions
diff --git a/yaksh/models.py b/yaksh/models.py
index b7df67c..79db206 100644
--- a/yaksh/models.py
+++ b/yaksh/models.py
@@ -211,7 +211,7 @@ class Question(models.Model):
return json.dumps(question_info_dict)
- def dump_questions_into_json(self, user):
+ def dump_into_json(self, user):
questions = Question.objects.filter(user_id = user.id)
questions_dict = [{'summary': question.summary,
'description': question.description,
@@ -222,7 +222,7 @@ class Question(models.Model):
'snippet': question.snippet} for question in questions]
return json.dumps(questions_dict, indent=2)
- def load_questions_from_json(self, questions_list, user):
+ def load_from_json(self, questions_list, user):
questions = json.loads(questions_list)
for question in questions:
Question.objects.get_or_create(summary=question['summary'],
diff --git a/yaksh/views.py b/yaksh/views.py
index a7b9ff9..8b69619 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -186,16 +186,14 @@ def add_question(request, question_id=None):
'formset': test_case_formset},
context_instance=ci)
else:
- d = Question.objects.get(id=question_id, user_id=user.id)
+ d = Question.objects.get(id=question_id)
form = QuestionForm(request.POST, instance=d)
test_case_formset = add_or_delete_test_form(request.POST, d)
if 'save_question' in request.POST:
qtn = form.save(commit=False)
- qtn.user = user
- qtn.save()
test_case_formset = TestCaseFormSet(request.POST, prefix='test', instance=qtn)
form.save()
- question = Question.objects.get(id=question_id, user_id=user.id)
+ question = Question.objects.get(id=question_id)
if test_case_formset.is_valid():
test_case_formset.save()
return my_redirect("/exam/manage/questions")
@@ -219,7 +217,7 @@ def add_question(request, question_id=None):
'formset': test_case_formset},
context_instance=ci)
else:
- d = Question.objects.get(id=question_id, user_id=user.id)
+ d = Question.objects.get(id=question_id)
form = QuestionForm(instance=d)
test_case_formset = TestCaseFormSet(prefix='test', instance=d)
@@ -815,9 +813,10 @@ def show_all_questions(request):
raise Http404("You are not allowed to view this page !")
if request.method == 'POST' and request.POST.get('delete') == 'delete':
- question_ids = request.POST.getlist('question')
- if question_ids is not None:
- question = Question.objects.filter(id__in=question_ids, user_id=user.id).delete()
+ data = request.POST.getlist('question')
+ if data is not None:
+ for i in data:
+ question = Question.objects.get(id=i).delete()
questions = Question.objects.filter(user_id=user.id)
form = QuestionFilterForm(user=user)
upload_form = UploadFileForm()
@@ -954,7 +953,7 @@ def ajax_questionpaper(request, query):
user = request.user
if query == 'marks':
question_type = request.POST.get('question_type')
- questions = Question.objects.filter(type=question_type, user_id=user.id)
+ questions = Question.objects.filter(type=question_type, user=user)
marks = questions.values_list('points').distinct()
return my_render_to_response('yaksh/ajax_marks.html', {'marks': marks})
elif query == 'questions':
@@ -966,7 +965,7 @@ def ajax_questionpaper(request, query):
random_question_list = ",".join(random_questions).split(',')
question_list = fixed_question_list + random_question_list
questions = list(Question.objects.filter(type=question_type,
- points=marks_selected, user_id=user.id))
+ points=marks_selected, user=user))
questions = [question for question in questions \
if not str(question.id) in question_list]
return my_render_to_response('yaksh/ajax_questions.html',
@@ -1003,7 +1002,7 @@ def design_questionpaper(request):
if random_questions:
for random_question, num in zip(random_questions, random_number):
qid = random_question.split(',')[0]
- question = Question.objects.get(id=int(qid), user_id=user.id)
+ question = Question.objects.get(id=int(qid))
marks = question.points
question_set = QuestionSet(marks=marks, num_questions=num)
question_set.save()
@@ -1167,7 +1166,7 @@ def download_questions(request):
if not is_moderator(user):
raise Http404('You are not allowed to view this page!')
question = Question()
- questions = question.dump_questions_into_json(user)
+ questions = question.dump_into_json(user)
response = HttpResponse(questions, content_type='text/json')
response['Content-Disposition'] = 'attachment; filename="{0}_questions.json"'\
.format(user)
@@ -1188,11 +1187,8 @@ def upload_questions(request):
if questions_file.name.split('.')[1] == "json":
questions_list = questions_file.read()
question = Question()
- question.load_questions_from_json(questions_list, user)
+ question.load_from_json(questions_list, user)
return my_redirect('/exam/manage/questions')
else:
raise Http404("Please Upload a JSON file")
- else:
- return my_redirect('/exam/manage/questions')
- else:
- return my_redirect('/exam/manage/questions')
+ return my_redirect('/exam/manage/questions')