Newer
Older
# Generated by Django 2.2.5 on 2019-09-03 18:30
import biscuit.apps.chronos.util
import biscuit.core.util.core_helpers
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.CreateModel(
name='Lesson',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_start', models.DateField(null=True, verbose_name='Effective start date of lesson')),
('date_end', models.DateField(null=True, verbose_name='Effective end date of lesson')),
('groups', models.ManyToManyField(related_name='lessons', to='core.Group')),
],
options={
'ordering': ['date_start'],
},
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lesson_periods', to='chronos.Lesson')),
options={
'ordering': ['lesson__date_start', 'period__weekday', 'period__period'],
},
migrations.CreateModel(
name='TimePeriod',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('weekday', models.PositiveSmallIntegerField(choices=[(0, 'Sunday'), (1, 'Monday'), (2, 'Tuesday'), (3, 'Wednesday'), (4, 'Thursday'), (5, 'Friday'), (6, 'Saturday')], verbose_name='Week day')),
('period', models.PositiveSmallIntegerField(verbose_name='Number of period')),
('time_start', models.TimeField(verbose_name='Time the period starts')),
('time_end', models.TimeField(verbose_name='Time the period ends')),
('school', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='core.School')),
options={
'ordering': ['weekday', 'period'],
'unique_together': {('school', 'weekday', 'period')},
},
migrations.CreateModel(
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('abbrev', models.CharField(max_length=10, verbose_name='Abbreviation of subject in timetable')),
('name', models.CharField(max_length=30, verbose_name='Long name of subject')),
('colour_fg', models.CharField(blank=True, max_length=7, validators=[django.core.validators.RegexValidator('#[0-9A-F]{6}')], verbose_name='Foreground colour in timetable')),
('colour_bg', models.CharField(blank=True, max_length=7, validators=[django.core.validators.RegexValidator('#[0-9A-F]{6}')], verbose_name='Background colour in timetable')),
('school', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='core.School')),
options={
'ordering': ['name', 'abbrev'],
'unique_together': {('school', 'abbrev'), ('school', 'name')},
},
),
migrations.CreateModel(
name='Room',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('short_name', models.CharField(max_length=10, verbose_name='Short name, e.g. room number')),
('name', models.CharField(max_length=30, verbose_name='Long name')),
('school', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='core.School')),
],
options={
'ordering': ['name', 'short_name'],
'unique_together': {('school', 'name'), ('school', 'short_name')},
},
),
migrations.CreateModel(
name='LessonSubstitution',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('week', models.IntegerField(default=biscuit.apps.chronos.util.CalendarWeek.current_week, verbose_name='Week')),
('lesson_period', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='substitutions', to='chronos.LessonPeriod')),
('room', models.ForeignKey(null=True, blank=True, on_delete=django.db.models.deletion.CASCADE, to='chronos.Room', verbose_name='Room')),
('school', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='core.School')),
('subject', models.ForeignKey(null=True, blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='lesson_substitutions', to='chronos.Subject', verbose_name='Subject')),
('teachers', models.ManyToManyField(blank=True, related_name='lesson_substitutions', to='core.Person')),
],
options={
'ordering': ['lesson_period__lesson__date_start', 'week', 'lesson_period__period__weekday', 'lesson_period__period__period'],
},
),
migrations.AddField(
model_name='lessonperiod',
name='period',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lesson_periods', to='chronos.TimePeriod'),
),
migrations.AddField(
model_name='lessonperiod',
name='room',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='lesson_periods', to='chronos.Room'),
),
migrations.AddField(
model_name='lessonperiod',
name='school',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='core.School'),
migrations.AddField(
model_name='lesson',
name='periods',
field=models.ManyToManyField(related_name='lessons', through='chronos.LessonPeriod', to='chronos.TimePeriod'),
),
migrations.AddField(
model_name='lesson',
name='school',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='core.School'),
),
migrations.AddField(
model_name='lesson',
name='subject',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lessons', to='chronos.Subject'),
),
migrations.AddField(
model_name='lesson',
name='teachers',
field=models.ManyToManyField(related_name='lessons', to='core.Person'),