Add the Course model

This commit is contained in:
Claude Paroz 2017-07-14 10:19:12 +02:00
parent d0cc60fb3e
commit 7b62c9cba1
3 changed files with 61 additions and 1 deletions

View file

@ -4,7 +4,7 @@ from django.db import models
from stages.models import (
Teacher, Student, Section, Level, Klass, Referent, Corporation,
CorpContact, Domain, Period, Availability, Training,
CorpContact, Domain, Period, Availability, Training, Course,
)
@ -186,6 +186,7 @@ admin.site.register(Klass, KlassAdmin)
admin.site.register(Student, StudentAdmin)
admin.site.register(Referent, ReferentAdmin)
admin.site.register(Teacher, TeacherAdmin)
admin.site.register(Course)
admin.site.register(Corporation, CorporationAdmin)
admin.site.register(CorpContact, CorpContactAdmin)
admin.site.register(Domain)

View file

@ -0,0 +1,27 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('stages', '0012_added_student_fields'),
]
operations = [
migrations.CreateModel(
name='Course',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('klass', models.CharField(default='', max_length=40, verbose_name='Classe(s)')),
('subject', models.CharField(default='', max_length=100, verbose_name='Sujet')),
('section', models.CharField(default='', max_length=10, verbose_name='Section')),
('period', models.IntegerField(default=0, verbose_name='Nb de périodes')),
('imputation', models.CharField(choices=[('ASAFE', 'ASAFE'), ('ASEFE', 'ASEFE'), ('ASSCFE', 'ASSCFE'), ('EDEpe', 'EDEpe'), ('EDEps', 'EDEps'), ('EDE', 'EDE'), ('EDS', 'EDS'), ('CAS-FPP', 'CAS-FPP')], max_length=10, verbose_name='Imputation')),
('teacher', models.ForeignKey(blank=True, null=True, on_delete=models.deletion.SET_NULL, to='stages.Teacher', verbose_name="Enseignant-e")),
],
options={
'verbose_name': 'Cours',
'verbose_name_plural': 'Cours',
},
),
]

View file

@ -337,3 +337,35 @@ class Training(models.Model):
'comment_avail': self.availability.comment,
'domain': str(self.availability.domain),
}
IMPUTATION_CHOICES = (
('ASAFE', 'ASAFE'),
('ASEFE', 'ASEFE'),
('ASSCFE','ASSCFE'),
('EDEpe', 'EDEpe'),
('EDEps', 'EDEps'),
('EDE', 'EDE'),
('EDS', 'EDS'),
('CAS-FPP', 'CAS-FPP'),
)
class Course(models.Model):
"""Cours et mandats attribués aux enseignants"""
teacher = models.ForeignKey(Teacher, blank=True, null=True,
verbose_name="Enseignant-e", on_delete=models.SET_NULL)
klass = models.CharField("Classe(s)", max_length=40, default='')
subject = models.CharField("Sujet", max_length=100, default='')
section = models.CharField("Section", max_length=10, default='')
period = models.IntegerField("Nb de périodes", default=0)
# Imputation comptable: compte dans lequel les frais du cours seront imputés
imputation = models.CharField("Imputation", max_length=10, choices=IMPUTATION_CHOICES)
class Meta:
verbose_name = 'Cours'
verbose_name_plural = 'Cours'
def __str__(self):
return '{0} - {1} - {2} - {3} - {4}'.format(
self.teacher, self.klass, self.subject, self.period, self.section
)