from django.contrib import admin
from modeltranslation.admin import TranslationAdmin
from django.urls import path, reverse
from django.shortcuts import redirect
from .models import Stats

class SingletonStatsAdmin(TranslationAdmin):
    def has_add_permission(self, request):
        return not Stats.objects.exists()

    def has_delete_permission(self, request, obj=None):
        return False

    def changelist_view(self, request, extra_context=None):
        obj = Stats.objects.first()
        if obj:
            return redirect(reverse('admin:stats_stats_change', args=[obj.id]))
        return redirect('/admin/')

    fieldsets = (
        ("General Info", {
            'fields': ('title', 'subtitle', 'background_image')
        }),
        ("Stat 1", {
            'fields': ('icon_1', 'number_1', 'label_1', 'image_1')
        }),
        ("Stat 2", {
            'fields': ('icon_2', 'number_2', 'label_2', 'image_2')
        }),
        ("Stat 3", {
            'fields': ('icon_3', 'number_3', 'label_3', 'image_3')
        }),
        ("Stat 4", {
            'fields': ('icon_4', 'number_4', 'label_4', 'image_4')
        }),
    )

admin.site.register(Stats, SingletonStatsAdmin)
