diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/admin.py | 7 | ||||
-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.py | 2 | ||||
-rw-r--r-- | ishtar_common/models.py | 16 |
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")), |