from django.contrib import admin

from .models import EmployeeSection, EmployeeSectionResponse, FieldOption, SectionField


@admin.register(EmployeeSection)
class EmployeeSectionAdmin(admin.ModelAdmin):
    list_display = ('company', 'name', 'section_class', 'status', 'is_visible', 'is_system_default')
    list_filter = ('company', 'section_class', 'status', 'is_visible', 'is_system_default')
    search_fields = ('company__company_name', 'name')


@admin.register(SectionField)
class SectionFieldAdmin(admin.ModelAdmin):
    list_display = ('employee_section', 'name', 'label', 'data_type', 'status', 'is_required')
    list_filter = ('data_type', 'status', 'is_required', 'is_hidden', 'is_system_default')
    search_fields = ('employee_section__name', 'name', 'label')


@admin.register(FieldOption)
class FieldOptionAdmin(admin.ModelAdmin):
    list_display = ('section_field', 'name', 'label', 'value', 'status')
    list_filter = ('status',)
    search_fields = ('section_field__name', 'name', 'label', 'value')


@admin.register(EmployeeSectionResponse)
class EmployeeSectionResponseAdmin(admin.ModelAdmin):
    list_display = ('user', 'company', 'section_field', 'date_added', 'last_updated')
    search_fields = ('user__username', 'user__email', 'company__company_name', 'section_field__name')