Reset migrations

This commit is contained in:
Daniel Egger 2023-07-14 14:16:38 +02:00
parent 5bd8192f05
commit 7c2190feaa
61 changed files with 586 additions and 3049 deletions

View File

@ -1,325 +1,78 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.db import migrations, models
import django.db.models.deletion
import uuid
import wagtail.blocks
import wagtail.fields
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
('wagtailcore', '0083_workflowcontenttype'),
]
operations = [
migrations.CreateModel(
name="Assignment",
name='Assignment',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
(
"intro_text",
wagtail.fields.RichTextField(
help_text="Erläuterung der Ausgangslage"
),
),
(
"effort_required",
models.CharField(
blank=True, help_text="Zeitaufwand als Text", max_length=100
),
),
(
"performance_objectives",
wagtail.fields.StreamField(
[
(
"performance_objective",
wagtail.blocks.StructBlock(
[("text", wagtail.blocks.TextBlock())]
),
)
],
blank=True,
help_text="Leistungsziele des Auftrags",
use_json_field=True,
),
),
(
"tasks",
wagtail.fields.StreamField(
[
(
"task",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.TextBlock()),
(
"file_submission_required",
wagtail.blocks.BooleanBlock(required=False),
),
(
"content",
wagtail.blocks.StreamBlock(
[
(
"explanation",
wagtail.blocks.StructBlock(
[
(
"text",
wagtail.blocks.RichTextBlock(
features=[
"ul",
"bold",
"italic",
]
),
)
]
),
),
(
"user_text_input",
wagtail.blocks.StructBlock(
[
(
"text",
wagtail.blocks.RichTextBlock(
blank=True,
features=[
"ul",
"bold",
"italic",
],
required=False,
),
)
]
),
),
(
"user_confirmation",
wagtail.blocks.StructBlock(
[
(
"text",
wagtail.blocks.RichTextBlock(
features=[
"ul",
"bold",
"italic",
]
),
)
]
),
),
],
blank=True,
),
),
]
),
)
],
blank=True,
help_text="Teilaufgaben",
use_json_field=True,
),
),
(
"evaluation_description",
wagtail.fields.RichTextField(
blank=True, help_text="Beschreibung der Bewertung"
),
),
(
"evaluation_document_url",
models.CharField(
blank=True,
help_text="URL zum Beurteilungsinstrument",
max_length=255,
),
),
(
"evaluation_tasks",
wagtail.fields.StreamField(
[
(
"task",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.TextBlock()),
(
"description",
wagtail.blocks.RichTextBlock(
blank=True,
features=["ul", "bold", "italic"],
required=False,
),
),
("max_points", wagtail.blocks.IntegerBlock()),
(
"sub_tasks",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.TextBlock(),
),
(
"description",
wagtail.blocks.RichTextBlock(
blank=True,
features=[
"ul",
"bold",
"italic",
],
required=False,
),
),
(
"points",
wagtail.blocks.IntegerBlock(),
),
]
),
blank=True,
use_json_field=True,
),
),
]
),
)
],
blank=True,
help_text="Beurteilungsschritte",
use_json_field=True,
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('assignment_type', models.CharField(choices=[('CASEWORK', 'CASEWORK'), ('PREP_ASSIGNMENT', 'PREP_ASSIGNMENT'), ('REFLECTION', 'REFLECTION')], default='CASEWORK', max_length=50)),
('intro_text', wagtail.fields.RichTextField(help_text='Erläuterung der Ausgangslage')),
('effort_required', models.CharField(blank=True, help_text='Zeitaufwand als Text', max_length=100)),
('performance_objectives', wagtail.fields.StreamField([('performance_objective', wagtail.blocks.StructBlock([('text', wagtail.blocks.TextBlock())]))], blank=True, help_text='Leistungsziele des Auftrags', use_json_field=True)),
('tasks', wagtail.fields.StreamField([('task', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('file_submission_required', wagtail.blocks.BooleanBlock(required=False)), ('content', wagtail.blocks.StreamBlock([('explanation', wagtail.blocks.StructBlock([('text', wagtail.blocks.RichTextBlock(features=['ul', 'bold', 'italic']))])), ('user_text_input', wagtail.blocks.StructBlock([('text', wagtail.blocks.RichTextBlock(blank=True, features=['ul', 'bold', 'italic'], required=False))])), ('user_confirmation', wagtail.blocks.StructBlock([('text', wagtail.blocks.RichTextBlock(features=['ul', 'bold', 'italic']))]))], blank=True))]))], blank=True, help_text='Teilaufgaben', use_json_field=True)),
('evaluation_description', wagtail.fields.RichTextField(blank=True, help_text='Beschreibung der Bewertung')),
('evaluation_document_url', models.CharField(blank=True, help_text='URL zum Beurteilungsinstrument', max_length=255)),
('evaluation_tasks', wagtail.fields.StreamField([('task', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.RichTextBlock(blank=True, features=['ul', 'bold', 'italic'], required=False)), ('max_points', wagtail.blocks.IntegerBlock()), ('sub_tasks', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.RichTextBlock(blank=True, features=['ul', 'bold', 'italic'], required=False)), ('points', wagtail.blocks.IntegerBlock())]), blank=True, use_json_field=True))]))], blank=True, help_text='Beurteilungsschritte', use_json_field=True)),
],
options={
"verbose_name": "Auftrag",
'verbose_name': 'Auftrag',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="AssignmentCompletion",
name='AssignmentCompletion',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("submitted_at", models.DateTimeField(blank=True, null=True)),
(
"evaluation_submitted_at",
models.DateTimeField(blank=True, null=True),
),
("evaluation_grade", models.FloatField(blank=True, null=True)),
("evaluation_points", models.FloatField(blank=True, null=True)),
(
"completion_status",
models.CharField(
choices=[
("IN_PROGRESS", "IN_PROGRESS"),
("SUBMITTED", "SUBMITTED"),
("EVALUATION_IN_PROGRESS", "EVALUATION_IN_PROGRESS"),
("EVALUATION_SUBMITTED", "EVALUATION_SUBMITTED"),
],
default="IN_PROGRESS",
max_length=255,
),
),
("completion_data", models.JSONField(default=dict)),
("additional_json_data", models.JSONField(default=dict)),
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('submitted_at', models.DateTimeField(blank=True, null=True)),
('evaluation_submitted_at', models.DateTimeField(blank=True, null=True)),
('evaluation_grade', models.FloatField(blank=True, null=True)),
('evaluation_points', models.FloatField(blank=True, null=True)),
('completion_status', models.CharField(choices=[('IN_PROGRESS', 'IN_PROGRESS'), ('SUBMITTED', 'SUBMITTED'), ('EVALUATION_IN_PROGRESS', 'EVALUATION_IN_PROGRESS'), ('EVALUATION_SUBMITTED', 'EVALUATION_SUBMITTED')], default='IN_PROGRESS', max_length=255)),
('completion_data', models.JSONField(default=dict)),
('additional_json_data', models.JSONField(default=dict)),
],
),
migrations.CreateModel(
name="AssignmentListPage",
name='AssignmentListPage',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="AssignmentCompletionAuditLog",
name='AssignmentCompletionAuditLog',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
(
"completion_status",
models.CharField(
choices=[
(1, "IN_PROGRESS"),
(2, "SUBMITTED"),
(3, "EVALUATION_IN_PROGRESS"),
(4, "EVALUATION_SUBMITTED"),
],
default="IN_PROGRESS",
max_length=255,
),
),
("completion_data", models.JSONField(default=dict)),
("additional_json_data", models.JSONField(default=dict)),
("assignment_user_email", models.CharField(max_length=255)),
("assignment_slug", models.CharField(max_length=255)),
(
"evaluation_user_email",
models.CharField(blank=True, default="", max_length=255),
),
("evaluation_grade", models.FloatField(blank=True, null=True)),
("evaluation_points", models.FloatField(blank=True, null=True)),
(
"assignment",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="assignment.assignment",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('completion_status', models.CharField(choices=[('IN_PROGRESS', 'IN_PROGRESS'), ('SUBMITTED', 'SUBMITTED'), ('EVALUATION_IN_PROGRESS', 'EVALUATION_IN_PROGRESS'), ('EVALUATION_SUBMITTED', 'EVALUATION_SUBMITTED')], default='IN_PROGRESS', max_length=255)),
('completion_data', models.JSONField(default=dict)),
('additional_json_data', models.JSONField(default=dict)),
('assignment_user_email', models.CharField(max_length=255)),
('assignment_slug', models.CharField(max_length=255)),
('evaluation_user_email', models.CharField(blank=True, default='', max_length=255)),
('evaluation_grade', models.FloatField(blank=True, null=True)),
('evaluation_points', models.FloatField(blank=True, null=True)),
('assignment', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='assignment.assignment')),
],
),
]

