summaryrefslogtreecommitdiff
path: root/archaeological_finds/migrations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-04-24 18:10:29 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-04-26 17:43:38 +0200
commita20e6f427edfaf3ae8b8f020957134fa4a2d577d (patch)
treec7784b19b02793147b11b4236853456293c1b9df /archaeological_finds/migrations
parentc9db6e5bdb9182cd2d38c1daf1096350cf13a4a7 (diff)
downloadIshtar-a20e6f427edfaf3ae8b8f020957134fa4a2d577d.tar.bz2
Ishtar-a20e6f427edfaf3ae8b8f020957134fa4a2d577d.zip
✨ finds - workshop, movement, style fields: model, admin, forms, views, sheet (refs #6725)
Diffstat (limited to 'archaeological_finds/migrations')
-rw-r--r--archaeological_finds/migrations/0154_workshop_movement_styles.py40
-rw-r--r--archaeological_finds/migrations/0155_data_migration.json24
-rw-r--r--archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py26
3 files changed, 90 insertions, 0 deletions
diff --git a/archaeological_finds/migrations/0154_workshop_movement_styles.py b/archaeological_finds/migrations/0154_workshop_movement_styles.py
new file mode 100644
index 000000000..bfda4ef6e
--- /dev/null
+++ b/archaeological_finds/migrations/0154_workshop_movement_styles.py
@@ -0,0 +1,40 @@
+# Generated by Django 4.2.19 on 2026-04-24 15:43
+
+import django.core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+import ishtar_common.models_common
+import re
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0153_data_migration_find_listed_building_icono_patterns'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='WorkshopMovementStyleType',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('label', models.TextField(verbose_name='Label')),
+ ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID')),
+ ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=10, verbose_name='Order')),
+ ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.workshopmovementstyletype', verbose_name='Parent')),
+ ],
+ options={
+ 'verbose_name': 'Workshop, movement, style type',
+ 'verbose_name_plural': 'Workshop, movement, style types',
+ 'ordering': ('order', 'label'),
+ },
+ bases=(ishtar_common.models_common.Cached, models.Model),
+ ),
+ migrations.AddField(
+ model_name='find',
+ name='workshop_movement_styles',
+ field=models.ManyToManyField(blank=True, related_name='finds', to='archaeological_finds.workshopmovementstyletype', verbose_name='Workshop, movement, style'),
+ ),
+ ]
diff --git a/archaeological_finds/migrations/0155_data_migration.json b/archaeological_finds/migrations/0155_data_migration.json
new file mode 100644
index 000000000..70a2acf89
--- /dev/null
+++ b/archaeological_finds/migrations/0155_data_migration.json
@@ -0,0 +1,24 @@
+[
+ {
+ "model": "archaeological_finds.workshopmovementstyletype",
+ "fields": {
+ "label": "Atelier, mouvement, style 1",
+ "txt_idx": "atelier-mouvement-style-1",
+ "comment": "",
+ "available": true,
+ "order": 10,
+ "parent": null
+ }
+ },
+ {
+ "model": "archaeological_finds.workshopmovementstyletype",
+ "fields": {
+ "label": "Atelier, mouvement, style 2",
+ "txt_idx": "atelier-mouvement-style-2",
+ "comment": "",
+ "available": true,
+ "order": 20,
+ "parent": null
+ }
+ }
+] \ No newline at end of file
diff --git a/archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py b/archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py
new file mode 100644
index 000000000..cfeb639a1
--- /dev/null
+++ b/archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py
@@ -0,0 +1,26 @@
+# Generated by Django 2.2.24 on 2024-02-10 12:07
+
+import os
+
+from django.db import migrations
+from django.core.management import call_command
+
+
+def load_data(apps, __):
+ WorkshopMovementStyleType = apps.get_model("archaeological_finds",
+ "WorkshopMovementStyleType")
+ if not WorkshopMovementStyleType.objects.count():
+ json_path = os.sep.join(os.path.abspath(__file__).split(os.sep)[:-1] + [
+ "0155_data_migration.json"])
+ call_command("loaddata", json_path)
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0154_workshop_movement_styles'),
+ ]
+
+ operations = [
+ migrations.RunPython(load_data)
+ ]