48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import Project, Grant, GrantReport
|
|
|
|
|
|
class ProjectGrantInline(admin.TabularInline):
|
|
model = Grant.projects.through
|
|
extra = 1
|
|
|
|
|
|
class ProjectAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'code', 'iacuc_number', 'description',
|
|
'sort_order')
|
|
list_display_links = ('name',)
|
|
search_fields = ('name', 'code', 'iacuc_number', 'description')
|
|
list_per_page = 25
|
|
fields = ('name', 'code', 'iacuc_number', 'description', 'sort_order')
|
|
|
|
inlines = [ProjectGrantInline]
|
|
|
|
|
|
class GrantAdmin(admin.ModelAdmin):
|
|
list_display = ('title', 'code', 'description', 'sort_order')
|
|
list_display_links = ('title',)
|
|
search_fields = ('title', 'code', 'description', 'description')
|
|
list_per_page = 25
|
|
fields = ('title', 'code', 'description', 'projects', 'sort_order')
|
|
|
|
|
|
class GrantReportAdmin(admin.ModelAdmin):
|
|
list_display = ('grant_title', 'title', 'report_type', 'description',
|
|
'due_date', 'submitted_date', 'attachment', 'sort_order')
|
|
list_display_links = ('title',)
|
|
search_fields = ('grant__title', 'title', 'report_type', 'description',
|
|
'due_date', 'submitted_date', 'attachment')
|
|
list_per_page = 25
|
|
fields = ('grant', 'title', 'report_type', 'description', 'due_date',
|
|
'submitted_date', 'attachment', 'sort_order')
|
|
|
|
def grant_title(self, obj):
|
|
return obj.grant.title
|
|
grant_title.admin_order_field = 'grant__title'
|
|
grant_title.short_description = 'Grant'
|
|
|
|
|
|
admin.site.register(Project, ProjectAdmin)
|
|
admin.site.register(Grant, GrantAdmin)
|
|
admin.site.register(GrantReport, GrantReportAdmin)
|