class Meta:
model = Script
- exclude = ['uuid', 'mime_type', 'sha1', 'url',
+ exclude = ['uuid', 'mime_type', 'sha1', 'url', 'type'
'date_submitted', 'date_rejected', 'date_marked',
'box_uuid',]
#hidden_fields = ['status']
period = models.ForeignKey(Period, related_name='scripts', verbose_name=_('period'),
null=True, blank=True, on_delete=models.SET_NULL)
session = models.CharField(_('session'), max_length=16, default="1")
- type = models.ForeignKey(ScriptType, related_name='scripts', verbose_name=_('type'), null=True, on_delete=models.SET_NULL)
+ type = models.ForeignKey(ScriptType, related_name='scripts', verbose_name=_('type'), null=True, blank=True, on_delete=models.SET_NULL)
author = models.ForeignKey(User, related_name="author_scripts", verbose_name=_('author'), null=True, blank=True, on_delete=models.SET_NULL)
corrector = models.ForeignKey(User, related_name="corrector_scripts", verbose_name=_('corrector'), blank=True, null=True, on_delete=models.SET_NULL)
file = models.FileField(_('PDF file'), upload_to='scripts/%Y/%m/%d', max_length=1024, blank=True)
def form_valid(self, form):
scripts = Script.objects.filter(course=form.cleaned_data['course'], session=form.cleaned_data['session'],
- type=form.cleaned_data['type'], author=self.request.user, period=self.period).exclude(status=0)
+ author=self.request.user, period=self.period).exclude(status=0)
if scripts:
messages.error(self.request, _("Error: you have already submitted a script for this session, the same course and the same type!"))
return redirect('teleforma-exam-script-create', self.period.id)
def get_context_data(self, **kwargs):
context = super(ScriptCreateView, self).get_context_data(**kwargs)
- context['create_fields'] = ['course', 'session', 'type', 'file' ]
+ context['create_fields'] = ['course', 'session', 'file' ]
context['form'].fields['course'].queryset = context['courses']
return context
session = request.GET.get('session')
course_id = request.GET.get('course_id')
q = request.GET.get('q[term]')
- # import pdb;pdb.set_trace()
students = Student.objects.filter(period = period).filter(Q(user__username__icontains=q) | Q(user__last_name__icontains=q) | Q(user__first_name__icontains=q))
# Exclude students who already have a script for this session