list_filter = ['course__title', 'period', 'session']
search_fields = ['corrector__username', 'corrector__last_name']
+ def render_change_form(self, request, context, *args, **kwargs):
+ context['adminform'].form.fields['corrector'].queryset = User.objects.filter(is_active=True).filter(Q(corrector__isnull=False) | Q(is_superuser=True))
+ return super(QuotaAdmin, self).render_change_form(request, context, *args, **kwargs)
+
def corrector_name(self, instance):
- return instance.corrector.last_name + ' ' + instance.corrector.first_name
+ if instance.corrector:
+ return instance.corrector.last_name + ' ' + instance.corrector.first_name
+ else:
+ return "Aucun"
class ScriptPageInline(admin.StackedInline):
course = models.ForeignKey(Course, related_name="quotas", verbose_name=_(
'course'), null=True, blank=True, on_delete=models.SET_NULL)
corrector = models.ForeignKey(User, related_name="quotas", verbose_name=_(
- 'corrector'), null=True, blank=True, on_delete=models.SET_NULL)
+ 'corrector'), null=True, blank=False, on_delete=models.SET_NULL)
period = models.ForeignKey(Period, related_name='quotas', verbose_name=_(
'period'), null=True, blank=True, on_delete=models.SET_NULL)
session = models.CharField(
--- /dev/null
+from optparse import make_option
+from django.conf import settings
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.auth.models import User
+from django.template.defaultfilters import slugify
+from teleforma.exam.models import *
+import logging
+import codecs
+
+
+class Command(BaseCommand):
+ help = "Set corrector to unassigned pending scripts"
+
+ def handle(self, *args, **options):
+ scripts = Script.objects.filter(corrector=None, status='3')
+ for script in scripts:
+ script.auto_set_corrector()
+ print(f"set corrector {script.corrector} for script {script.id}")
\ No newline at end of file