diff options
author | adityacp | 2017-04-26 14:35:10 +0530 |
---|---|---|
committer | adityacp | 2017-04-26 14:35:10 +0530 |
commit | fdbc43f2216661c6166590b7f81cf598976167a0 (patch) | |
tree | 97bf44f4f06f830205d433188d7893922fc88136 /yaksh/models.py | |
parent | 66add60208394d9aebdc642564ad905d4fc096c4 (diff) | |
parent | 7da22eb25f2bd5c0a6c5ba29d1febacb4f03f939 (diff) | |
download | online_test-fdbc43f2216661c6166590b7f81cf598976167a0.tar.gz online_test-fdbc43f2216661c6166590b7f81cf598976167a0.tar.bz2 online_test-fdbc43f2216661c6166590b7f81cf598976167a0.zip |
Merge https://github.com/fossee/online_test into email_verification
Diffstat (limited to 'yaksh/models.py')
-rw-r--r-- | yaksh/models.py | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/yaksh/models.py b/yaksh/models.py index 3e80570..77b5ec4 100644 --- a/yaksh/models.py +++ b/yaksh/models.py @@ -79,7 +79,8 @@ test_status = ( def get_assignment_dir(instance, filename): return os.sep.join(( - instance.user.username, str(instance.assignmentQuestion.id), filename + instance.question_paper.quiz.description, instance.user.username, + str(instance.assignmentQuestion.id), filename )) @@ -1308,11 +1309,35 @@ class AnswerPaper(models.Model): .format(u.first_name, u.last_name, q.description) -############################################################################### +################################################################################ +class AssignmentUploadManager(models.Manager): + + def get_assignments(self, qp, que_id=None, user_id=None): + if que_id and user_id: + assignment_files = AssignmentUpload.objects.filter( + assignmentQuestion_id=que_id, user_id=user_id, + question_paper=qp + ) + file_name = User.objects.get(id=user_id).get_full_name() + else: + assignment_files = AssignmentUpload.objects.filter( + question_paper=qp + ) + + file_name = "{0}_Assignment_files".format( + assignment_files[0].question_paper.quiz.description + ) + + return assignment_files, file_name + + +################################################################################ class AssignmentUpload(models.Model): user = models.ForeignKey(User) assignmentQuestion = models.ForeignKey(Question) assignmentFile = models.FileField(upload_to=get_assignment_dir) + question_paper = models.ForeignKey(QuestionPaper, blank=True, null=True) + objects = AssignmentUploadManager() ############################################################################### @@ -1375,7 +1400,9 @@ class HookTestCase(TestCase): mark_fraction - Float, indicating fraction of the weight to a test case error - String, error message if success is false + In case of assignment upload there will be no user answer ''' + success = False err = "Incorrect Answer" # Please make this more specific mark_fraction = 0.0 |