Skip to content
Snippets Groups Projects

Resolve "Add simple course book list"

Merged Hangzhi Yu requested to merge 256-add-simple-course-book-list into master
2 files
+ 260
2
Compare changes
  • Side-by-side
  • Inline
Files
2
# Generated by Django 4.2.4 on 2023-08-13 14:53
import aleksis.apps.alsijil.models
import aleksis.core.managers
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("sites", "0002_alter_domain_unique"),
("chronos", "0015_add_managed_by_app_label"),
("core", "0052_site_related_name"),
("cursus", "0001_initial"),
("alsijil", "0018_add_managed_by_app_label"),
]
operations = [
migrations.CreateModel(
name="Documentation",
fields=[
(
"calendarevent_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="core.calendarevent",
),
),
(
"topic",
models.CharField(blank=True, max_length=255, verbose_name="Lesson topic"),
),
("homework", models.CharField(blank=True, max_length=255, verbose_name="Homework")),
(
"group_note",
models.CharField(blank=True, max_length=255, verbose_name="Group note"),
),
(
"course",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="documentations",
to="cursus.course",
),
),
(
"lesson_event",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="documentation",
to="chronos.lessonevent",
),
),
(
"subject",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="+",
to="cursus.subject",
),
),
],
options={
"verbose_name": "Teaching documentation",
"verbose_name_plural": "Teaching documentations",
},
bases=("core.calendarevent",),
),
migrations.CreateModel(
name="Participation",
fields=[
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
),
),
(
"managed_by_app_label",
models.CharField(
blank=True,
editable=False,
max_length=255,
verbose_name="App label of app responsible for managing this instance",
),
),
("extended_data", models.JSONField(default=dict, editable=False)),
("remarks", models.CharField(blank=True, max_length=255)),
(
"documentation",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="participations",
to="alsijil.documentation",
),
),
(
"extra_marks",
models.ManyToManyField(
blank=True, to="alsijil.extramark", verbose_name="Extra marks"
),
),
("groups_of_person", models.ManyToManyField(related_name="+", to="core.group")),
(
"person",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="participations",
to="core.person",
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
related_name="+",
to="sites.site",
),
),
],
options={
"verbose_name": "Participation note",
"verbose_name_plural": "Participation notes",
"ordering": ["documentation", "person__last_name", "person__first_name"],
},
bases=(aleksis.apps.alsijil.models.RegisterObjectRelatedMixin, models.Model),
managers=[
("objects", aleksis.core.managers.AlekSISBaseManager()),
],
),
migrations.AddConstraint(
model_name="participation",
constraint=models.UniqueConstraint(
fields=("documentation", "person"), name="unique_participation_per_documentation"
),
),
migrations.AddConstraint(
model_name="documentation",
constraint=models.CheckConstraint(
check=models.Q(
("course__isnull", True), ("lesson_event__isnull", True), _negated=True
),
name="either_course_or_lesson_event",
),
),
]
Loading