diff --git a/fet2020/tasks/migrations/0002_alter_task_options_task_slug_task_slug_id_and_more.py b/fet2020/tasks/migrations/0002_alter_task_options_task_slug_task_slug_id_and_more.py index 6cefca7d..9853d159 100644 --- a/fet2020/tasks/migrations/0002_alter_task_options_task_slug_task_slug_id_and_more.py +++ b/fet2020/tasks/migrations/0002_alter_task_options_task_slug_task_slug_id_and_more.py @@ -1,104 +1,103 @@ -# Generated by Django 4.0.6 on 2022-07-30 10:47 +# Generated by Django 4.1.2 on 2022-12-21 11:42 import datetime -import logging - -import fet2020.utils - from django.db import migrations, models import django.db.models.deletion -import django.db.models.expressions -from django.utils.text import slugify - - -def forwards_func(apps, schema_editor): - Tasks = apps.get_model("tasks", "Task") - for elem in Tasks.objects.all(): - elem.slug_id = fet2020.utils.create_random_id() - elem.slug = elem.slug_id + "-" + slugify(elem.title) - elem.save(update_fields=["slug_id", "slug"]) - - TaskLists = apps.get_model("tasks", "TaskList") - for elem in TaskLists.objects.all(): - elem.shortterm = slugify(elem.name) - elem.slug = slugify(elem.shortterm) - elem.save(update_fields=["shortterm", "slug"]) +import fet2020.utils class Migration(migrations.Migration): dependencies = [ - ('tasks', '0001_initial'), + ("tasks", "0001_initial"), ] operations = [ migrations.AlterModelOptions( - name='task', - options={'ordering': ('task_list', django.db.models.expressions.OrderBy(django.db.models.expressions.F('due_date'), descending=True, nulls_first=True)), 'verbose_name': 'Aufgabe', 'verbose_name_plural': 'Aufgaben'}, - ), - # remove unique=True to set value, and then set option unique=True - migrations.AddField( - model_name='task', - name='slug', - field=models.SlugField(blank=True), - ), - # remove unique=True to set value, and then set option unique=True - migrations.AddField( - model_name='task', - name='slug_id', - field=models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8), - ), - # remove unique=True to set value, and then set option unique=True - migrations.AddField( - model_name='tasklist', - name='shortterm', - field=models.CharField(blank=True, max_length=128), - ), - migrations.AlterField( - model_name='task', - name='title', - field=models.CharField(max_length=128, verbose_name='Titel'), - ), - migrations.AlterField( - model_name='tasklist', - name='name', - field=models.CharField(max_length=128), - ), - migrations.CreateModel( - name='Document', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=128, verbose_name='Titel')), - ('slug_id', models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8, unique=True)), - ('etherpad_key', models.CharField(blank=True, max_length=50)), - ('date', models.DateField(default=datetime.date.today, verbose_name='Datum')), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tasks.task')), - ], + name="task", options={ - 'verbose_name': 'Dokument', - 'verbose_name_plural': 'Dokumente', + "ordering": ( + "task_list", + models.OrderBy( + models.F("due_date"), descending=True, nulls_first=True + ), + ), + "verbose_name": "Aufgabe", + "verbose_name_plural": "Aufgaben", }, ), - migrations.RunPython(forwards_func), - # unique=True after setting value - migrations.AlterField( - model_name='task', - name='slug', - field=models.SlugField(blank=True, unique=True), + migrations.AddField( + model_name="task", + name="slug", + field=models.SlugField(blank=True, null=True), + ), + migrations.AddField( + model_name="task", + name="slug_id", + field=models.CharField( + default=fet2020.utils.create_random_id, + editable=False, + max_length=8, + null=True, + ), + ), + migrations.AddField( + model_name="tasklist", + name="shortterm", + field=models.CharField(blank=True, max_length=128, null=True), ), migrations.AlterField( - model_name='task', - name='slug_id', - field=models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8, unique=True), + model_name="task", + name="title", + field=models.CharField(max_length=128, verbose_name="Titel"), ), migrations.AlterField( - model_name='tasklist', - name='shortterm', - field=models.CharField(blank=True, max_length=128, unique=True), + model_name="tasklist", + name="name", + field=models.CharField(max_length=128), ), migrations.AlterField( - model_name='tasklist', - name='slug', - field=models.SlugField(blank=True, unique=True), + model_name="tasklist", + name="slug", + field=models.SlugField(blank=True, null=True), + ), + migrations.CreateModel( + name="Document", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("title", models.CharField(max_length=128, verbose_name="Titel")), + ( + "slug_id", + models.CharField( + default=fet2020.utils.create_random_id, + editable=False, + max_length=8, + unique=True, + ), + ), + ("etherpad_key", models.CharField(blank=True, max_length=50)), + ( + "date", + models.DateField(default=datetime.date.today, verbose_name="Datum"), + ), + ( + "task", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, to="tasks.task" + ), + ), + ], + options={ + "verbose_name": "Dokument", + "verbose_name_plural": "Dokumente", + }, ), ] diff --git a/fet2020/tasks/migrations/0003_populate_unique_values.py b/fet2020/tasks/migrations/0003_populate_unique_values.py new file mode 100644 index 00000000..503cd202 --- /dev/null +++ b/fet2020/tasks/migrations/0003_populate_unique_values.py @@ -0,0 +1,29 @@ +# Generated by Django 4.1.2 on 2022-12-21 11:43 + +from django.db import migrations +import fet2020.utils + + +def forwards_func(apps, schema_editor): + Tasks = apps.get_model("tasks", "Task") + for elem in Tasks.objects.all(): + elem.slug_id = fet2020.utils.create_random_id() + elem.slug = elem.slug_id + "-" + slugify(elem.title) + elem.save(update_fields=["slug_id", "slug"]) + + TaskLists = apps.get_model("tasks", "TaskList") + for elem in TaskLists.objects.all(): + elem.shortterm = slugify(elem.name) + elem.slug = slugify(elem.shortterm) + elem.save(update_fields=["shortterm", "slug"]) + + +class Migration(migrations.Migration): + + dependencies = [ + ("tasks", "0002_alter_task_options_task_slug_task_slug_id_and_more"), + ] + + operations = [ + migrations.RunPython(forwards_func, reverse_code=migrations.RunPython.noop), + ] diff --git a/fet2020/tasks/migrations/0004_set_fields_unique.py b/fet2020/tasks/migrations/0004_set_fields_unique.py new file mode 100644 index 00000000..bdfe32b6 --- /dev/null +++ b/fet2020/tasks/migrations/0004_set_fields_unique.py @@ -0,0 +1,39 @@ +# Generated by Django 4.1.2 on 2022-12-21 11:43 + +from django.db import migrations, models +import fet2020.utils + + +class Migration(migrations.Migration): + + dependencies = [ + ("tasks", "0003_populate_unique_values"), + ] + + operations = [ + migrations.AlterField( + model_name="task", + name="slug", + field=models.SlugField(blank=True, unique=True), + ), + migrations.AlterField( + model_name="task", + name="slug_id", + field=models.CharField( + default=fet2020.utils.create_random_id, + editable=False, + max_length=8, + unique=True, + ), + ), + migrations.AlterField( + model_name="tasklist", + name="shortterm", + field=models.CharField(blank=True, max_length=128, unique=True), + ), + migrations.AlterField( + model_name="tasklist", + name="slug", + field=models.SlugField(blank=True, unique=True), + ), + ]