View File

@ -1,8 +1,8 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
@ -10,19 +10,14 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("assignment", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('assignment', '0001_initial'),
]
operations = [
migrations.AddField(
model_name="assignmentcompletionauditlog",
name="assignment_user",
field=models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to=settings.AUTH_USER_MODEL,
),
model_name='assignmentcompletionauditlog',
name='assignment_user',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
),
]

View File

@ -1,8 +1,8 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
@ -10,70 +10,50 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("course", "0001_initial"),
('course', '0001_initial'),
('assignment', '0002_assignmentcompletionauditlog_assignment_user'),
('wagtailcore', '0083_workflowcontenttype'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("assignment", "0002_assignmentcompletionauditlog_assignment_user"),
]
operations = [
migrations.AddField(
model_name="assignmentcompletionauditlog",
name="course_session",
field=models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="course.coursesession",
),
model_name='assignmentcompletionauditlog',
name='course_session',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='course.coursesession'),
),
migrations.AddField(
model_name="assignmentcompletionauditlog",
name="evaluation_user",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to=settings.AUTH_USER_MODEL,
),
model_name='assignmentcompletionauditlog',
name='evaluation_user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name="assignmentcompletion",
name="assignment",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="assignment.assignment"
),
model_name='assignmentcompletion',
name='assignment',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assignment.assignment'),
),
migrations.AddField(
model_name="assignmentcompletion",
name="assignment_user",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
),
model_name='assignmentcompletion',
name='assignment_user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name="assignmentcompletion",
name="course_session",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="course.coursesession"
),
model_name='assignmentcompletion',
name='course_session',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession'),
),
migrations.AddField(
model_name="assignmentcompletion",
name="evaluation_user",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="+",
to=settings.AUTH_USER_MODEL,
),
model_name='assignmentcompletion',
name='evaluation_user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='assignmentcompletion',
name='learning_content_page',
field=models.ForeignKey(blank=True, default=None, help_text="Page reference mostly needed for 'REFLECTION' assignments", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.page'),
),
migrations.AddConstraint(
model_name="assignmentcompletion",
constraint=models.UniqueConstraint(
fields=("assignment_user", "assignment", "course_session"),
name="assignment_completion_unique_user_assignment_course_session",
),
model_name='assignmentcompletion',
constraint=models.UniqueConstraint(fields=('assignment_user', 'assignment', 'course_session', 'learning_content_page'), name='assignment_completion_unique_user_assignment_course_session'),
),
]

View File

@ -1,26 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-19 13:43
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("assignment", "0003_initial"),
]
operations = [
migrations.AddField(
model_name="assignment",
name="assignment_type",
field=models.CharField(
choices=[
("CASEWORK", "CASEWORK"),
("PREP_ASSIGNMENT", "PREP_ASSIGNMENT"),
("REFLECTION", "REFLECTION"),
],
default="CASEWORK",
max_length=50,
),
),
]

View File

@ -1,27 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-28 14:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("assignment", "0004_assignment_assignment_type"),
]
operations = [
migrations.AlterField(
model_name="assignmentcompletionauditlog",
name="completion_status",
field=models.CharField(
choices=[
("IN_PROGRESS", "IN_PROGRESS"),
("SUBMITTED", "SUBMITTED"),
("EVALUATION_IN_PROGRESS", "EVALUATION_IN_PROGRESS"),
("EVALUATION_SUBMITTED", "EVALUATION_SUBMITTED"),
],
default="IN_PROGRESS",
max_length=255,
),
),
]

View File

@ -1,37 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-28 14:16
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0007_learningunit_title_hidden"),
("assignment", "0005_alter_assignmentcompletionauditlog_completion_status"),
]
operations = [
migrations.RemoveConstraint(
model_name="assignmentcompletion",
name="assignment_completion_unique_user_assignment_course_session",
),
migrations.AddField(
model_name="assignmentcompletion",
name="circle",
field=models.ForeignKey(
blank=True,
default=None,
null=True,
on_delete=django.db.models.deletion.CASCADE,
to="learnpath.circle",
),
),
migrations.AddConstraint(
model_name="assignmentcompletion",
constraint=models.UniqueConstraint(
fields=("assignment_user", "assignment", "course_session", "circle"),
name="assignment_completion_unique_user_assignment_course_session",
),
),
]

View File

@ -1,48 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-12 14:49
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
("assignment", "0006_auto_20230628_1616"),
]
operations = [
migrations.RemoveConstraint(
model_name="assignmentcompletion",
name="assignment_completion_unique_user_assignment_course_session",
),
migrations.RemoveField(
model_name="assignmentcompletion",
name="circle",
),
migrations.AddField(
model_name="assignmentcompletion",
name="learning_content_page",
field=models.ForeignKey(
blank=True,
default=None,
help_text="Page reference mostly needed for 'REFLECTION' assignments",
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailcore.page",
),
),
migrations.AddConstraint(
model_name="assignmentcompletion",
constraint=models.UniqueConstraint(
fields=(
"assignment_user",
"assignment",
"course_session",
"learning_content_page",
),
name="assignment_completion_unique_user_assignment_course_session",
),
),
]

View File

@ -1,3 +1,4 @@
import uuid
from enum import Enum
from django.db import models
@ -252,6 +253,8 @@ def is_valid_assignment_completion_status(
class AssignmentCompletion(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

View File

@ -1,9 +1,9 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.db import migrations, models
import django.db.models.deletion
import wagtail.blocks
import wagtail.fields
from django.db import migrations, models
class Migration(migrations.Migration):
@ -11,76 +11,43 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
('wagtailcore', '0083_workflowcontenttype'),
]
operations = [
migrations.CreateModel(
name="CompetencePage",
name='CompetencePage',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("competence_id", models.TextField(default="A1")),
(
"items",
wagtail.fields.StreamField(
[("item", wagtail.blocks.TextBlock())], use_json_field=True
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('competence_id', models.TextField(default='A1')),
('items', wagtail.fields.StreamField([('item', wagtail.blocks.TextBlock())], use_json_field=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="CompetenceProfilePage",
name='CompetenceProfilePage',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="PerformanceCriteria",
name='PerformanceCriteria',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("competence_id", models.TextField(default="A1.1")),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('competence_id', models.TextField(default='A1.1')),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
]

View File

@ -1,7 +1,7 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
@ -9,19 +9,14 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("competence", "0001_initial"),
("learnpath", "0001_initial"),
('learnpath', '0001_initial'),
('competence', '0001_initial'),
]
operations = [
migrations.AddField(
model_name="performancecriteria",
name="learning_unit",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="learnpath.learningunit",
),
model_name='performancecriteria',
name='learning_unit',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='learnpath.learningunit'),
),
]

View File

@ -1,22 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-26 15:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("competence", "0002_performancecriteria_learning_unit"),
]
operations = [
migrations.AddField(
model_name="performancecriteria",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="performancecriteria",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
]

View File

@ -1,41 +1,32 @@
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.contrib.sites.models
from django.contrib.sites.models import _simple_domain_name_validator
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = []
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name="Site",
name='Site',
fields=[
(
"id",
models.AutoField(
verbose_name="ID",
serialize=False,
auto_created=True,
primary_key=True,
),
),
(
"domain",
models.CharField(
max_length=100,
verbose_name="domain name",
validators=[_simple_domain_name_validator],
),
),
("name", models.CharField(max_length=50, verbose_name="display name")),
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('domain', models.CharField(max_length=100, unique=True, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='domain name')),
('name', models.CharField(max_length=50, verbose_name='display name')),
],
options={
"ordering": ("domain",),
"db_table": "django_site",
"verbose_name": "site",
"verbose_name_plural": "sites",
'verbose_name': 'site',
'verbose_name_plural': 'sites',
'db_table': 'django_site',
'ordering': ['domain'],
},
bases=(models.Model,),
managers=[("objects", django.contrib.sites.models.SiteManager())],
)
managers=[
('objects', django.contrib.sites.models.SiteManager()),
],
),
]

View File

