from django.contrib import admin from .models import ( CmsRedRiverVeteransScholarship, CertificationDefinition, Certification, CertificationVersion, InstructorOrVendor, SpecialProgram, Waiver, ) class CertificationVersionInline(admin.TabularInline): model = CertificationVersion extra = 1 @admin.register(CertificationVersion) class CertificationVersionAdmin(admin.ModelAdmin): search_fields = ["definition__certification_name", "version"] list_display = ["definition", "version"] list_filter = ["definition__department", "definition__certification_name"] @admin.register(CertificationDefinition) class CertificationDefinitionAdmin(admin.ModelAdmin): search_fields = ["certification_name"] list_display = ["certification_name", "department"] list_filter = ["department"] inlines = [CertificationVersionInline] @admin.register(Certification) class CertificationAdmin(admin.ModelAdmin): search_fields = [ "name", "certification__certification_name", "certification__department", ] autocomplete_fields = ["member"] exclude = ["shop_lead_notified"] @admin.display( description="Certification Name", ordering="certification_version__definition__certification_name", ) def certification_name(self, obj): return obj.certification_version.definition.certification_name @admin.display( description="Certification Version", ordering="certification_version__version" ) def certification_version_version(self, obj): return obj.certification_version.version @admin.display( description="Department", ordering="certification_version__definition__department", ) def certification_department(self, obj): return obj.certification_version.definition.department list_display = [ "certification_name", "name", "certification_version_version", "certification_department", "date", "shop_lead_notified", "certified_by", ] list_display_links = [ "certification_name", "name", ] list_filter = [ "certification_version__definition__department", ("shop_lead_notified", admin.EmptyFieldListFilter), ] @admin.register(InstructorOrVendor) class InstructorOrVendorAdmin(admin.ModelAdmin): search_fields = ["name"] @admin.register(SpecialProgram) class SpecialProgramAdmin(admin.ModelAdmin): search_fields = ["program_name"] @admin.register(Waiver) class WaiverAdmin(admin.ModelAdmin): search_fields = ["name"] admin.site.register(CmsRedRiverVeteransScholarship)