diff options
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 |
commit | bbb932b52ec60e587b98761ade4d8237e2eebc6b (patch) | |
tree | dd8954499c90ace9b2af69b9bfd5d895b313ff53 /ishtar_common | |
parent | a61972aad66089089daa0243632aaf5011a7f431 (diff) | |
download | Ishtar-bbb932b52ec60e587b98761ade4d8237e2eebc6b.tar.bz2 Ishtar-bbb932b52ec60e587b98761ade4d8237e2eebc6b.zip |
✨ admin biographical notes: search, CSV export and improve form
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/admin.py | 23 |
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) |