@ -1,19 +0,0 @@
import django.contrib.sites.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [("sites", "0001_initial")]
operations = [
migrations.AlterField(
model_name="site",
name="domain",
field=models.CharField(
max_length=100,
unique=True,
validators=[django.contrib.sites.models._simple_domain_name_validator],
verbose_name="domain name",
),
)
]

View File

@ -1,62 +0,0 @@
"""
To understand why this file is here, please read:
http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django
"""
from django.conf import settings
from django.db import migrations
def _update_or_create_site_with_sequence(site_model, connection, domain, name):
"""Update or create the site with default ID and keep the DB sequence in sync."""
site, created = site_model.objects.update_or_create(
id=settings.SITE_ID,
defaults={
"domain": domain,
"name": name,
},
)
if created:
# We provided the ID explicitly when creating the Site entry, therefore the DB
# sequence to auto-generate them wasn't used and is now out of sync. If we
# don't do anything, we'll get a unique constraint violation the next time a
# site is created.
# To avoid this, we need to manually update DB sequence and make sure it's
# greater than the maximum value.
max_id = site_model.objects.order_by("-id").first().id
with connection.cursor() as cursor:
cursor.execute("SELECT last_value from django_site_id_seq")
(current_id,) = cursor.fetchone()
if current_id <= max_id:
cursor.execute(
"alter sequence django_site_id_seq restart with %s",
[max_id + 1],
)
def update_site_forward(apps, schema_editor):
"""Set site domain and name."""
Site = apps.get_model("sites", "Site")
_update_or_create_site_with_sequence(
Site,
schema_editor.connection,
"vbv-lernwelt.iterativ.ch",
"VBV Lernwelt",
)
def update_site_backward(apps, schema_editor):
"""Revert site domain and name to default."""
Site = apps.get_model("sites", "Site")
_update_or_create_site_with_sequence(
Site,
schema_editor.connection,
"example.com",
"example.com",
)
class Migration(migrations.Migration):
dependencies = [("sites", "0002_alter_domain_unique")]
operations = [migrations.RunPython(update_site_forward, update_site_backward)]

View File

@ -1,20 +0,0 @@
# Generated by Django 3.1.7 on 2021-02-04 14:49
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("sites", "0003_set_site_domain_and_name"),
]
operations = [
migrations.AlterModelOptions(
name="site",
options={
"ordering": ["domain"],
"verbose_name": "site",
"verbose_name_plural": "sites",
},
),
]

View File

@ -1,8 +1,9 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.contrib.auth.models
import django.contrib.auth.validators
import django.utils.timezone
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
@ -10,182 +11,51 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("auth", "0012_alter_user_first_name_max_length"),
('auth', '0012_alter_user_first_name_max_length'),
]
operations = [
migrations.CreateModel(
name="SecurityRequestResponseLog",
name='SecurityRequestResponseLog',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("label", models.CharField(blank=True, default="", max_length=255)),
(
"request_method",
models.CharField(blank=True, default="", max_length=255),
),
(
"request_full_path",
models.CharField(blank=True, default="", max_length=255),
),
(
"request_username",
models.CharField(blank=True, default="", max_length=255),
),
(
"request_client_ip",
models.CharField(blank=True, default="", max_length=255),
),
(
"response_status_code",
models.CharField(blank=True, default="", max_length=255),
),
("additional_json_data", models.JSONField(blank=True, default=dict)),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('label', models.CharField(blank=True, default='', max_length=255)),
('request_method', models.CharField(blank=True, default='', max_length=255)),
('request_full_path', models.CharField(blank=True, default='', max_length=255)),
('request_username', models.CharField(blank=True, default='', max_length=255)),
('request_client_ip', models.CharField(blank=True, default='', max_length=255)),
('response_status_code', models.CharField(blank=True, default='', max_length=255)),
('additional_json_data', models.JSONField(blank=True, default=dict)),
],
),
migrations.CreateModel(
name="User",
name='User',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("password", models.CharField(max_length=128, verbose_name="password")),
(
"last_login",
models.DateTimeField(
blank=True, null=True, verbose_name="last login"
),
),
(
"is_superuser",
models.BooleanField(
default=False,
help_text="Designates that this user has all permissions without explicitly assigning them.",
verbose_name="superuser status",
),
),
(
"username",
models.CharField(
error_messages={
"unique": "A user with that username already exists."
},
help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
max_length=150,
unique=True,
validators=[
django.contrib.auth.validators.UnicodeUsernameValidator()
],
verbose_name="username",
),
),
(
"first_name",
models.CharField(
blank=True, max_length=150, verbose_name="first name"
),
),
(
"last_name",
models.CharField(
blank=True, max_length=150, verbose_name="last name"
),
),
(
"is_staff",
models.BooleanField(
default=False,
help_text="Designates whether the user can log into this admin site.",
verbose_name="staff status",
),
),
(
"is_active",
models.BooleanField(
default=True,
help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
verbose_name="active",
),
),
(
"date_joined",
models.DateTimeField(
default=django.utils.timezone.now, verbose_name="date joined"
),
),
(
"avatar_url",
models.CharField(blank=True, default="", max_length=254),
),
(
"email",
models.EmailField(
max_length=254, unique=True, verbose_name="email address"
),
),
(
"sso_id",
models.UUIDField(
blank=True,
default=None,
null=True,
unique=True,
verbose_name="SSO subscriber ID",
),
),
("additional_json_data", models.JSONField(blank=True, default=dict)),
(
"language",
models.CharField(
choices=[
("de", "Deutsch"),
("fr", "Français"),
("it", "Italiano"),
],
default="de",
max_length=2,
),
),
(
"groups",
models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="user_set",
related_query_name="user",
to="auth.Group",
verbose_name="groups",
),
),
(
"user_permissions",
models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="user_set",
related_query_name="user",
to="auth.Permission",
verbose_name="user permissions",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('avatar_url', models.CharField(blank=True, default='/static/avatars/myvbv-default-avatar.png', max_length=254)),
('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
('sso_id', models.UUIDField(blank=True, default=None, null=True, unique=True, verbose_name='SSO subscriber ID')),
('additional_json_data', models.JSONField(blank=True, default=dict)),
('language', models.CharField(choices=[('de', 'Deutsch'), ('fr', 'Français'), ('it', 'Italiano')], default='de', max_length=2)),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
],
options={
"verbose_name": "user",
"verbose_name_plural": "users",
"abstract": False,
'verbose_name': 'user',
'verbose_name_plural': 'users',
'abstract': False,
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
]

View File

@ -1,20 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-31 14:34
import django.contrib.auth.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("core", "0001_initial"),
]
operations = [
migrations.AlterModelManagers(
name="user",
managers=[
("objects", django.contrib.auth.models.UserManager()),
],
),
]

View File

@ -1,22 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-02 12:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0002_alter_user_managers"),
]
operations = [
migrations.AlterField(
model_name="user",
name="avatar_url",
field=models.CharField(
blank=True,
default="/static/avatars/myvbv-default-avatar.png",
max_length=254,
),
),
]

View File

