Add new examEDEsession model and more Student fields
This commit is contained in:
parent
0a9ecd8c96
commit
041bc6cdab
3 changed files with 112 additions and 2 deletions
|
|
@ -11,7 +11,7 @@ from django.http import HttpResponse
|
|||
from .models import (
|
||||
Teacher, Option, Student, Section, Level, Klass, Corporation,
|
||||
CorpContact, Domain, Period, Availability, Training, Course,
|
||||
LogBookReason, LogBook,
|
||||
LogBookReason, LogBook, ExamEDESession
|
||||
)
|
||||
from .pdf import ChargeSheetPDF
|
||||
|
||||
|
|
@ -273,3 +273,4 @@ admin.site.register(Availability, AvailabilityAdmin)
|
|||
admin.site.register(Training, TrainingAdmin)
|
||||
admin.site.register(LogBookReason)
|
||||
admin.site.register(LogBook)
|
||||
admin.site.register(ExamEDESession)
|
||||
|
|
|
|||
83
stages/migrations/0010_add_fields_for_examEDEsession.py
Normal file
83
stages/migrations/0010_add_fields_for_examEDEsession.py
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# Generated by Django 2.0.1 on 2018-03-19 18:35
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('stages', '0009_corpcontact_corp_nullable'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ExamEDESession',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('year', models.PositiveIntegerField()),
|
||||
('season', models.CharField(max_length=10, verbose_name='saison')),
|
||||
],
|
||||
options={'verbose_name': 'Session d’examen EDE'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='date_exam',
|
||||
field=models.DateTimeField(blank=True, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='internal_expert',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rel_internal_expert', to='stages.Teacher', verbose_name='Expert interne'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='last_appointment',
|
||||
field=models.DateField(blank=True, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='mark',
|
||||
field=models.DecimalField(blank=True, decimal_places=2, max_digits=3, null=True, verbose_name='Note'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='referent',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rel_referent', to='stages.Teacher', verbose_name='Référent avant-projet'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='room',
|
||||
field=models.CharField(blank=True, max_length=15, verbose_name='Salle'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='subject',
|
||||
field=models.TextField(blank=True, verbose_name='Résumé TD'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='title',
|
||||
field=models.TextField(blank=True, verbose_name='Titre du TD'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='training_referent',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rel_training_referent', to='stages.Teacher', verbose_name='Référent de stage'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='period',
|
||||
name='section',
|
||||
field=models.ForeignKey(limit_choices_to={'name__startswith': 'MP'}, on_delete=django.db.models.deletion.PROTECT, to='stages.Section', verbose_name='Filière'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='student',
|
||||
name='expert',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rel_expert', to='stages.CorpContact', verbose_name='Expert externe'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='session',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stages.ExamEDESession'),
|
||||
),
|
||||
]
|
||||
|
|
@ -182,6 +182,17 @@ class Option(models.Model):
|
|||
return self.name
|
||||
|
||||
|
||||
class ExamEDESession(models.Model):
|
||||
year = models.PositiveIntegerField()
|
||||
season = models.CharField('saison', max_length=10)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Session d’examen EDE"
|
||||
|
||||
def __str__(self):
|
||||
return '{0} {1}'.format(self.year, self.season)
|
||||
|
||||
|
||||
GENDER_CHOICES = (
|
||||
('M', 'Masculin'),
|
||||
('F', 'Féminin'),
|
||||
|
|
@ -213,7 +224,7 @@ class Student(models.Model):
|
|||
null=True, blank=True, on_delete=models.SET_NULL)
|
||||
mentor = models.ForeignKey('CorpContact', related_name='rel_mentor', verbose_name='Mentor',
|
||||
null=True, blank=True, on_delete=models.SET_NULL)
|
||||
expert = models.ForeignKey('CorpContact', related_name='rel_expert', verbose_name='Expert',
|
||||
expert = models.ForeignKey('CorpContact', related_name='rel_expert', verbose_name='Expert externe',
|
||||
null=True, blank=True, on_delete=models.SET_NULL)
|
||||
klass = models.ForeignKey(Klass, verbose_name='Classe', blank=True, null=True,
|
||||
on_delete=models.PROTECT)
|
||||
|
|
@ -223,6 +234,21 @@ class Student(models.Model):
|
|||
report_sem2_sent = models.DateTimeField('Date envoi bull. sem 2', null=True, blank=True)
|
||||
archived = models.BooleanField(default=False, verbose_name='Archivé')
|
||||
archived_text = models.TextField(blank=True)
|
||||
# ============== Fields for examination ======================
|
||||
subject = models.TextField('Résumé TD', blank=True)
|
||||
title = models.TextField('Titre du TD', blank=True)
|
||||
training_referent = models.ForeignKey(Teacher, null=True, blank=True, related_name='rel_training_referent',
|
||||
on_delete=models.SET_NULL, verbose_name='Référent de stage')
|
||||
referent = models.ForeignKey(Teacher, null=True, blank=True, related_name='rel_referent',
|
||||
on_delete=models.SET_NULL, verbose_name='Référent avant-projet')
|
||||
internal_expert = models.ForeignKey(Teacher, related_name='rel_internal_expert', verbose_name='Expert interne',
|
||||
null=True, blank=True, on_delete=models.SET_NULL)
|
||||
session = models.ForeignKey(ExamEDESession, null=True, blank=True, on_delete=models.SET_NULL)
|
||||
date_exam = models.DateTimeField(blank=True, null=True)
|
||||
last_appointment = models.DateField(blank=True, null=True)
|
||||
room = models.CharField('Salle', max_length=15, blank=True)
|
||||
mark = models.DecimalField('Note', max_digits=3, decimal_places=2, blank=True, null=True)
|
||||
# ============== Fields for examination ======================
|
||||
|
||||
support_tabimport = True
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue