X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/338df01332addc2146023ae2ed3a6f2730fb0098..543746a467e90915f7eaf60b7b09f5fa498056e0:/wtem/forms.py diff --git a/wtem/forms.py b/wtem/forms.py new file mode 100644 index 0000000..fcce303 --- /dev/null +++ b/wtem/forms.py @@ -0,0 +1,31 @@ +import os + +from django import forms +from django.utils import simplejson + +from .models import Submission, Attachment, exercises + + +class WTEMForm(forms.ModelForm): + class Meta: + model = Submission + fields = ('answers',) + + def __init__(self, *args, **kwargs): + super(WTEMForm, self).__init__(*args, **kwargs) + for exercise in exercises: + if exercise['type'] != 'file_upload': + continue + self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False) + + def save(self): + submission = super(WTEMForm, self).save() + for name, file in self.files.items(): + exercise_id = int(name.split('_')[-1]) + try: + attachment = Attachment.objects.get(submission = submission, exercise_id = exercise_id) + except Attachment.DoesNotExist: + attachment = Attachment(submission = submission, exercise_id = exercise_id) + attachment.file = file + attachment.save() +