@ -1,8 +1,8 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
import django_jsonform.models.fields
from django.db import migrations, models
import django.db.models.deletion
import vbv_lernwelt.course.models
class Migration(migrations.Migration):
@ -10,194 +10,83 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
('wagtailcore', '0083_workflowcontenttype'),
]
operations = [
migrations.CreateModel(
name="CircleDocument",
name='CircleDocument',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("name", models.CharField(max_length=100)),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('name', models.CharField(max_length=100)),
],
),
migrations.CreateModel(
name="Course",
name='Course',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=255, verbose_name="Titel")),
(
"category_name",
models.CharField(
default="Kategorie",
max_length=255,
verbose_name="Kategorie-Name",
),
),
(
"slug",
models.SlugField(
allow_unicode=True,
blank=True,
max_length=255,
unique=True,
verbose_name="Slug",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=255, verbose_name='Titel')),
('category_name', models.CharField(default='Kategorie', max_length=255, verbose_name='Kategorie-Name')),
('slug', models.SlugField(allow_unicode=True, blank=True, max_length=255, unique=True, verbose_name='Slug')),
],
options={
"verbose_name": "Lehrgang",
'verbose_name': 'Lehrgang',
},
),
migrations.CreateModel(
name="CourseCategory",
name='CourseCategory',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"title",
models.CharField(blank=True, max_length=255, verbose_name="Titel"),
),
(
"general",
models.BooleanField(default=False, verbose_name="Allgemein"),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(blank=True, max_length=255, verbose_name='Titel')),
('general', models.BooleanField(default=False, verbose_name='Allgemein')),
],
),
migrations.CreateModel(
name="CourseCompletion",
name='CourseCompletion',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("page_key", models.UUIDField()),
("page_type", models.CharField(blank=True, default="", max_length=255)),
("page_slug", models.CharField(blank=True, default="", max_length=255)),
(
"completion_status",
models.CharField(
choices=[
("unknown", "unknown"),
("success", "success"),
("fail", "fail"),
],
default="unknown",
max_length=255,
),
),
("additional_json_data", models.JSONField(default=dict)),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('page_type', models.CharField(blank=True, default='', max_length=255)),
('completion_status', models.CharField(choices=[(vbv_lernwelt.course.models.CourseCompletionStatus['SUCCESS'], 'SUCCESS'), (vbv_lernwelt.course.models.CourseCompletionStatus['FAIL'], 'FAIL'), (vbv_lernwelt.course.models.CourseCompletionStatus['UNKNOWN'], 'UNKNOWN')], default='UNKNOWN', max_length=255)),
('additional_json_data', models.JSONField(default=dict)),
],
),
migrations.CreateModel(
name="CoursePage",
name='CoursePage',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
],
options={
"verbose_name": "Lehrgang-Seite",
'verbose_name': 'Lehrgang-Seite',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="CourseSession",
name='CourseSession',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("title", models.TextField()),
("start_date", models.DateField(blank=True, null=True)),
("end_date", models.DateField(blank=True, null=True)),
(
"attendance_days",
django_jsonform.models.fields.JSONField(blank=True, default=list),
),
("assignment_details_list", models.JSONField(blank=True, default=list)),
("additional_json_data", models.JSONField(blank=True, default=dict)),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('title', models.TextField(unique=True)),
('import_id', models.TextField(blank=True, default='')),
('generation', models.TextField(blank=True, default='')),
('region', models.TextField(blank=True, default='')),
('group', models.TextField(blank=True, default='')),
('start_date', models.DateField(blank=True, null=True)),
('end_date', models.DateField(blank=True, null=True)),
('additional_json_data', models.JSONField(blank=True, default=dict)),
],
),
migrations.CreateModel(
name="CourseSessionUser",
name='CourseSessionUser',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
(
"role",
models.CharField(
choices=[
("MEMBER", "Teilnehmer"),
("EXPERT", "Experte/Trainer"),
("TUTOR", "Lernbegleitung"),
],
default="MEMBER",
max_length=255,
),
),
(
"course_session",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="course.coursesession",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('role', models.CharField(choices=[('MEMBER', 'Teilnehmer'), ('EXPERT', 'Experte/Trainer'), ('TUTOR', 'Lernbegleitung')], default='MEMBER', max_length=255)),
('course_session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession')),
],
),
]

View File

@ -1,8 +1,8 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
@ -10,96 +10,75 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("files", "0001_initial"),
("course", "0001_initial"),
('learnpath', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("learnpath", "0001_initial"),
('wagtailcore', '0083_workflowcontenttype'),
('files', '0001_initial'),
('course', '0001_initial'),
]
operations = [
migrations.AddField(
model_name="coursesessionuser",
name="expert",
field=models.ManyToManyField(
blank=True, related_name="expert", to="learnpath.Circle"
),
model_name='coursesessionuser',
name='expert',
field=models.ManyToManyField(blank=True, related_name='expert', to='learnpath.Circle'),
),
migrations.AddField(
model_name="coursesessionuser",
name="user",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
),
model_name='coursesessionuser',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name="coursesession",
name="course",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="course.course"
),
model_name='coursesession',
name='course',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.course'),
),
migrations.AddField(
model_name="coursepage",
name="course",
field=models.OneToOneField(
on_delete=django.db.models.deletion.PROTECT, to="course.course"
),
model_name='coursepage',
name='course',
field=models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, to='course.course'),
),
migrations.AddField(
model_name="coursecompletion",
name="course_session",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="course.coursesession"
),
model_name='coursecompletion',
name='course_session',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession'),
),
migrations.AddField(
model_name="coursecompletion",
name="user",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
),
model_name='coursecompletion',
name='page',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='wagtailcore.page'),
),
migrations.AddField(
model_name="coursecategory",
name="course",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="course.course"
),
model_name='coursecompletion',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name="circledocument",
name="course_session",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="course.coursesession"
),
model_name='coursecategory',
name='course',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.course'),
),
migrations.AddField(
model_name="circledocument",
name="file",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE, to="files.uploadfile"
),
model_name='circledocument',
name='course_session',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession'),
),
migrations.AddField(
model_name="circledocument",
name="learning_sequence",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="learnpath.learningsequence",
),
model_name='circledocument',
name='file',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='files.uploadfile'),
),
migrations.AddField(
model_name='circledocument',
name='learning_sequence',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learnpath.learningsequence'),
),
migrations.AddConstraint(
model_name="coursesessionuser",
constraint=models.UniqueConstraint(
fields=("course_session", "user"),
name="course_session_user_unique_course_session_user",
),
model_name='coursesessionuser',
constraint=models.UniqueConstraint(fields=('course_session', 'user'), name='course_session_user_unique_course_session_user'),
),
migrations.AddConstraint(
model_name="coursecompletion",
constraint=models.UniqueConstraint(
fields=("user", "page_key", "course_session"),
name="course_completion_unique_user_page_key",
),
model_name='coursecompletion',
constraint=models.UniqueConstraint(fields=('user', 'page', 'course_session'), name='course_completion_unique_user_page_key'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-23 12:49
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("course", "0002_initial"),
]
operations = [
migrations.RenameField(
model_name="coursesession",
old_name="attendance_days",
new_name="attendance_courses",
),
]

View File

@ -1,38 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-31 15:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("course", "0003_rename_attendance_days_coursesession_attendance_courses"),
]
operations = [
migrations.AddField(
model_name="coursesession",
name="generation",
field=models.TextField(blank=True, default=""),
),
migrations.AddField(
model_name="coursesession",
name="group",
field=models.TextField(blank=True, default=""),
),
migrations.AddField(
model_name="coursesession",
name="import_id",
field=models.TextField(blank=True, default=""),
),
migrations.AddField(
model_name="coursesession",
name="region",
field=models.TextField(blank=True, default=""),
),
migrations.AlterField(
model_name="coursesession",
name="title",
field=models.TextField(unique=True),
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-14 14:02
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("course", "0004_import_fields"),
]
operations = [
migrations.RemoveField(
model_name="coursesession",
name="attendance_courses",
),
]

View File

@ -1,65 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-26 15:24
import django.db.models.deletion
from django.db import migrations, models
import vbv_lernwelt.course.models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
("course", "0005_remove_coursesession_attendance_courses"),
]
operations = [
migrations.RemoveConstraint(
model_name="coursecompletion",
name="course_completion_unique_user_page_key",
),
migrations.RemoveField(
model_name="coursecompletion",
name="page_key",
),
migrations.RemoveField(
model_name="coursecompletion",
name="page_slug",
),
migrations.AddField(
model_name="coursecompletion",
name="page",
field=models.ForeignKey(
default=1,
on_delete=django.db.models.deletion.CASCADE,
to="wagtailcore.page",
),
preserve_default=False,
),
migrations.AlterField(
model_name="coursecompletion",
name="completion_status",
field=models.CharField(
choices=[
(
vbv_lernwelt.course.models.CourseCompletionStatus["SUCCESS"],
"SUCCESS",
),
(vbv_lernwelt.course.models.CourseCompletionStatus["FAIL"], "FAIL"),
(
vbv_lernwelt.course.models.CourseCompletionStatus["UNKNOWN"],
"UNKNOWN",
),
],
default="UNKNOWN",
max_length=255,
),
),
migrations.AddConstraint(
model_name="coursecompletion",
constraint=models.UniqueConstraint(
fields=("user", "page", "course_session"),
name="course_completion_unique_user_page_key",
),
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-21 14:19
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("course", "0005_remove_coursesession_attendance_courses"),
]
operations = [
migrations.RemoveField(
model_name="coursesession",
name="assignment_details_list",
),
]

View File

@ -1,13 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-11 09:08
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("course", "0006_auto_20230626_1724"),
("course", "0006_remove_coursesession_assignment_details_list"),
]
operations = []

View File

