ccdb-api/ccdb/collections_ccdb/admin.py

76 lines
2.7 KiB
Python

from django.contrib import admin
from .models import (CollectionType, CollectionMethod, Flaw, ADFGPermit,
DatasheetAttachment, CollectionTrap, Collection)
from ..species.models import CollectionSpecies
class CollectionTypeAdmin(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 CollectionMethodAdmin(admin.ModelAdmin):
list_display = ('name', 'code', 'collection_method_class', 'sort_order')
list_display_links = ('name',)
search_fields = ('name', 'code', 'collection_method_class')
list_per_page = 25
fields = ('name', 'code', 'collection_method_class', 'sort_order')
class FlawAdmin(admin.ModelAdmin):
list_display = ('name', 'description', 'sort_order')
list_display_links = ('name',)
search_fields = ('name', 'description')
list_per_page = 25
fields = ('name', 'description')
class ADFGPermitAdmin(admin.ModelAdmin):
list_display = ('name', 'sort_order')
list_display_links = ('name',)
search_fields = ('name',)
list_per_page = 25
fields = ('name', 'sort_order')
class DatasheetAttachmentAdmin(admin.ModelAdmin):
list_display = ('collection', 'datasheet')
list_display_links = ('datasheet',)
list_per_page = 25
fields = ('collection', 'datasheet')
class CollectionTrapAdmin(admin.ModelAdmin):
list_display = ('collection', 'number_of_traps', 'date_opened',
'time_opened', 'date_closed', 'time_closed')
list_display_links = ('number_of_traps',)
list_per_page = 25
fields = ('collection', 'number_of_traps', 'date_opened',
'time_opened', 'date_closed', 'time_closed')
class CollectionSpeciesInlineAdmin(admin.TabularInline):
model = CollectionSpecies
class CollectionAdmin(admin.ModelAdmin):
inlines = (CollectionSpeciesInlineAdmin, )
list_display = ('project', 'study_location', 'collection_end_date',
'collection_type', 'collection_method')
list_display_links = ('project', 'study_location', 'collection_end_date',
'collection_type', 'collection_method')
list_filter = ('project', 'study_location', 'collection_type',
'collection_method')
admin.site.register(CollectionType, CollectionTypeAdmin)
admin.site.register(CollectionMethod, CollectionMethodAdmin)
admin.site.register(Flaw, FlawAdmin)
admin.site.register(ADFGPermit, ADFGPermitAdmin)
admin.site.register(DatasheetAttachment, DatasheetAttachmentAdmin)
admin.site.register(CollectionTrap, CollectionTrapAdmin)
admin.site.register(Collection, CollectionAdmin)