from django.contrib import admin

from .models import Faculty, FacultyQualification, Publication


class FacultyQualificationInline(admin.TabularInline):
    model = FacultyQualification
    extra = 0


class PublicationInline(admin.TabularInline):
    model = Publication
    extra = 0


@admin.register(Faculty)
class FacultyAdmin(admin.ModelAdmin):
    list_display = ["full_name", "designation", "department", "status", "is_featured", "order"]
    list_filter = ["department", "employment_type", "status", "is_featured"]
    search_fields = ["full_name", "email", "designation", "specialization"]
    inlines = [FacultyQualificationInline, PublicationInline]


@admin.register(FacultyQualification)
class FacultyQualificationAdmin(admin.ModelAdmin):
    list_display = ["faculty", "degree", "level", "institution", "year_completed"]
    list_filter = ["level", "year_completed"]
    search_fields = ["faculty__full_name", "degree", "institution"]


@admin.register(Publication)
class PublicationAdmin(admin.ModelAdmin):
    list_display = ["title", "faculty", "publication_type", "year"]
    list_filter = ["publication_type", "year"]
    search_fields = ["title", "faculty__full_name", "journal_or_venue"]