@ -1,7 +1,8 @@
# Generated by Django 3.2.13 on 2023-06-14 15:01
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.db import migrations, models
import django.db.models.deletion
import django_jsonform.models.fields
class Migration(migrations.Migration):
@ -9,48 +10,24 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("learnpath", "0007_learningunit_title_hidden"),
("course", "0005_remove_coursesession_attendance_courses"),
("duedate", "0002_auto_20230614_1500"),
('course', '0001_initial'),
]
operations = [
migrations.CreateModel(
name="CourseSessionAttendanceCourse",
name='CourseSessionAssignment',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("location", models.CharField(blank=True, default="", max_length=255)),
("trainer", models.CharField(blank=True, default="", max_length=255)),
(
"course_session",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="course.coursesession",
),
),
(
"due_date",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="attendance_course_due_date",
to="duedate.duedate",
),
),
(
"learning_content",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="learnpath.learningcontentattendancecourse",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='CourseSessionAttendanceCourse',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('location', models.CharField(blank=True, default='', max_length=255)),
('trainer', models.CharField(blank=True, default='', max_length=255)),
('attendance_user_list', django_jsonform.models.fields.JSONField(default=list)),
('course_session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession')),
],
),
]

View File

@ -1,61 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-21 14:19
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("course", "0006_remove_coursesession_assignment_details_list"),
("learnpath", "0007_learningunit_title_hidden"),
("duedate", "0003_alter_duedate_course_session"),
("course_session", "0001_initial"),
]
operations = [
migrations.CreateModel(
name="CourseSessionAssignment",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"course_session",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="course.coursesession",
),
),
(
"evaluation_deadline",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_evaluation_deadline",
to="duedate.duedate",
),
),
(
"learning_content",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="learnpath.learningcontentassignment",
),
),
(
"submission_deadline",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_submission_deadline",
to="duedate.duedate",
),
),
],
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-23 15:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("course_session", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="coursesessionattendancecourse",
name="attendance_user_list",
field=models.JSONField(default=list),
),
]

View File

@ -0,0 +1,22 @@
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('duedate', '0001_initial'),
('course_session', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='coursesessionattendancecourse',
name='due_date',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='attendance_course_due_date', to='duedate.duedate'),
),
]

View File

@ -1,35 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-28 11:21
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("duedate", "0006_auto_20230627_1553"),
("course_session", "0002_coursesessionassignment"),
]
operations = [
migrations.AlterField(
model_name="coursesessionassignment",
name="evaluation_deadline",
field=models.OneToOneField(
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_evaluation_deadline",
to="duedate.duedate",
),
),
migrations.AlterField(
model_name="coursesessionassignment",
name="submission_deadline",
field=models.OneToOneField(
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_submission_deadline",
to="duedate.duedate",
),
),
]

View File

@ -0,0 +1,44 @@
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('learnpath', '0001_initial'),
('duedate', '0001_initial'),
('course_session', '0002_coursesessionattendancecourse_due_date'),
('course', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='coursesessionattendancecourse',
name='learning_content',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learnpath.learningcontentattendancecourse'),
),
migrations.AddField(
model_name='coursesessionassignment',
name='course_session',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession'),
),
migrations.AddField(
model_name='coursesessionassignment',
name='evaluation_deadline',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='assignment_evaluation_deadline', to='duedate.duedate'),
),
migrations.AddField(
model_name='coursesessionassignment',
name='learning_content',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learnpath.learningcontentassignment'),
),
migrations.AddField(
model_name='coursesessionassignment',
name='submission_deadline',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='assignment_submission_deadline', to='duedate.duedate'),
),
]

View File

@ -1,13 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-11 09:08
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("course_session", "0002_coursesessionattendancecourse_attendance_user_list"),
("course_session", "0003_auto_20230628_1321"),
]
operations = []

View File

@ -1,19 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-12 14:49
import django_jsonform.models.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("course_session", "0004_merge_20230711_1108"),
]
operations = [
migrations.AlterField(
model_name="coursesessionattendancecourse",
name="attendance_user_list",
field=django_jsonform.models.fields.JSONField(default=list),
),
]

View File

@ -1,7 +1,7 @@
# Generated by Django 3.2.13 on 2023-06-14 09:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
@ -9,40 +9,23 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("course", "0004_import_fields"),
('course', '0001_initial'),
('wagtailcore', '0083_workflowcontenttype'),
]
operations = [
migrations.CreateModel(
name="DueDate",
name='DueDate',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("start", models.DateTimeField(db_index=True, null=True)),
("end", models.DateTimeField(db_index=True, null=True)),
("title", models.CharField(default="Termin", max_length=1024)),
("url", models.URLField(blank=True, max_length=1024, null=True)),
(
"learning_content_id",
models.CharField(blank=True, max_length=255, null=True),
),
(
"course_session",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="events",
to="course.coursesession",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('start', models.DateTimeField(db_index=True, null=True)),
('end', models.DateTimeField(blank=True, db_index=True, null=True)),
('title', models.CharField(default='', max_length=1024)),
('learning_content_description', models.CharField(blank=True, default='', max_length=1024)),
('description', models.CharField(blank=True, default='', max_length=1024)),
('url', models.CharField(blank=True, default='', max_length=1024)),
('course_session', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='course.coursesession')),
('page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='wagtailcore.page')),
],
),
]

View File

@ -1,29 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-14 13:00
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
("duedate", "0001_initial"),
]
operations = [
migrations.RemoveField(
model_name="duedate",
name="learning_content_id",
),
migrations.AddField(
model_name="duedate",
name="page",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="wagtailcore.page",
),
),
]

View File

@ -1,26 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-21 14:19
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("course", "0006_remove_coursesession_assignment_details_list"),
("duedate", "0002_auto_20230614_1500"),
]
operations = [
migrations.AlterField(
model_name="duedate",
name="course_session",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="duedates",
to="course.coursesession",
),
),
]

View File

@ -1,29 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-21 15:03
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("contenttypes", "0002_remove_content_type_name"),
("duedate", "0003_alter_duedate_course_session"),
]
operations = [
migrations.AddField(
model_name="duedate",
name="content_type",
field=models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.CASCADE,
to="contenttypes.contenttype",
),
),
migrations.AddField(
model_name="duedate",
name="object_id",
field=models.PositiveIntegerField(null=True),
),
]

View File

@ -1,21 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-22 09:38
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("duedate", "0004_auto_20230621_1703"),
]
operations = [
migrations.RemoveField(
model_name="duedate",
name="content_type",
),
migrations.RemoveField(
model_name="duedate",
name="object_id",
),
]

View File

@ -1,23 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-27 13:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("duedate", "0005_auto_20230622_1138"),
]
operations = [
migrations.AddField(
model_name="duedate",
name="description",
field=models.CharField(default="Abgabetermin", max_length=1024),
),
migrations.AddField(
model_name="duedate",
name="learning_content_description",
field=models.CharField(default="GeleiteteFallarbeit", max_length=1024),
),
]

View File

@ -1,42 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-03 15:41
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("course", "0006_remove_coursesession_assignment_details_list"),
("duedate", "0006_auto_20230627_1553"),
]
operations = [
migrations.AlterField(
model_name="duedate",
name="course_session",
field=models.ForeignKey(
blank=True,
default=1,
on_delete=django.db.models.deletion.CASCADE,
related_name="duedates",
to="course.coursesession",
),
preserve_default=False,
),
migrations.AlterField(
model_name="duedate",
name="description",
field=models.CharField(default="", max_length=1024),
),
migrations.AlterField(
model_name="duedate",
name="learning_content_description",
field=models.CharField(default="", max_length=1024),
),
migrations.AlterField(
model_name="duedate",
name="url",
field=models.URLField(blank=True, default="", max_length=1024),
),
]

View File

@ -1,23 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-11 09:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("duedate", "0007_auto_20230703_1741"),
]
operations = [
migrations.AlterField(
model_name="duedate",
name="start",
field=models.DateTimeField(blank=True, db_index=True, null=True),
),
migrations.AlterField(
model_name="duedate",
name="url",
field=models.CharField(blank=True, default="", max_length=1024),
),
]

View File

@ -1,24 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-12 07:05
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("course", "0006_remove_coursesession_assignment_details_list"),
("duedate", "0008_auto_20230711_1116"),
]
operations = [
migrations.AlterField(
model_name="duedate",
name="course_session",
field=models.ForeignKey(
blank=True,
on_delete=django.db.models.deletion.CASCADE,
to="course.coursesession",
),
),
]

View File

