summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-04-02 09:22:01 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-04-02 09:22:01 +0200
commit60b0d884f4d093642616b571be347139dfd4650e (patch)
treeb0add0bbcedc71b33c7d8530ee826e1d94af6cfd /ishtar_common
parent329740ac5c64f743c081b3e62e5a83d9387531f9 (diff)
downloadIshtar-60b0d884f4d093642616b571be347139dfd4650e.tar.bz2
Ishtar-60b0d884f4d093642616b571be347139dfd4650e.zip
✨ add editors to all historized items
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/migrations/0276_add_editors.py48
-rw-r--r--ishtar_common/models_common.py8
2 files changed, 56 insertions, 0 deletions
diff --git a/ishtar_common/migrations/0276_add_editors.py b/ishtar_common/migrations/0276_add_editors.py
new file mode 100644
index 000000000..1710441a1
--- /dev/null
+++ b/ishtar_common/migrations/0276_add_editors.py
@@ -0,0 +1,48 @@
+# Generated by Django 4.2.21 on 2026-04-02 06:36
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ishtar_common', '0275_authortype_parent'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='biographicalnote',
+ name='editors',
+ field=models.ManyToManyField(blank=True, related_name='%(class)s_edited', to='ishtar_common.author', verbose_name='Editors'),
+ ),
+ migrations.AddField(
+ model_name='document',
+ name='editors',
+ field=models.ManyToManyField(blank=True, related_name='%(class)s_edited', to='ishtar_common.author', verbose_name='Editors'),
+ ),
+ migrations.AddField(
+ model_name='organization',
+ name='editors',
+ field=models.ManyToManyField(blank=True, related_name='%(class)s_edited', to='ishtar_common.author', verbose_name='Editors'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='editors',
+ field=models.ManyToManyField(blank=True, related_name='%(class)s_edited', to='ishtar_common.author', verbose_name='Editors'),
+ ),
+ migrations.AddField(
+ model_name='qualifiedbiographicalnote',
+ name='editors',
+ field=models.ManyToManyField(blank=True, related_name='%(class)s_edited', to='ishtar_common.author', verbose_name='Editors'),
+ ),
+ migrations.AlterField(
+ model_name='documenttemplate',
+ name='export_format',
+ field=models.CharField(blank=True, choices=[('', '---')], default='', max_length=4, verbose_name='Export format'),
+ ),
+ migrations.AlterField(
+ model_name='qualifiedbiographicalnotetype',
+ name='model',
+ field=models.CharField(choices=[('S', 'Archaeological site'), ('O', 'Operation'), ('C', 'Context record'), ('F', 'Find'), ('A', 'All')], max_length=2, verbose_name='Model'),
+ ),
+ ]
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index 117981e79..0161aadad 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -1707,6 +1707,10 @@ class BaseHistorizedItem(
last_modified = models.DateTimeField(blank=True, default=timezone.now)
created = models.DateTimeField(blank=True, default=timezone.now)
history_m2m = JSONField(default=dict, blank=True)
+ editors = models.ManyToManyField(
+ "ishtar_common.Author", related_name="%(class)s_edited",
+ verbose_name=_("Editors"), blank=True
+ )
need_update = models.BooleanField(verbose_name=_("Need update"), default=False)
locked = models.BooleanField(
verbose_name=_("Item locked for edition"), default=False
@@ -1751,6 +1755,10 @@ class BaseHistorizedItem(
pgettext_lazy("key for text search", "modified"),
"last_modified",
),
+ "editors": SearchAltName(
+ pgettext_lazy("key for text search", "editor"),
+ "editors__cached_label__iexact"
+ ),
"locked": SearchAltName(
pgettext_lazy("key for text search", "locked"), "locked"
),