from django.contrib import admin
from modeltranslation.admin import TranslationAdmin
from .models import Service, ServiceDetail, ServiceDetailFeature, PricingPlan

class ServiceDetailFeatureInline(admin.TabularInline):
    model = ServiceDetailFeature
    extra = 1

@admin.register(Service)
class ServiceAdmin(TranslationAdmin):
    list_display = ('title', 'order')
    list_editable = ('order',)
    ordering = ('order',)

@admin.register(ServiceDetail)
class ServiceDetailAdmin(TranslationAdmin):
    inlines = [ServiceDetailFeatureInline]
    list_display = ('service', 'show_pricing_switch')
    list_editable = ('show_pricing_switch',)

@admin.register(PricingPlan)
class PricingPlanAdmin(TranslationAdmin):
    list_display = (
        'title',
        'service',
        'plan_type',
        'price_monthly',
        'discount_percentage',
        'discounted_price_monthly',
        'is_popular',
    )
    list_filter = ('plan_type', 'service', 'is_popular')
    search_fields = ('title', 'service__title')

    def discounted_price_monthly(self, obj):
        if obj.discount_percentage and obj.discount_percentage > 0:
            return f"{obj.discounted_price_monthly()} ريال"
        return "-"
    discounted_price_monthly.short_description = "السعر بعد الخصم (شهري)"
