summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_finds/admin.py25
-rw-r--r--archaeological_operations/admin.py6
-rw-r--r--ishtar_common/admin.py17
3 files changed, 25 insertions, 23 deletions
diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py
index 1da39ed82..00f5501b5 100644
--- a/archaeological_finds/admin.py
+++ b/archaeological_finds/admin.py
@@ -28,8 +28,7 @@ from django.contrib.gis.forms import PointField, MultiPolygonField, \
from ishtar_common.utils import ugettext_lazy as _
from ishtar_common.apps import admin_site
-from ishtar_common.admin import HistorizedObjectAdmin, GeneralTypeAdmin, \
- HierarchicalTypeAdmin
+from ishtar_common.admin import HistorizedObjectAdmin, GeneralTypeAdmin
from . import models
@@ -181,7 +180,7 @@ class TreatmentFileAdmin(HistorizedObjectAdmin):
admin_site.register(models.TreatmentFile, TreatmentFileAdmin)
-class ObjectTypeAdmin(HierarchicalTypeAdmin):
+class ObjectTypeAdmin(GeneralTypeAdmin):
model = models.ObjectType
form = make_ajax_form(model, {
'parent': 'object_type',
@@ -191,24 +190,22 @@ class ObjectTypeAdmin(HierarchicalTypeAdmin):
admin_site.register(models.ObjectType, ObjectTypeAdmin)
-class MaterialTypeAdmin(HierarchicalTypeAdmin):
- list_display = HierarchicalTypeAdmin.list_display + ['recommendation']
+class MaterialTypeAdmin(GeneralTypeAdmin):
search_fields = ('label', 'parent__label', 'comment',)
model = models.MaterialType
form = make_ajax_form(model, {
'parent': 'material_type',
})
+ extra_list_display = ['recommendation']
admin_site.register(models.MaterialType, MaterialTypeAdmin)
-admin_site.register(models.CommunicabilityType, HierarchicalTypeAdmin)
+admin_site.register(models.CommunicabilityType, GeneralTypeAdmin)
class TreatmentTypeAdmin(GeneralTypeAdmin):
- list_display = HierarchicalTypeAdmin.list_display[:-1] + ['order'] + \
- [HierarchicalTypeAdmin.list_display[-1]]
list_filter = [
'virtual', 'destructive', 'create_new_find', 'upstream_is_many',
'downstream_is_many', 'destructive', 'change_reference_location',
@@ -216,12 +213,16 @@ class TreatmentTypeAdmin(GeneralTypeAdmin):
]
model = models.TreatmentType
+ def get_list_display(self, request):
+ list_display = super(TreatmentTypeAdmin, self).get_list_display(request)
+ return list_display[:-1] + ['order'] + [list_display[-1]]
+
admin_site.register(models.TreatmentType, TreatmentTypeAdmin)
class CheckedTypeAdmin(GeneralTypeAdmin):
- list_display = GeneralTypeAdmin.list_display + ['order']
+ extra_list_display = ["order"]
model = models.CheckedType
@@ -230,17 +231,17 @@ admin_site.register(models.CheckedType, CheckedTypeAdmin)
@admin.register(models.ConservatoryState, site=admin_site)
class ConservatoryStateAdmin(GeneralTypeAdmin):
- list_display = GeneralTypeAdmin.list_display + ['order']
+ extra_list_display = ["order"]
@admin.register(models.TreatmentFileType, site=admin_site)
class TreatmentFileType(GeneralTypeAdmin):
- list_display = GeneralTypeAdmin.list_display + ["treatment_type"]
+ extra_list_display = ["treatment_type"]
@admin.register(models.TreatmentState, site=admin_site)
class TreatmentState(GeneralTypeAdmin):
- list_display = GeneralTypeAdmin.list_display[:-1] + ["order", "executed"]
+ extra_list_display = ["order", "executed"]
general_models = [
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py
index 057936fc8..3d844e944 100644
--- a/archaeological_operations/admin.py
+++ b/archaeological_operations/admin.py
@@ -28,8 +28,7 @@ from django.contrib.gis.forms import PointField, MultiPolygonField, OSMWidget
from ishtar_common.utils import ugettext_lazy as _
from ishtar_common.apps import admin_site
-from ishtar_common.admin import HistorizedObjectAdmin, GeneralTypeAdmin, \
- HierarchicalTypeAdmin
+from ishtar_common.admin import HistorizedObjectAdmin, GeneralTypeAdmin
from . import models
@@ -216,8 +215,7 @@ class ParcelOwnerAdmin(HistorizedObjectAdmin):
admin_site.register(models.ParcelOwner, ParcelOwnerAdmin)
-class CulturalAttributionTypeAdmin(HierarchicalTypeAdmin):
- list_display = HierarchicalTypeAdmin.list_display
+class CulturalAttributionTypeAdmin(GeneralTypeAdmin):
search_fields = ('label', 'parent__label', )
model = models.CulturalAttributionType
form = make_ajax_form(model, {
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