@ -1,38 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-12 07:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("duedate", "0009_alter_duedate_course_session"),
]
operations = [
migrations.AlterField(
model_name="duedate",
name="description",
field=models.CharField(blank=True, default="", max_length=1024),
),
migrations.AlterField(
model_name="duedate",
name="end",
field=models.DateTimeField(blank=True, db_index=True, null=True),
),
migrations.AlterField(
model_name="duedate",
name="learning_content_description",
field=models.CharField(blank=True, default="", max_length=1024),
),
migrations.AlterField(
model_name="duedate",
name="start",
field=models.DateTimeField(db_index=True, null=True),
),
migrations.AlterField(
model_name="duedate",
name="title",
field=models.CharField(default="", max_length=1024),
),
]

View File

@ -1,4 +1,4 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.db import migrations, models
@ -7,23 +7,16 @@ class Migration(migrations.Migration):
initial = True
dependencies = []
dependencies = [
]
operations = [
migrations.CreateModel(
name="FeedbackResponse",
name='FeedbackResponse',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("data", models.JSONField(default=dict)),
("created_at", models.DateTimeField(auto_now_add=True)),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('data', models.JSONField(default=dict)),
('created_at', models.DateTimeField(auto_now_add=True)),
],
),
]

View File

@ -1,7 +1,7 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
@ -9,24 +9,20 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("course", "0001_initial"),
("learnpath", "0001_initial"),
("feedback", "0001_initial"),
('learnpath', '0001_initial'),
('feedback', '0001_initial'),
('course', '0001_initial'),
]
operations = [
migrations.AddField(
model_name="feedbackresponse",
name="circle",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT, to="learnpath.circle"
),
model_name='feedbackresponse',
name='circle',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='learnpath.circle'),
),
migrations.AddField(
model_name="feedbackresponse",
name="course_session",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT, to="course.coursesession"
),
model_name='feedbackresponse',
name='course_session',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='course.coursesession'),
),
]

View File

@ -1,9 +1,8 @@
# Generated by Django 3.2.13 on 2023-05-11 20:06
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import vbv_lernwelt.files.utils
@ -17,37 +16,15 @@ class Migration(migrations.Migration):
operations = [
migrations.CreateModel(
name="UploadFile",
name='UploadFile',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"file",
models.FileField(
blank=True,
null=True,
upload_to=vbv_lernwelt.files.utils.file_generate_upload_path,
),
),
("original_file_name", models.TextField()),
("file_name", models.CharField(max_length=255, unique=True)),
("file_type", models.CharField(max_length=255)),
("upload_finished_at", models.DateTimeField(blank=True, null=True)),
(
"uploaded_by",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to=settings.AUTH_USER_MODEL,
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('file', models.FileField(blank=True, null=True, upload_to=vbv_lernwelt.files.utils.file_generate_upload_path)),
('original_file_name', models.TextField()),
('file_name', models.CharField(max_length=255, unique=True)),
('file_type', models.CharField(max_length=255)),
('upload_finished_at', models.DateTimeField(blank=True, null=True)),
('uploaded_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -1,8 +1,9 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
import django.db.models.deletion
import wagtail.fields
from django.db import migrations, models
import django.db.models.deletion
import wagtail.blocks
import wagtail.fields
class Migration(migrations.Migration):
@ -10,338 +11,221 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("course", "0001_initial"),
("assignment", "0003_initial"),
("wagtailcore", "0083_workflowcontenttype"),
('course', '0001_initial'),
('assignment', '0003_initial'),
('wagtailcore', '0083_workflowcontenttype'),
]
operations = [
migrations.CreateModel(
name="Circle",
name='Circle',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("description", models.TextField(blank=True, default="")),
("goals", wagtail.fields.RichTextField()),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('description', models.TextField(blank=True, default='')),
('goals', wagtail.fields.RichTextField()),
],
options={
"verbose_name": "Circle",
'verbose_name': 'Circle',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentAttendanceDay",
name='LearningContentAttendanceCourse',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=False)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentFeedback",
name='LearningContentDocumentList',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
('documents', wagtail.fields.StreamField([('document', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.TextBlock(default='', required=False)), ('icon_url', wagtail.blocks.TextBlock(default='', required=False)), ('link_display_text', wagtail.blocks.CharBlock(default='Link öffnen', max_length=255)), ('url', wagtail.blocks.TextBlock(default='', required=False)), ('open_window', wagtail.blocks.BooleanBlock(default=False))]))], blank=True, use_json_field=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentLearningModule",
name='LearningContentFeedback',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentMediaLibrary",
name='LearningContentLearningModule',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentPlaceholder",
name='LearningContentMediaLibrary',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentRichText",
name='LearningContentPlaceholder',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentTest",
name='LearningContentRichText',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('text', wagtail.fields.RichTextField(blank=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentVideo",
name='LearningContentTest',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=False)),
('checkbox_text', models.TextField(blank=True)),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningPath",
name='LearningContentVideo',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=True)),
],
options={
"verbose_name": "Learning Path",
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningSequence",
name='LearningPath',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("icon", models.CharField(default="it-icon-ls-start", max_length=255)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
],
options={
"verbose_name": "Learning Sequence",
'verbose_name': 'Learning Path',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="Topic",
name='LearningSequence',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("is_visible", models.BooleanField(default=True)),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('icon', models.CharField(default='it-icon-ls-start', max_length=255)),
],
options={
"verbose_name": "Topic",
'verbose_name': 'Learning Sequence',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningUnit",
name='Topic',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
(
"course_category",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="course.coursecategory",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('is_visible', models.BooleanField(default=True)),
],
options={
"verbose_name": "Learning Unit",
'verbose_name': 'Topic',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LearningContentAssignment",
name='LearningUnit',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
(
"content_assignment",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="assignment.assignment",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('title_hidden', models.BooleanField(default=False)),
('course_category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='course.coursecategory')),
],
options={
"abstract": False,
'verbose_name': 'Learning Unit',
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name='LearningContentAssignment',
fields=[
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('minutes', models.PositiveIntegerField(default=15)),
('description', wagtail.fields.RichTextField(blank=True)),
('content_url', models.TextField(blank=True)),
('has_course_completion_status', models.BooleanField(default=True)),
('can_user_self_toggle_course_completion', models.BooleanField(default=False)),
('assignment_type', models.CharField(choices=[('CASEWORK', 'CASEWORK'), ('PREP_ASSIGNMENT', 'PREP_ASSIGNMENT'), ('REFLECTION', 'REFLECTION')], default='CASEWORK', max_length=50)),
('content_assignment', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='assignment.assignment')),
],
options={
'abstract': False,
},
bases=('wagtailcore.page',),
),
]

View File

@ -1,19 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-17 09:00
import wagtail.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="learningcontentrichtext",
name="text",
field=wagtail.fields.RichTextField(blank=True),
),
]

View File

@ -1,23 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-23 12:49
from django.conf import settings
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
("wagtailforms", "0005_alter_formsubmission_form_data"),
("wagtailredirects", "0008_add_verbose_name_plural"),
("contenttypes", "0002_remove_content_type_name"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("learnpath", "0002_learningcontentrichtext_text"),
]
operations = [
migrations.RenameModel(
old_name="LearningContentAttendanceDay",
new_name="LearningContentAttendanceCourse",
),
]

View File

@ -1,28 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-19 15:21
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
(
"learnpath",
"0003_rename_learningcontentattendanceday_learningcontentattendancecourse",
),
]
operations = [
migrations.AddField(
model_name="learningcontentassignment",
name="assignment_type",
field=models.CharField(
choices=[
("CASEWORK", "CASEWORK"),
("PREP_ASSIGNMENT", "PREP_ASSIGNMENT"),
("REFLECTION", "REFLECTION"),
],
default="CASEWORK",
max_length=50,
),
),
]

View File

