from django.contrib import admin
from apps.accounts.admin_utils import CompanyScopedAdminMixin
from .models import SalaryComponent, SalaryStructure, SalaryStructureLine, EmployeeSalaryAssignment, Bonus, Deduction, PayrollPeriod, PayrollRecord, PayrollLineItem, PayrollAdjustment
class CompanyAdmin(CompanyScopedAdminMixin, admin.ModelAdmin): company_lookup = "company"
class StructureLineAdmin(CompanyScopedAdminMixin, admin.ModelAdmin): company_lookup = "structure__company"
class EmployeeAdmin(CompanyScopedAdminMixin, admin.ModelAdmin): company_lookup = "employee__company"
class PeriodAdmin(CompanyScopedAdminMixin, admin.ModelAdmin): company_lookup = "company"
class RecordAdmin(CompanyScopedAdminMixin, admin.ModelAdmin):
    company_lookup = "period__company"
    fk_company_lookups = {"salary_assignment": "employee__company"}
class LineAdmin(CompanyScopedAdminMixin, admin.ModelAdmin):
    company_lookup = "payroll__period__company"
    fk_company_lookups = {"payroll": "period__company"}
admin.site.register(SalaryComponent, CompanyAdmin)
admin.site.register(SalaryStructure, CompanyAdmin)
admin.site.register(SalaryStructureLine, StructureLineAdmin)
admin.site.register(EmployeeSalaryAssignment, EmployeeAdmin)
admin.site.register(Bonus, EmployeeAdmin)
admin.site.register(Deduction, EmployeeAdmin)
admin.site.register(PayrollPeriod, PeriodAdmin)
admin.site.register(PayrollRecord, RecordAdmin)
admin.site.register(PayrollLineItem, LineAdmin)
admin.site.register(PayrollAdjustment, LineAdmin)
