diff --git a/candidats/migrations/0001_initial.py b/candidats/migrations/0001_initial.py
index bd3f605..0b13540 100644
--- a/candidats/migrations/0001_initial.py
+++ b/candidats/migrations/0001_initial.py
@@ -58,9 +58,9 @@ class Migration(migrations.Migration):
('total_result_mark', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Note finale')),
('accepted', models.BooleanField(default=False, verbose_name='Admis')),
('corporation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stages.Corporation', verbose_name='Employeur')),
- ('file_resp', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='stages.Teacher', verbose_name='Exp. dossier')),
+ ('file_resp', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='stages.Teacher', verbose_name='Exp. dossier')),
('instructor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stages.CorpContact', verbose_name='FEE/FPP')),
- ('interview_resp', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='stages.Teacher', verbose_name='Exp. entretien')),
+ ('interview_resp', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='stages.Teacher', verbose_name='Exp. entretien')),
],
options={
'verbose_name': 'Candidat',
diff --git a/candidats/models.py b/candidats/models.py
index 83ae97c..fcbf7ab 100644
--- a/candidats/models.py
+++ b/candidats/models.py
@@ -84,10 +84,12 @@ class Candidate(models.Model):
accepted = models.BooleanField('Admis', default=False)
interview_resp = models.ForeignKey(
- 'stages.Teacher', null=True, blank=True, related_name='+', verbose_name='Exp. entretien'
+ 'stages.Teacher', null=True, blank=True, related_name='+', verbose_name='Exp. entretien',
+ on_delete=models.SET_NULL
)
file_resp = models.ForeignKey(
- 'stages.Teacher', null=True, blank=True, related_name='+', verbose_name='Exp. dossier'
+ 'stages.Teacher', null=True, blank=True, related_name='+', verbose_name='Exp. dossier',
+ on_delete=models.SET_NULL
)
class Meta:
diff --git a/stages/pdf.py b/stages/pdf.py
index 2bca1fb..95966f1 100644
--- a/stages/pdf.py
+++ b/stages/pdf.py
@@ -34,7 +34,8 @@ class ChargeSheetPDF(SimpleDocTemplate):
def produce(self, activities):
self.story = []
- self.story.append(Image(find('img/header.gif'), width=520, height=75))
+ header = open(find('img/header.gif'), 'rb')
+ self.story.append(Image(header, width=520, height=75))
self.story.append(Spacer(0, 2*cm))
destinataire = '{0}
{1}'.format(self.teacher.civility, str(self.teacher))
self.story.append(Paragraph(destinataire, style_adress))
@@ -80,6 +81,7 @@ class ChargeSheetPDF(SimpleDocTemplate):
self.story.append(Paragraph(d, style_normal))
self.story.append(PageBreak())
self.build(self.story)
+ header.close()
class UpdateDataFormPDF(SimpleDocTemplate):
@@ -100,8 +102,9 @@ class UpdateDataFormPDF(SimpleDocTemplate):
def produce(self, klass):
self.story = []
+ header = open(find('img/header.gif'), 'rb')
for student in klass.student_set.filter(archived=False):
- self.story.append(Image(find('img/header.gif'), width=520, height=75))
+ self.story.append(Image(header, width=520, height=75))
self.story.append(Spacer(0, 2*cm))
destinataire = '{0}
{1}
{2}'.format(student.civility, student.full_name, student.klass)
self.story.append(Paragraph(destinataire, style_adress))
@@ -180,6 +183,7 @@ class UpdateDataFormPDF(SimpleDocTemplate):
self.story.append(Paragraph("Pas d'élèves dans cette classe", style_normal))
self.build(self.story)
+ header.close()
def is_corp_required(self, klass_name):
return any(el in klass_name for el in ['FE', 'EDS', 'EDEpe'])