From 0ddc053d169ee75b5a13581ee5aeb32baa39daf4 Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Mon, 9 Jan 2023 14:19:11 +0100 Subject: [PATCH] revert nb_scripts changed --- teleforma/exam/forms.py | 13 +---------- .../migrations/0021_auto_20221208_1214.py | 22 ------------------- teleforma/models/core.py | 11 ++-------- 3 files changed, 3 insertions(+), 43 deletions(-) delete mode 100644 teleforma/migrations/0021_auto_20221208_1214.py diff --git a/teleforma/exam/forms.py b/teleforma/exam/forms.py index 1be248fc..7d80f644 100644 --- a/teleforma/exam/forms.py +++ b/teleforma/exam/forms.py @@ -4,7 +4,6 @@ from django.core.exceptions import ValidationError from django.forms import ModelForm from ..exam.models import Script from ..models.core import get_n_choices -from ..models.crfpa import Student def validate_session(nb): @@ -18,19 +17,9 @@ class ScriptForm(ModelForm): def __init__(self, *args, **kwargs): period = kwargs.pop('period') - user = kwargs.pop('user') super(ScriptForm, self).__init__(*args, **kwargs) self.fields['score'].localize = False - try: - student = user.student.get() - except Student.DoesNotExist: - student = None - - if student: - nb = student.max_sessions() or settings.TELEFORMA_EXAM_MAX_SESSIONS - else: - nb = period.nb_scripts() or settings.TELEFORMA_EXAM_MAX_SESSIONS - + nb = period.nb_script or settings.TELEFORMA_EXAM_MAX_SESSIONS self.fields['session'] = forms.ChoiceField(choices=get_n_choices(nb + 1), validators=[validate_session(nb)]) self.fields['file'].required = True diff --git a/teleforma/migrations/0021_auto_20221208_1214.py b/teleforma/migrations/0021_auto_20221208_1214.py deleted file mode 100644 index e5f6653d..00000000 --- a/teleforma/migrations/0021_auto_20221208_1214.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.13 on 2022-12-08 12:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('teleforma', '0020_chatmessage_reply_to'), - ] - - operations = [ - migrations.RemoveField( - model_name='period', - name='nb_script', - ), - migrations.AddField( - model_name='training', - name='nb_script', - field=models.IntegerField(blank=True, default=12, null=True, verbose_name='nombre maximal de copies'), - ), - ] diff --git a/teleforma/models/core.py b/teleforma/models/core.py index b19d9067..125e2018 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -182,6 +182,8 @@ class Period(models.Model): is_open = models.BooleanField(_('is open'), default=True) date_exam_end = models.DateTimeField( _("date de fin d'examens"), null=True, blank=True) + nb_script = models.IntegerField( + _("nombre maximal de copies"), null=True, blank=True) date_close_accounts = models.DateField( "date de fermeture des comptes étudiants", null=True, blank=True) date_inscription_start = models.DateField( @@ -191,21 +193,12 @@ class Period(models.Model): def __str__(self): return self.name - - def nb_scripts(self): - """ max number of scripts among all trainings """ - max_scripts = 0 - for training in self.training.all(): - max_scripts = max(max_scripts, training.nb_script) - return max_scripts - class Meta(MetaCore): db_table = app_label + '_' + 'period' verbose_name = _('period') ordering = ['name'] - class CourseType(models.Model): name = models.CharField(_('name'), max_length=255) -- 2.39.5