@ -1,85 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-26 10:34
import django.db.models.deletion
import wagtail.blocks
import wagtail.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
("learnpath", "0004_learningcontentassignment_assignment_type"),
]
operations = [
migrations.CreateModel(
name="LearningContentDocumentList",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("minutes", models.PositiveIntegerField(default=15)),
("description", wagtail.fields.RichTextField(blank=True)),
("content_url", models.TextField(blank=True)),
(
"documents",
wagtail.fields.StreamField(
[
(
"document",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.TextBlock()),
(
"description",
wagtail.blocks.TextBlock(
default="", required=False
),
),
(
"icon_url",
wagtail.blocks.TextBlock(
default="", required=False
),
),
(
"link_display_text",
wagtail.blocks.CharBlock(
default="Link öffnen", max_length=255
),
),
(
"url",
wagtail.blocks.TextBlock(
default="", required=False
),
),
(
"open_window",
wagtail.blocks.BooleanBlock(default=False),
),
]
),
)
],
blank=True,
use_json_field=True,
),
),
],
options={
"abstract": False,
},
bases=("wagtailcore.page",),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-26 14:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0005_learningcontentdocumentlist"),
]
operations = [
migrations.AddField(
model_name="learningcontenttest",
name="checkbox_text",
field=models.TextField(blank=True),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2023-05-30 09:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0006_learningcontenttest_checkbox_text"),
]
operations = [
migrations.AddField(
model_name="learningunit",
name="title_hidden",
field=models.BooleanField(default=False),
),
]

View File

@ -1,22 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-28 11:21
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("assignment", "0004_assignment_assignment_type"),
("learnpath", "0007_learningunit_title_hidden"),
]
operations = [
migrations.AlterField(
model_name="learningcontentassignment",
name="content_assignment",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT, to="assignment.assignment"
),
),
]

View File

@ -1,112 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-26 15:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0007_learningunit_title_hidden"),
]
operations = [
migrations.AddField(
model_name="learningcontentassignment",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name="learningcontentassignment",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentattendancecourse",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name="learningcontentattendancecourse",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentdocumentlist",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentdocumentlist",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentfeedback",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentfeedback",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentlearningmodule",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentlearningmodule",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentmedialibrary",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentmedialibrary",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentplaceholder",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentplaceholder",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentrichtext",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentrichtext",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontenttest",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name="learningcontenttest",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentvideo",
name="can_user_self_toggle_course_completion",
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name="learningcontentvideo",
name="has_course_completion_status",
field=models.BooleanField(default=True),
),
]

View File

@ -1,22 +0,0 @@
# Generated by Django 3.2.13 on 2023-06-26 16:30
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("assignment", "0004_assignment_assignment_type"),
("learnpath", "0008_auto_20230626_1747"),
]
operations = [
migrations.AlterField(
model_name="learningcontentassignment",
name="content_assignment",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT, to="assignment.assignment"
),
),
]

View File

@ -1,13 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-11 09:08
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0008_alter_learningcontentassignment_content_assignment"),
("learnpath", "0009_alter_learningcontentassignment_content_assignment"),
]
operations = []

View File

@ -1,13 +1,13 @@
# Generated by Django 3.2.13 on 2023-05-12 15:29
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import taggit.managers
import wagtail.blocks
import wagtail.fields
import wagtail.models.collections
import wagtail.search.index
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
@ -15,357 +15,62 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("taggit", "0004_alter_taggeditem_content_type_alter_taggeditem_tag"),
("course", "0002_initial"),
('wagtailcore', '0083_workflowcontenttype'),
('course', '0002_initial'),
('taggit', '0004_alter_taggeditem_content_type_alter_taggeditem_tag'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("wagtailcore", "0083_workflowcontenttype"),
]
operations = [
migrations.CreateModel(
name="MediaLibraryPage",
name='MediaLibraryPage',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="MediaCategoryPage",
name='MediaCategoryPage',
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
("introduction_text", models.TextField(default="")),
(
"description_title",
models.TextField(
default="Das erwartet dich in diesem Handlungsfeld"
),
),
("description_text", models.TextField(default="")),
(
"items",
wagtail.fields.StreamField(
[("item", wagtail.blocks.TextBlock())], use_json_field=True
),
),
(
"overview_icon",
models.CharField(default="icon-hf-fahrzeug", max_length=255),
),
(
"detail_image",
models.CharField(default="image-hf-fahrzeug", max_length=255),
),
(
"body",
wagtail.fields.StreamField(
[
(
"content_collection",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.TextBlock()),
(
"description",
wagtail.blocks.TextBlock(
default="", required=False
),
),
(
"contents",
wagtail.blocks.StreamBlock(
[
(
"learn_media",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.TextBlock(),
),
(
"description",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"icon_url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"link_display_text",
wagtail.blocks.CharBlock(
default="Link öffnen",
max_length=255,
),
),
(
"url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"open_window",
wagtail.blocks.BooleanBlock(
default=False
),
),
]
),
),
(
"external_link",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.TextBlock(),
),
(
"description",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"icon_url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"link_display_text",
wagtail.blocks.CharBlock(
default="Link öffnen",
max_length=255,
),
),
(
"url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"open_window",
wagtail.blocks.BooleanBlock(
default=False
),
),
]
),
),
(
"internal_link",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.TextBlock(),
),
(
"description",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"icon_url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"link_display_text",
wagtail.blocks.CharBlock(
default="Link öffnen",
max_length=255,
),
),
(
"url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"open_window",
wagtail.blocks.BooleanBlock(
default=False
),
),
]
),
),
(
"relative_link",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.TextBlock(),
),
(
"description",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"icon_url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"link_display_text",
wagtail.blocks.CharBlock(
default="Link öffnen",
max_length=255,
),
),
(
"url",
wagtail.blocks.TextBlock(
default="",
required=False,
),
),
(
"open_window",
wagtail.blocks.BooleanBlock(
default=False
),
),
]
),
),
]
),
),
]
),
)
],
null=True,
use_json_field=True,
),
),
(
"course_category",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="course.coursecategory",
),
),
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('introduction_text', models.TextField(default='')),
('description_title', models.TextField(default='Das erwartet dich in diesem Handlungsfeld')),
('description_text', models.TextField(default='')),
('items', wagtail.fields.StreamField([('item', wagtail.blocks.TextBlock())], use_json_field=True)),
('overview_icon', models.CharField(default='icon-hf-fahrzeug', max_length=255)),
('detail_image', models.CharField(default='image-hf-fahrzeug', max_length=255)),
('body', wagtail.fields.StreamField([('content_collection', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.TextBlock(default='', required=False)), ('contents', wagtail.blocks.StreamBlock([('learn_media', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.TextBlock(default='', required=False)), ('icon_url', wagtail.blocks.TextBlock(default='', required=False)), ('link_display_text', wagtail.blocks.CharBlock(default='Link öffnen', max_length=255)), ('url', wagtail.blocks.TextBlock(default='', required=False)), ('open_window', wagtail.blocks.BooleanBlock(default=False))])), ('external_link', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.TextBlock(default='', required=False)), ('icon_url', wagtail.blocks.TextBlock(default='', required=False)), ('link_display_text', wagtail.blocks.CharBlock(default='Link öffnen', max_length=255)), ('url', wagtail.blocks.TextBlock(default='', required=False)), ('open_window', wagtail.blocks.BooleanBlock(default=False))])), ('internal_link', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.TextBlock(default='', required=False)), ('icon_url', wagtail.blocks.TextBlock(default='', required=False)), ('link_display_text', wagtail.blocks.CharBlock(default='Link öffnen', max_length=255)), ('url', wagtail.blocks.TextBlock(default='', required=False)), ('open_window', wagtail.blocks.BooleanBlock(default=False))])), ('relative_link', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('description', wagtail.blocks.TextBlock(default='', required=False)), ('icon_url', wagtail.blocks.TextBlock(default='', required=False)), ('link_display_text', wagtail.blocks.CharBlock(default='Link öffnen', max_length=255)), ('url', wagtail.blocks.TextBlock(default='', required=False)), ('open_window', wagtail.blocks.BooleanBlock(default=False))]))]))]))], null=True, use_json_field=True)),
('course_category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='course.coursecategory')),
],
options={
"abstract": False,
'abstract': False,
},
bases=("wagtailcore.page",),
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name="LibraryDocument",
name='LibraryDocument',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=255, verbose_name="title")),
("file", models.FileField(upload_to="documents", verbose_name="file")),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="created at"),
),
("file_size", models.PositiveIntegerField(editable=False, null=True)),
(
"file_hash",
models.CharField(blank=True, editable=False, max_length=40),
),
("display_text", models.CharField(default="", max_length=1024)),
("description", models.TextField(default="")),
("link_display_text", models.CharField(default="", max_length=1024)),
("thumbnail", models.URLField()),
(
"collection",
models.ForeignKey(
default=wagtail.models.collections.get_root_collection_id,
on_delete=django.db.models.deletion.CASCADE,
related_name="+",
to="wagtailcore.collection",
verbose_name="collection",
),
),
(
"tags",
taggit.managers.TaggableManager(
blank=True,
help_text=None,
through="taggit.TaggedItem",
to="taggit.Tag",
verbose_name="tags",
),
),
(
"uploaded_by_user",
models.ForeignKey(
blank=True,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to=settings.AUTH_USER_MODEL,
verbose_name="uploaded by user",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=255, verbose_name='title')),
('file', models.FileField(upload_to='documents', verbose_name='file')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
('file_size', models.PositiveIntegerField(editable=False, null=True)),
('file_hash', models.CharField(blank=True, editable=False, max_length=40)),
('display_text', models.CharField(default='', max_length=1024)),
('description', models.TextField(default='')),
('link_display_text', models.CharField(default='', max_length=1024)),
('thumbnail', models.URLField()),
('collection', models.ForeignKey(default=wagtail.models.collections.get_root_collection_id, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='wagtailcore.collection', verbose_name='collection')),
('tags', taggit.managers.TaggableManager(blank=True, help_text=None, through='taggit.TaggedItem', to='taggit.Tag', verbose_name='tags')),
('uploaded_by_user', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='uploaded by user')),
],
options={
"verbose_name": "document",
"verbose_name_plural": "documents",
"abstract": False,
'verbose_name': 'document',
'verbose_name_plural': 'documents',
'abstract': False,
},
bases=(wagtail.search.index.Indexed, models.Model),
),

