77 lines
2.9 KiB
Python
77 lines
2.9 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import Region, Site, MunicipalLocation, \
|
|
StudyLocation, StorageLocation
|
|
|
|
|
|
class RegionAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'code', 'sort_order')
|
|
list_display_links = ('name',)
|
|
search_fields = ('name', 'code')
|
|
list_per_page = 25
|
|
fields = ('name', 'code', 'sort_order')
|
|
|
|
|
|
class SiteAdmin(admin.ModelAdmin):
|
|
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', 'municipal_location_type', 'description',
|
|
'sort_order')
|
|
list_display_links = ('name',)
|
|
search_fields = ('name', 'code', 'municipal_location_type', 'description')
|
|
list_per_page = 25
|
|
fields = ('name', 'code', 'municipal_location_type', 'description',
|
|
'sort_order')
|
|
|
|
|
|
class StudyLocationAdmin(admin.ModelAdmin):
|
|
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',
|
|
'treatment_type', 'municipal_location__name',
|
|
'collecting_location', 'description')
|
|
list_per_page = 25
|
|
fields = ('name', 'code', 'site', 'study_location_type', '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):
|
|
return str(obj.municipal_location) if obj.municipal_location else None
|
|
ml_name.admin_order_field = 'municipal_location__name'
|
|
ml_name.short_description = 'Municipal Location'
|
|
|
|
|
|
class StorageLocationAdmin(admin.ModelAdmin):
|
|
list_display = ('code', 'facility', 'building', 'room', 'freezer',
|
|
'temp_c', 'description', 'sort_order')
|
|
list_display_links = ('code',)
|
|
search_fields = ('code', 'facility', 'building', 'room', 'freezer',
|
|
'temp_c', 'description')
|
|
list_per_page = 25
|
|
fields = ('code', 'facility', 'building', 'room', 'freezer', 'temp_c',
|
|
'description', 'sort_order')
|
|
|
|
|
|
admin.site.register(Region, RegionAdmin)
|
|
admin.site.register(Site, SiteAdmin)
|
|
admin.site.register(MunicipalLocation, MunicipalLocationAdmin)
|
|
admin.site.register(StudyLocation, StudyLocationAdmin)
|
|
admin.site.register(StorageLocation, StorageLocationAdmin)
|