summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-02-15 15:58:23 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-02-16 10:55:15 +0100
commitefe15e3de5721a881868cf7ba338b65a15166253 (patch)
tree9adb537f937dbced94851a8015d5a030c5677390
parentfcbe2ce69606aa31642e43647b7e28f50c997abb (diff)
downloadIshtar-efe15e3de5721a881868cf7ba338b65a15166253.tar.bz2
Ishtar-efe15e3de5721a881868cf7ba338b65a15166253.zip
🗃️ biographical notes - model, admin: add organization
-rw-r--r--archaeological_finds/migrations/0115_auto_20240215_1547.py (renamed from archaeological_finds/migrations/0115_auto_20240215_1443.py)4
-rw-r--r--archaeological_finds/migrations/0116_data_migration_museum_technical.py2
-rw-r--r--ishtar_common/admin.py7
-rw-r--r--ishtar_common/migrations/0236_auto_20240215_1547.py (renamed from ishtar_common/migrations/0236_auto_20240209_1558.py)6
-rw-r--r--ishtar_common/migrations/0237_data_migration_licenses_shootingangle.py2
-rw-r--r--ishtar_common/models.py16
6 files changed, 29 insertions, 8 deletions
diff --git a/archaeological_finds/migrations/0115_auto_20240215_1443.py b/archaeological_finds/migrations/0115_auto_20240215_1547.py
index 529ab5abd..4bfaec94e 100644
--- a/archaeological_finds/migrations/0115_auto_20240215_1443.py
+++ b/archaeological_finds/migrations/0115_auto_20240215_1547.py
@@ -1,4 +1,4 @@
-# Generated by Django 2.2.24 on 2024-02-15 14:43
+# Generated by Django 2.2.24 on 2024-02-15 15:47
import django.core.validators
from django.db import migrations, models
@@ -10,7 +10,7 @@ import re
class Migration(migrations.Migration):
dependencies = [
- ('ishtar_common', '0237_data_migration_licenses_shootingangle'),
+ ('ishtar_common', '0236_auto_20240215_1547'),
('archaeological_finds', '0114_auto_20231115_1617'),
]
diff --git a/archaeological_finds/migrations/0116_data_migration_museum_technical.py b/archaeological_finds/migrations/0116_data_migration_museum_technical.py
index e0f393e36..523388f31 100644
--- a/archaeological_finds/migrations/0116_data_migration_museum_technical.py
+++ b/archaeological_finds/migrations/0116_data_migration_museum_technical.py
@@ -14,7 +14,7 @@ def load_data(_, __):
class Migration(migrations.Migration):
dependencies = [
- ('archaeological_finds', '0115_auto_20240215_1443'),
+ ('archaeological_finds', '0115_auto_20240215_1547'),
]
operations = [
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index da35fe48c..527584f39 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -735,6 +735,13 @@ class PersonAdmin(HistorizedObjectAdmin):
admin_site.register(models.Person, PersonAdmin)
+@admin.register(models.BiographicalNote, site=admin_site)
+class BiographicalNoteAdmin(admin.ModelAdmin):
+ list_display = ("denomination", "last_name", "first_name")
+ autocomplete_fields = ["person", "organization"]
+ model = models.BiographicalNote
+
+
@admin.register(models.GDPRLog, site=admin_site)
class GDPRLogAdmin(admin.ModelAdmin):
list_display = ("user", "date", "ip", "routable_ip", "activity")
diff --git a/ishtar_common/migrations/0236_auto_20240209_1558.py b/ishtar_common/migrations/0236_auto_20240215_1547.py
index 6fd6014fe..4a2897560 100644
--- a/ishtar_common/migrations/0236_auto_20240209_1558.py
+++ b/ishtar_common/migrations/0236_auto_20240215_1547.py
@@ -1,4 +1,4 @@
-# Generated by Django 2.2.24 on 2024-02-09 15:58
+# Generated by Django 2.2.24 on 2024-02-15 15:47
import django.core.validators
from django.db import migrations, models
@@ -68,7 +68,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='ishtarsiteprofile',
name='museum_complete_identifier',
- field=models.TextField(default='{{museum_id_prefix}}.{{museum_id}}.{{museum_id_suffix}}', help_text='Formula to manage cached label. If not set a default formula is used.', verbose_name='Find - Complete museum ID'),
+ field=models.TextField(default='{% if museum_id_prefix %}{{museum_id_prefix}}.{% endif %}{{museum_id}}{% if museum_id_suffix %}.{{museum_id_suffix}}{% endif %}', help_text='Formula to manage cached label. If not set a default formula is used.', verbose_name='Find - Complete museum ID'),
),
migrations.AddField(
model_name='licensetype',
@@ -106,8 +106,10 @@ class Migration(migrations.Migration):
('death_year', models.PositiveIntegerField(blank=True, null=True, verbose_name='Year of death')),
('biography', models.TextField(blank=True, default='', verbose_name='Biography')),
('biography_format', models.CharField(blank=True, choices=[('NO', 'None'), ('MD', 'Markdown'), ('HT', 'HTML')], default='NO', max_length=2, verbose_name='Biography format')),
+ ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Organization', verbose_name='Organization')),
('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Person', verbose_name='Person')),
],
+ options={'verbose_name': 'Biographical note', 'verbose_name_plural': 'Biographical notes'},
),
migrations.AddField(
model_name='document',
diff --git a/ishtar_common/migrations/0237_data_migration_licenses_shootingangle.py b/ishtar_common/migrations/0237_data_migration_licenses_shootingangle.py
index ec25de658..9d5190c15 100644
--- a/ishtar_common/migrations/0237_data_migration_licenses_shootingangle.py
+++ b/ishtar_common/migrations/0237_data_migration_licenses_shootingangle.py
@@ -14,7 +14,7 @@ def load_data(_, __):
class Migration(migrations.Migration):
dependencies = [
- ('ishtar_common', '0236_auto_20240209_1558'),
+ ('ishtar_common', '0236_auto_20240215_1547'),
]
operations = [
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 5858fdb78..d51784b72 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1385,7 +1385,7 @@ class IshtarSiteProfile(models.Model, Cached):
)
museum_complete_identifier = models.TextField(
_("Find - Complete museum ID"),
- default="{{museum_id_prefix}}.{{museum_id}}.{{museum_id_suffix}}",
+ default="{% if museum_id_prefix %}{{museum_id_prefix}}.{% endif %}{{museum_id}}{% if museum_id_suffix %}.{{museum_id_suffix}}{% endif %}",
help_text=_(
"Formula to manage cached label. If not set a default formula is used."
),
@@ -3244,12 +3244,24 @@ class BiographicalNote(models.Model):
biography_format = models.CharField(
_("Biography format"), blank=True, default="NO", max_length=2, choices=TEXT_FORMAT
)
- person = models.ForeignKey(Person, verbose_name=_("Person"), blank=True, null=True, on_delete=models.SET_NULL)
+ person = models.ForeignKey(Person, blank=True, null=True, on_delete=models.SET_NULL, verbose_name=_("Person"))
+ organization = models.ForeignKey(
+ Organization, blank=True, null=True, on_delete=models.SET_NULL,
+ verbose_name=_("Organization"),
+ )
+
+ class Meta:
+ verbose_name = _("Biographical note")
+ verbose_name_plural = _("Biographical notes")
+ ADMIN_SECTION = _("Directory")
@property
def formatted_biography(self):
return text_format(self.biography, self.biography_format)
+ def __str__(self):
+ return self.denomination
+
GDPR_ACTIVITY = (
("DC", _("Directory consultation")),