summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-09-01 17:00:53 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2020-09-01 17:00:53 +0200
commitc5472f540dcfea307452ec078dd3ee833c7d86fe (patch)
treee6c04aea5618e384bf37825b9198d474756aa7ca /ishtar_common/admin.py
parent95cf5f240a41f3ee6ce9ebb4ae2af890ba22c6c4 (diff)
downloadIshtar-c5472f540dcfea307452ec078dd3ee833c7d86fe.tar.bz2
Ishtar-c5472f540dcfea307452ec078dd3ee833c7d86fe.zip
Admin: for all hierarchical type lists add a colum for parent (refs #4956)
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index e606a81e7..b79dd8e5f 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -841,12 +841,19 @@ admin_site.register(models.Town, TownAdmin)
class GeneralTypeAdmin(ImportActionAdmin, ImportJSONActionAdmin):
- list_display = ['label', 'txt_idx', 'available', 'comment']
search_fields = ('label', 'txt_idx', 'comment',)
list_filter = ('available',)
save_on_top = True
actions = [export_as_csv_action(), serialize_type_action]
prepopulated_fields = {"txt_idx": ("label",)}
+ extra_list_display = []
+
+ def get_list_display(self, request):
+ if hasattr(self.model, "parent"):
+ return ['label', 'txt_idx', 'parent', 'available', 'comment'] + \
+ self.extra_list_display
+ return ['label', 'txt_idx', 'available', 'comment'] + \
+ self.extra_list_display
@csrf_protect_m
def get_changelist_queryset(self, request):
@@ -904,10 +911,6 @@ class GeneralTypeAdmin(ImportActionAdmin, ImportJSONActionAdmin):
request, object_id, form_url, extra_context)
-class HierarchicalTypeAdmin(GeneralTypeAdmin):
- list_display = ['label', 'txt_idx', 'parent', 'available', 'comment']
-
-
general_models = [models.OrganizationType, models.SourceType,
models.AuthorType, models.TitleType, models.Format,
models.SupportType, models.PersonType, models.LicenseType]
@@ -1299,7 +1302,7 @@ admin_site.register(models.TargetKey, TargetKeyAdmin)
class OperationTypeAdmin(GeneralTypeAdmin):
- list_display = GeneralTypeAdmin.list_display + ['order', 'preventive']
+ extra_list_display = ["order", "preventive"]
model = models.OperationType
@@ -1307,7 +1310,7 @@ admin_site.register(models.OperationType, OperationTypeAdmin)
class SpatialReferenceSystemAdmin(GeneralTypeAdmin):
- list_display = GeneralTypeAdmin.list_display + ['order', 'srid']
+ extra_list_display = ['order', 'srid']
model = models.SpatialReferenceSystem