Skip to content
Snippets Groups Projects
Verified Commit 4778dcc1 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Add missing models for supervisions

parent 528ed6ef
No related branches found
No related tags found
1 merge request!39Resolve "Models for advanced features from SchoolApps (imported from Untis)"
......@@ -97,6 +97,50 @@ class Migration(migrations.Migration):
'ordering': ['name'],
},
),
migrations.CreateModel(
name='Break',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', django.contrib.postgres.fields.jsonb.JSONField(default=dict, editable=False)),
('short_name', models.CharField(max_length=10, verbose_name='Short name')),
('name', models.CharField(max_length=50, verbose_name='Long name')),
('weekday', models.PositiveSmallIntegerField(
choices=[(0, 'Montag'), (1, 'Dienstag'), (2, 'Mittwoch'), (3, 'Donnerstag'), (4, 'Freitag'),
(5, 'Samstag'), (6, 'Sonntag')], verbose_name='Week day')),
('time_start', models.TimeField(verbose_name='Start time')),
('time_end', models.TimeField(verbose_name='End time')),
],
options={
'verbose_name': 'Break',
'verbose_name_plural': 'Breaks',
'ordering': ['weekday', 'time_start'],
},
),
migrations.CreateModel(
name='Supervision',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', django.contrib.postgres.fields.jsonb.JSONField(default=dict, editable=False)),
],
options={
'verbose_name': 'Supervision',
'verbose_name_plural': 'Supervisions',
'ordering': ['area', 'break_item'],
},
),
migrations.CreateModel(
name='SupervisionSubstitution',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', django.contrib.postgres.fields.jsonb.JSONField(default=dict, editable=False)),
('date', models.DateField(verbose_name='Date')),
],
options={
'verbose_name': 'Supervision substitution',
'verbose_name_plural': 'Supervision substitutions',
'ordering': ['date', 'supervision'],
},
),
migrations.AddIndex(
model_name='holiday',
index=models.Index(fields=['date_start', 'date_end'], name='chronos_hol_date_st_a47004_idx'),
......@@ -193,4 +237,43 @@ class Migration(migrations.Migration):
name='cancelled',
field=models.BooleanField(default=False, verbose_name='Cancelled?'),
),
migrations.AddField(
model_name='event',
name='groups',
field=models.ManyToManyField(related_name='events', to='core.Group', verbose_name='Groups'),
),
migrations.AddField(
model_name='supervisionsubstitution',
name='supervision',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='substitutions',
to='chronos.Supervision', verbose_name='Supervision'),
),
migrations.AddField(
model_name='supervisionsubstitution',
name='teacher',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='substituted_supervisions', to='core.Person', verbose_name='Teacher'),
),
migrations.AddField(
model_name='supervision',
name='area',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='supervisions',
to='chronos.SupervisionArea', verbose_name='Supervision area'),
),
migrations.AddField(
model_name='supervision',
name='break_item',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='supervisions',
to='chronos.Break', verbose_name='Break'),
),
migrations.AddField(
model_name='supervision',
name='teacher',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='supervisions',
to='core.Person', verbose_name='Teacher'),
),
migrations.AddIndex(
model_name='break',
index=models.Index(fields=['weekday', 'time_start', 'time_end'], name='chronos_bre_weekday_165338_idx'),
),
]
......@@ -653,7 +653,43 @@ class SupervisionArea(ExtensibleModel):
class Meta:
ordering = ["name"]
verbose_name = _("Supervision area")
verbose_name = _("Supervision areas")
verbose_name_plural = _("Supervision areas")
class Break(ExtensibleModel):
short_name = models.CharField(verbose_name=_("Short name"), max_length=10)
name = models.CharField(verbose_name=_("Long name"), max_length=50)
weekday = models.PositiveSmallIntegerField(verbose_name=_("Week day"), choices=TimePeriod.WEEKDAY_CHOICES)
time_start = models.TimeField(verbose_name=_("Start time"))
time_end = models.TimeField(verbose_name=_("End time"))
class Meta:
ordering = ["weekday", "time_start"]
indexes = [models.Index(fields=["weekday", "time_start", "time_end"])]
verbose_name = _("Break")
verbose_name_plural = _("Breaks")
class Supervision(ExtensibleModel):
area = models.ForeignKey(SupervisionArea, models.CASCADE, verbose_name=_("Supervision area"), related_name="supervisions")
break_item = models.ForeignKey(Break, models.CASCADE, verbose_name=_("Break"), related_name="supervisions")
teacher = models.ForeignKey("core.Person", models.CASCADE, related_name="supervisions", verbose_name=_("Teacher"))
class Meta:
ordering = ["area", "break_item"]
verbose_name= _("Supervision")
verbose_name_plural = _("Supervisions")
class SupervisionSubstitution(ExtensibleModel):
date = models.DateField(verbose_name=_("Date"))
supervision = models.ForeignKey(Supervision, models.CASCADE, verbose_name=_("Supervision"), related_name="substitutions")
teacher = models.ForeignKey("core.Person", models.CASCADE, related_name="substituted_supervisions", verbose_name=_("Teacher"))
class Meta:
ordering = ["date", "supervision"]
verbose_name = _("Supervision substitution")
verbose_name_plural = _("Supervision substitutions")
class Event(ExtensibleModel):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment