summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-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
4 files changed, 26 insertions, 5 deletions
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")),