from django.contrib import admin
from .models import (Company, OfficeHours,
                     SalesTiming, CatchPhrase,
                     CompanyHistory, Holiday,
                     CompanyBotSettings ,Dealership)


@admin.register(CompanyBotSettings)
class CompanyBotSettingsAdmin(admin.ModelAdmin):
    list_display = [
            'id', 'company', 'bot_name',
            'phone_number', 'is_active',
            'created_at', 'updated_at'
        ]
    list_filter = ['company', 'is_active']
    search_fields = ['company__name', 'bot_name']
    ordering = ['company']


@admin.register(Holiday)
class HolidayAdmin(admin.ModelAdmin):
    list_display = ['id', 'company', 'name', 'message', 'start_date', 'end_date']
    list_filter = ['company', 'start_date', 'end_date']
    search_fields = ['company__name', 'name']
    ordering = ['company', 'start_date']


@admin.register(OfficeHours)
class OfficeHoursAdmin(admin.ModelAdmin):
    list_display = ['id', 'company', 'day', 'is_open', 'start_time', 'end_time']
    list_filter = ['company', 'day', 'is_open']
    search_fields = ['company__name', 'day']
    ordering = ['company', 'day']


@admin.register(SalesTiming)
class SalesTimingAdmin(admin.ModelAdmin):
    list_display = ['id','company', 'bot', 'start_time', 'end_time', 'is_active']
    list_filter = ['company', 'is_active', 'bot']
    search_fields = ['company__name', 'bot']
    ordering = ['company', 'start_time']


@admin.register(CatchPhrase)
class CatchPhraseAdmin(admin.ModelAdmin):
    list_display = ['id','company', 'phrase']
    list_filter = ['company']
    search_fields = ['company__name', 'phrase']
    ordering = ['company', 'phrase']


@admin.register(CompanyHistory)
class CompanyHistoryAdmin(admin.ModelAdmin):
    list_display = ['id','company', 'updated_by', 'action', 'model_name', 'object_id', 'created_at']
    list_filter = ['company', 'action', 'model_name', 'created_at']
    search_fields = ['company__name', 'updated_by__username', 'model_name', 'details']
    ordering = ['-created_at']
    readonly_fields = ['created_at']
    list_per_page = 50


@admin.register(Company)
class CompanyAdmin(admin.ModelAdmin):
    list_display = ['id','name', 'phone', 'timezone', 'is_active']
    list_filter = ['is_active', 'timezone']
    search_fields = ['name', 'phone']
    inlines = []

@admin.register(Dealership)
class DealershipAdmin(admin.ModelAdmin):
    list_display = ['name', 'company', 'contact_person_name', 'id', 'contact_phone', 'created_at']
    search_fields = ['name', 'contact_person_name', 'contact_phone']
    ordering = ['-created_at']
