from django.contrib import admin
from .models import Genre, Icon, Country, Icongroup, StatType
from traduction.admin_mixins import TranslatableAdminMixin
from .admin_mixins import OrderableAdminMixin


class GenreAdmin(TranslatableAdminMixin, admin.ModelAdmin):
    list_display = ['libelle']  # Automatiquement traduit par le mixin


class IcongroupAdmin(admin.ModelAdmin):
    list_display = ['libelle']


class IconAdmin(TranslatableAdminMixin, admin.ModelAdmin):
    list_display = ['libelle', 'group', 'icon_tag']  # libelle sera traduit
    search_fields = ['libelle', 'group__libelle']


class CountryAdmin(TranslatableAdminMixin, admin.ModelAdmin):
    list_display = ['code', 'name', 'alpha_3', 'official_name', 'numeric']  # name sera traduit
    search_fields = ['code', 'name', 'alpha_3', 'official_name', 'numeric']


@admin.register(StatType)
class StatTypeAdmin(OrderableAdminMixin, TranslatableAdminMixin, admin.ModelAdmin):
    list_display = ['code', 'name', 'icon', 'is_active', 'order']
    list_editable = ['is_active', 'order']
    list_filter = ['is_active']
    search_fields = ['code', 'name']
    ordering = ['order', 'name']


admin.site.register(Genre, GenreAdmin)
admin.site.register(Icongroup, IcongroupAdmin)
admin.site.register(Icon, IconAdmin)
admin.site.register(Country, CountryAdmin)