summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorankitjavalkar2016-10-04 18:34:00 +0530
committerankitjavalkar2016-10-13 15:12:07 +0530
commit40c43990ce2b352b85711beef2763aa22763faa9 (patch)
treecc2c9e5c2446e9813c8f2b14cf70a7ec451e83fd
parent9b60cc7b8f000f96d5f818f759a6c63d5a26f239 (diff)
downloadonline_test-40c43990ce2b352b85711beef2763aa22763faa9.tar.gz
online_test-40c43990ce2b352b85711beef2763aa22763faa9.tar.bz2
online_test-40c43990ce2b352b85711beef2763aa22763faa9.zip
Hide questions instead of deletion
-rw-r--r--yaksh/forms.py2
-rw-r--r--yaksh/models.py7
-rw-r--r--yaksh/templates/yaksh/add_question.html2
-rw-r--r--yaksh/views.py12
4 files changed, 11 insertions, 12 deletions
diff --git a/yaksh/forms.py b/yaksh/forms.py
index bc9b4c0..1931fad 100644
--- a/yaksh/forms.py
+++ b/yaksh/forms.py
@@ -177,7 +177,7 @@ class QuestionForm(forms.ModelForm):
class Meta:
model = Question
- exclude = ['user']
+ exclude = ['user', 'active']
class FileForm(forms.Form):
diff --git a/yaksh/models.py b/yaksh/models.py
index f098cd2..432f25e 100644
--- a/yaksh/models.py
+++ b/yaksh/models.py
@@ -271,7 +271,7 @@ class Question(models.Model):
return json.dumps(question_data)
def dump_questions(self, question_ids, user):
- questions = Question.objects.filter(id__in=question_ids, user_id=user.id)
+ questions = Question.objects.filter(id__in=question_ids, user_id=user.id, active=True)
questions_dict = []
zip_file_name = string_io()
zip_file = zipfile.ZipFile(zip_file_name, "a")
@@ -764,8 +764,9 @@ class AnswerPaperManager(models.Manager):
attempt_number)
questions = self.get_all_questions(questionpaper_id, attempt_number)
all_questions = Question.objects.filter(
- id__in=set(questions)
- ).order_by('type')
+ id__in=set(questions),
+ active=True
+ ).order_by('type')
for question in all_questions:
if question.id in questions_answered:
question_stats[question] = [questions_answered[question.id],
diff --git a/yaksh/templates/yaksh/add_question.html b/yaksh/templates/yaksh/add_question.html
index f003256..5a5f1ce 100644
--- a/yaksh/templates/yaksh/add_question.html
+++ b/yaksh/templates/yaksh/add_question.html
@@ -20,7 +20,7 @@
<center><table class=span1>
<tr><td>Summary: <td>{{ form.summary }}{{ form.summary.errors }}
<tr><td> Language: <td> {{form.language}}{{form.language.errors}}
- <tr><td> Active: <td> {{ form.active }}{{form.active.errors}} &nbsp; Type: &nbsp;{{ form.type }}{{form.type.errors}}
+ <tr><td> Type: <td> {{ form.type }}{{form.type.errors}}
<tr><td>Points:<td><button class="btn-mini" type="button" onClick="increase(frm);">+</button>{{form.points }}<button class="btn-mini" type="button" onClick="decrease(frm);">-</button>{{ form.points.errors }}
<tr><td><strong>Rendered: </strong><td><p id='my'></p>
<tr><td>Description: <td>{{ form.description}} {{form.description.errors}}
diff --git a/yaksh/views.py b/yaksh/views.py
index 049788a..d26c5df 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -915,12 +915,10 @@ def show_all_questions(request):
if request.POST.get('delete') == 'delete':
data = request.POST.getlist('question')
if data is not None:
- questions = Question.objects.filter(id__in=data, user_id=user.id)
- files = FileUpload.objects.filter(question_id__in=questions)
- if files:
- for file in files:
- file.remove()
- questions.delete()
+ questions = Question.objects.filter(id__in=data, user_id=user.id, active=True)
+ for q in questions:
+ q.active = False
+ q.save()
if request.POST.get('upload') == 'upload':
form = UploadFileForm(request.POST, request.FILES)
@@ -959,7 +957,7 @@ def show_all_questions(request):
else:
context["msg"] = "Please select atleast one question to test"
- questions = Question.objects.filter(user_id=user.id)
+ questions = Question.objects.filter(user_id=user.id, active=True)
form = QuestionFilterForm(user=user)
upload_form = UploadFileForm()
context['papers'] = []