Fix sortable cols in admin

This commit is contained in:
Matthew Ryan Dillon 2016-01-29 11:53:33 -07:00
parent 53f28be5ec
commit c4b8911cc4
3 changed files with 63 additions and 8 deletions

View file

@ -13,15 +13,20 @@ class RegionAdmin(admin.ModelAdmin):
class SiteAdmin(admin.ModelAdmin):
list_display = ('name', 'code', 'region', 'description', 'sort_order')
list_display = ('name', 'code', 'region_name', 'description', 'sort_order')
list_display_links = ('name',)
search_fields = ('name', 'code', 'region__name', 'description')
list_per_page = 25
fields = ('name', 'code', 'region', 'description', 'sort_order')
def region_name(self, obj):
return obj.region.name
region_name.admin_order_field = 'region__name'
region_name.short_description = 'Region'
class MunicipalLocationAdmin(admin.ModelAdmin):
list_display = ('name', 'code', 'site', 'municipal_location_type',
list_display = ('name', 'code', 'site_name', 'municipal_location_type',
'description', 'sort_order')
list_display_links = ('name',)
search_fields = ('name', 'code', 'site__name', 'municipal_location_type',
@ -30,10 +35,15 @@ class MunicipalLocationAdmin(admin.ModelAdmin):
fields = ('name', 'code', 'site', 'municipal_location_type',
'description', 'sort_order')
def site_name(self, obj):
return obj.site.name
site_name.admin_order_field = 'site__name'
site_name.short_description = 'Site'
class StudyLocationAdmin(admin.ModelAdmin):
list_display = ('name', 'code', 'site', 'study_location_type',
'treatment_type', 'municipal_location', 'collecting_location',
list_display = ('name', 'code', 'site_name', 'study_location_type',
'treatment_type', 'ml_name', 'collecting_location',
'description', 'sort_order')
list_display_links = ('name',)
search_fields = ('name', 'code', 'site__name', 'study_location_type',
@ -44,6 +54,18 @@ class StudyLocationAdmin(admin.ModelAdmin):
'treatment_type', 'municipal_location', 'collecting_location',
'description', 'sort_order')
def site_name(self, obj):
return obj.site.name
site_name.admin_order_field = 'site__name'
site_name.short_description = 'Site'
def ml_name(self, obj):
if obj.municipal_location:
return obj.municipal_location.name
return obj.municipal_location
ml_name.admin_order_field = 'municipal_location__name'
ml_name.short_description = 'Municipal Location'
class StorageLocationAdmin(admin.ModelAdmin):
list_display = ('__str__', 'facility', 'building', 'room', 'freezer', 'temp_c',