from django.contrib import admin
from django.utils.html import format_html
from .models import Destination, Trip, BookingInquiry, TravelBlog, TripReview

@admin.register(Destination)
class DestinationAdmin(admin.ModelAdmin):
    list_display = ('name', 'slug')
    prepopulated_fields = {'slug': ('name',)}
    search_fields = ('name',)
    
# ✅ NAYA ADMIN: Reviews manage karne ke liye
@admin.register(TripReview)
class TripReviewAdmin(admin.ModelAdmin):
    list_display = ('user_name', 'trip', 'rating', 'is_approved', 'created_at')
    list_filter = ('is_approved', 'rating', 'trip')
    list_editable = ('is_approved',)
    search_fields = ('user_name', 'review_text')

@admin.register(Trip)
class TripAdmin(admin.ModelAdmin):
    list_display = ('title', 'destination', 'category', 'duration_days', 'price_inr', 'discount_percentage', 'is_active')
    list_filter = ('category', 'destination', 'is_active')
    search_fields = ('title', 'destination__name')
    list_editable = ('is_active', 'discount_percentage')
    prepopulated_fields = {'slug': ('title',)}
    
    fieldsets = (
        ('Basic Info', {'fields': ('title', 'slug', 'destination', 'category', 'is_active')}),
        ('Pricing & Duration', {'fields': ('price_inr', 'discount_percentage', 'duration_days', 'duration_nights')}),
        ('Visuals', {'fields': ('main_image',)}),
        ('Itinerary Details', {'fields': ('itinerary_brief', 'inclusions', 'exclusions')}),
        ('SEO Controls', {'classes': ('collapse',), 'fields': ('meta_title', 'meta_description', 'meta_keywords')}),
    )

@admin.register(BookingInquiry)
class BookingInquiryAdmin(admin.ModelAdmin):
    list_display = ('full_name', 'phone', 'trip', 'travel_date', 'status', 'created_at')
    list_filter = ('status', 'created_at')
    search_fields = ('full_name', 'email', 'phone')
    list_editable = ('status',)
    readonly_fields = ('created_at',)
    
    
@admin.register(TravelBlog)
class TravelBlogAdmin(admin.ModelAdmin):
    list_display = ('title', 'destination', 'author', 'is_published', 'views_count', 'created_at')
    list_filter = ('is_published', 'destination')
    list_editable = ('is_published',)
    search_fields = ('title', 'content')
    prepopulated_fields = {'slug': ('title',)}
    
    fieldsets = (
        ('Header Information', {'fields': ('title', 'slug', 'destination', 'author', 'featured_image')}),
        ('The Content', {'fields': ('short_summary', 'content', 'reading_time')}),
        ('SEO Controls', {'classes': ('collapse',), 'fields': ('meta_title', 'meta_description', 'meta_keywords')}),
        ('Status', {'fields': ('is_published', 'views_count')}),
    )