- if exercise['type'] == 'open' or exercise.get('open_part', None):
- answer_field_name = 'exercise_%s' % exercise['id']
- mark_field_name = 'markof_%s_by_%s' % (exercise['id'], request.user.id)
+
+ answer_field_name = 'exercise_%s' % exercise['id']
+ mark_field_name = 'markof_%s_by_%s' % (exercise['id'], request.user.id)
+ if exercise['type'] in ('open', 'file_upload') or exercise.get('open_part', None):
+ if exercise['type'] == 'file_upload':
+ try:
+ attachment = Attachment.objects.get(submission = submission, exercise_id = exercise['id'])
+ except Attachment.DoesNotExist:
+ attachment = None
+ widget = AttachmentWidget
+ initial = attachment.file.url if attachment else None
+ else:
+ widget = forms.Textarea(attrs={'readonly':True})
+ initial = get_open_answer(answers, exercise)
+