summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-25 19:27:15 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-25 19:27:15 +0100
commitbbb932b52ec60e587b98761ade4d8237e2eebc6b (patch)
treedd8954499c90ace9b2af69b9bfd5d895b313ff53 /ishtar_common/admin.py
parenta61972aad66089089daa0243632aaf5011a7f431 (diff)
downloadIshtar-bbb932b52ec60e587b98761ade4d8237e2eebc6b.tar.bz2
Ishtar-bbb932b52ec60e587b98761ade4d8237e2eebc6b.zip
✨ admin biographical notes: search, CSV export and improve form
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index c9393e57e..e425532ee 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -211,7 +211,11 @@ def export_as_csv_action(
elif isinstance(value, ContentType):
value = f"{value.app_label}|{value.model}"
elif hasattr(value, "natural_key"):
- value = "||".join(value.natural_key())
+ v = value.natural_key()
+ if not isinstance(v, (list, tuple)):
+ value = str(v)
+ else:
+ value = "||".join([str(k) for k in v])
else:
value = str(value)
row.append(value)
@@ -1024,6 +1028,23 @@ class BiographicalNoteAdmin(admin.ModelAdmin):
autocomplete_fields = ["person", "organization"]
model = models.BiographicalNote
readonly_fields = MAIN_ITEM_READONLY_FIELDS
+ exclude = ("search_vector", "created", "last_modified", "need_update",
+ "ishtar_users")
+ prepopulated_fields = {"slug": ("denomination",)}
+ actions = [
+ export_as_csv_action(
+ exclude=("last_modified", "locked", "timestamp_geo", "lock_user",
+ "timestamp_label", "history_m2m", "history_modifier",
+ "search_vector", "need_update", "id", "created",
+ "history_creator", "person", "organization")
+ ),
+ ]
+ search_fields = (
+ "denomination",
+ "last_name",
+ "first_name",
+ "slug",
+ )
@admin.register(models.GDPRLog, site=admin_site)