View File

@ -1,10 +1,10 @@
# Generated by Django 3.2.13 on 2023-05-11 20:06
# Generated by Django 3.2.13 on 2023-07-14 12:15
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import jsonfield.fields
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
@ -13,113 +13,41 @@ class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("contenttypes", "0002_remove_content_type_name"),
('contenttypes', '0002_remove_content_type_name'),
]
operations = [
migrations.CreateModel(
name="Notification",
name='Notification',
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"level",
models.CharField(
choices=[
("success", "success"),
("info", "info"),
("warning", "warning"),
("error", "error"),
],
default="info",
max_length=20,
),
),
("unread", models.BooleanField(db_index=True, default=True)),
("actor_object_id", models.CharField(max_length=255)),
("verb", models.CharField(max_length=255)),
("description", models.TextField(blank=True, null=True)),
(
"target_object_id",
models.CharField(blank=True, max_length=255, null=True),
),
(
"action_object_object_id",
models.CharField(blank=True, max_length=255, null=True),
),
(
"timestamp",
models.DateTimeField(
db_index=True, default=django.utils.timezone.now
),
),
("public", models.BooleanField(db_index=True, default=True)),
("deleted", models.BooleanField(db_index=True, default=False)),
("emailed", models.BooleanField(db_index=True, default=False)),
("data", jsonfield.fields.JSONField(blank=True, null=True)),
(
"notification_type",
models.CharField(
choices=[
("USER_INTERACTION", "User Interaction"),
("PROGRESS", "Progress"),
("INFORMATION", "Information"),
],
default="INFORMATION",
max_length=32,
),
),
("target_url", models.URLField(blank=True, null=True)),
("actor_avatar_url", models.URLField(blank=True, null=True)),
("course", models.CharField(blank=True, max_length=32, null=True)),
(
"action_object_content_type",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="notify_action_object",
to="contenttypes.contenttype",
),
),
(
"actor_content_type",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="notify_actor",
to="contenttypes.contenttype",
),
),
(
"recipient",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="notifications",
to=settings.AUTH_USER_MODEL,
),
),
(
"target_content_type",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="notify_target",
to="contenttypes.contenttype",
),
),
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('level', models.CharField(choices=[('success', 'success'), ('info', 'info'), ('warning', 'warning'), ('error', 'error')], default='info', max_length=20, verbose_name='level')),
('unread', models.BooleanField(db_index=True, default=True, verbose_name='unread')),
('actor_object_id', models.CharField(max_length=255, verbose_name='actor object id')),
('verb', models.CharField(max_length=255, verbose_name='verb')),
('description', models.TextField(blank=True, null=True, verbose_name='description')),
('target_object_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='target object id')),
('action_object_object_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='action object object id')),
('timestamp', models.DateTimeField(db_index=True, default=django.utils.timezone.now, verbose_name='timestamp')),
('public', models.BooleanField(db_index=True, default=True, verbose_name='public')),
('deleted', models.BooleanField(db_index=True, default=False, verbose_name='deleted')),
('emailed', models.BooleanField(db_index=True, default=False, verbose_name='emailed')),
('data', jsonfield.fields.JSONField(blank=True, null=True, verbose_name='data')),
('notification_type', models.CharField(choices=[('USER_INTERACTION', 'User Interaction'), ('PROGRESS', 'Progress'), ('INFORMATION', 'Information')], default='INFORMATION', max_length=32)),
('target_url', models.URLField(blank=True, null=True)),
('actor_avatar_url', models.URLField(blank=True, null=True)),
('course', models.CharField(blank=True, max_length=32, null=True)),
('action_object_content_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notify_action_object', to='contenttypes.contenttype', verbose_name='action object content type')),
('actor_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notify_actor', to='contenttypes.contenttype', verbose_name='actor content type')),
('recipient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notifications', to=settings.AUTH_USER_MODEL, verbose_name='recipient')),
('target_content_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notify_target', to='contenttypes.contenttype', verbose_name='target content type')),
],
options={
"ordering": ["-timestamp"],
"abstract": False,
"index_together": {("recipient", "unread")},
'verbose_name': 'Notification',
'verbose_name_plural': 'Notifications',
'ordering': ['-timestamp'],
'abstract': False,
'index_together': {('recipient', 'unread')},
},
),
]

View File

@ -1,162 +0,0 @@
# Generated by Django 3.2.13 on 2023-07-12 07:05
import django.db.models.deletion
import django.utils.timezone
import jsonfield.fields
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("contenttypes", "0002_remove_content_type_name"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("notify", "0001_initial"),
]
operations = [
migrations.AlterModelOptions(
name="notification",
options={
"ordering": ["-timestamp"],
"verbose_name": "Notification",
"verbose_name_plural": "Notifications",
},
),
migrations.AlterField(
model_name="notification",
name="action_object_content_type",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="notify_action_object",
to="contenttypes.contenttype",
verbose_name="action object content type",
),
),
migrations.AlterField(
model_name="notification",
name="action_object_object_id",
field=models.CharField(
blank=True,
max_length=255,
null=True,
verbose_name="action object object id",
),
),
migrations.AlterField(
model_name="notification",
name="actor_content_type",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="notify_actor",
to="contenttypes.contenttype",
verbose_name="actor content type",
),
),
migrations.AlterField(
model_name="notification",
name="actor_object_id",
field=models.CharField(max_length=255, verbose_name="actor object id"),
),
migrations.AlterField(
model_name="notification",
name="data",
field=jsonfield.fields.JSONField(
blank=True, null=True, verbose_name="data"
),
),
migrations.AlterField(
model_name="notification",
name="deleted",
field=models.BooleanField(
db_index=True, default=False, verbose_name="deleted"
),
),
migrations.AlterField(
model_name="notification",
name="description",
field=models.TextField(blank=True, null=True, verbose_name="description"),
),
migrations.AlterField(
model_name="notification",
name="emailed",
field=models.BooleanField(
db_index=True, default=False, verbose_name="emailed"
),
),
migrations.AlterField(
model_name="notification",
name="level",
field=models.CharField(
choices=[
("success", "success"),
("info", "info"),
("warning", "warning"),
("error", "error"),
],
default="info",
max_length=20,
verbose_name="level",
),
),
migrations.AlterField(
model_name="notification",
name="public",
field=models.BooleanField(
db_index=True, default=True, verbose_name="public"
),
),
migrations.AlterField(
model_name="notification",
name="recipient",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="notifications",
to=settings.AUTH_USER_MODEL,
verbose_name="recipient",
),
),
migrations.AlterField(
model_name="notification",
name="target_content_type",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="notify_target",
to="contenttypes.contenttype",
verbose_name="target content type",
),
),
migrations.AlterField(
model_name="notification",
name="target_object_id",
field=models.CharField(
blank=True, max_length=255, null=True, verbose_name="target object id"
),
),
migrations.AlterField(
model_name="notification",
name="timestamp",
field=models.DateTimeField(
db_index=True,
default=django.utils.timezone.now,
verbose_name="timestamp",
),
),
migrations.AlterField(
model_name="notification",
name="unread",
field=models.BooleanField(
db_index=True, default=True, verbose_name="unread"
),
),
migrations.AlterField(
model_name="notification",
name="verb",
field=models.CharField(max_length=255, verbose_name="verb"),
),
]