fnp
/
edumed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add submodule librarian
[edumed.git]
/
wtem
/
forms.py
diff --git
a/wtem/forms.py
b/wtem/forms.py
index
c0da211
..
504fd26
100644
(file)
--- a/
wtem/forms.py
+++ b/
wtem/forms.py
@@
-1,9
+1,10
@@
import os
import os
+import re
from django import forms
from django.utils import simplejson
from django import forms
from django.utils import simplejson
-from .models import Submission, Attachment
+from .models import Submission, Attachment
, exercises
class WTEMForm(forms.ModelForm):
class WTEMForm(forms.ModelForm):
@@
-13,25
+14,21
@@
class WTEMForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(WTEMForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs):
super(WTEMForm, self).__init__(*args, **kwargs)
-
- ## @@ move this one level up
- f = file(os.path.dirname(__file__) + '/fixtures/exercises.json')
- exercises = simplejson.loads(f.read())
- f.close()
-
for exercise in exercises:
if exercise['type'] != 'file_upload':
continue
self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False)
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()
+ def save(self
, commit=True
):
+ submission = super(WTEMForm, self).save(
commit=commit
)
for name, file in self.files.items():
for name, file in self.files.items():
- exercise_id = int(name.split('_')[-1])
+ m = re.match(r'attachment_for_(\d+)(?:__(.*))?', name)
+ exercise_id = int(m.group(1))
+ tag = m.group(2) or None
try:
try:
- attachment = Attachment.objects.get(submission = submission, exercise_id = exercise_id)
+ attachment = Attachment.objects.get(submission = submission, exercise_id = exercise_id
, tag=tag
)
except Attachment.DoesNotExist:
except Attachment.DoesNotExist:
- attachment = Attachment(
fsubmission = submission, exercise_id = exercise_id
)
+ attachment = Attachment(
submission = submission, exercise_id = exercise_id, tag=tag
)
attachment.file = file
attachment.save()
attachment.file = file
attachment.save()