--- /dev/null
+# Generated by Django 3.2.13 on 2023-06-06 11:36
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('teleforma', '0024_auto_20230316_1627'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='course',
+ name='correction_copies_shared',
+ field=models.BooleanField(default=False, help_text='A utiliser avec le champ relatif dans la période.', verbose_name='Correction de copies partagés'),
+ ),
+ migrations.AddField(
+ model_name='period',
+ name='correction_copies_from',
+ field=models.ForeignKey(blank=True, help_text="Permet d'afficher les séminaires de corrections de copies d'une autre période. Il faut aussi cocher la case relative dans les matières pour autoriser celles-ci à partager leur contenu.", null=True, on_delete=django.db.models.deletion.SET_NULL, to='teleforma.period', verbose_name='Récupérer les séminaires de correction de copies depuis'),
+ ),
+ ]
"date d'ouverture des inscriptions", null=True, blank=True)
date_inscription_end = models.DateField(
"date de fermeture des inscriptions", null=True, blank=True)
+ correction_copies_from = models.ForeignKey('Period',
+ verbose_name="Récupérer les séminaires de correction de copies depuis",
+ help_text="Permet d'afficher les séminaires de corrections de copies d'une autre période. Il faut aussi cocher la case relative dans les matières pour autoriser celles-ci à partager leur contenu.",
+ blank=True, null=True, on_delete=models.SET_NULL)
def __str__(self):
return self.name
periods = models.ManyToManyField('Period', related_name="courses",
verbose_name=u'Périodes associées',
blank=True)
+ correction_copies_shared = models.BooleanField("Correction de copies partagés",
+ help_text="A utiliser avec le champ relatif dans la période.",
+ default=False)
def __str__(self):
return self.title
context['webclass_not_over'] = webclass and webclass.is_not_over()
records = {}
+ period = context['period']
+ shared_records = {}
try:
- records = WebclassRecord.get_records(context['period'], course)
+ records = WebclassRecord.get_records(period, course)
+ if period.correction_copies_from and course.correction_copies_shared:
+ shared_records = WebclassRecord.get_records(period.correction_copies_from, course)
except Exception as e:
print(e)
context['webclass_error'] = True
context['webclass_records'] = records.get(WebclassRecord.WEBCLASS)
- context['webclass_corrections_records'] = records.get(WebclassRecord.CORRECTION)
-
+ context['webclass_corrections_records'] = records.get(WebclassRecord.CORRECTION, [])
+ if shared_records:
+ context['webclass_corrections_records'].extend(shared_records.get(WebclassRecord.CORRECTION, []))
+ context['webclass_corrections_records'] = sorted(context['webclass_corrections_records'], key=lambda w:w['start_date'])
return context
@method_decorator(access_required)