from django.contrib import admin
from django.contrib.gis.admin import GISModelAdmin
from import_export.admin import ImportExportModelAdmin

from .models import *
# Register your models here.


@admin.register(Country)
class CountryAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = []
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(CountryTranslate)
class CountryTranslateAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name', 'country']
    search_fields = ['name']
    autocomplete_fields = ['country']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    

@admin.register(State)
class StateAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = []
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    

@admin.register(City)
class CityAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name', 'country']
    search_fields = ['name']
    autocomplete_fields = ["country"]
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(CityTranslate)
class CityTranslateAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name', 'city']
    search_fields = ['name']
    autocomplete_fields = ["city"]
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(LondonZipState)
class LondonZipStateAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["country", "city"]
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(LondonArea)
class LondonAreaAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["country", "city"]
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(LondonZone)
class LondonZoneAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["country", "city"]
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(District)
class DistrictAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["country", "city"]
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(Iso31662)
class Iso31662Admin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name', 'country', 'type']
    search_fields = ['name', 'gid']
    autocomplete_fields = ['parent', 'country']
    list_filter = ["level", "type", 'country']
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(Location)
class LocationAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name', 'country', 'city', 'post_code']
    search_fields = ['name']
    autocomplete_fields = ['country', 'city', 'state', 'iso_3166_2_lvl_0', 'iso_3166_2_lvl_1', 'iso_3166_2_lvl_2', 'iso_3166_2_lvl_3', 'iso_3166_2_lvl_4', 'iso_3166_2_lvl_5', 'iso_3166_2_lvl_6', 'iso_3166_2_lvl_7', 'iso_3166_2_lvl_8', 'iso_3166_2_lvl_9']
    list_filter = ['raw_check']
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(LocationTranslate)
class LocationTranslateAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = []
    list_filter = ['raw_check']
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PublicFacility)
class PublicFacilityAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = []
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PublicFacilityType)
class PublicFacilityTypeAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = []
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PublicFacilityTypeTranslate)
class PublicFacilityTypeTranslateAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = []
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(Region)
class RegionAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ['country']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PostCode)
class PostCodeAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'out_code', 'region']
    search_fields = ['out_code']
    autocomplete_fields = ['region']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PropertyDataRaw)
class PropertyDataRawAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'postcode', 'region', "type"]
    search_fields = []
    autocomplete_fields = ['postcode', 'region']
    list_filter = ['checked', "type"]
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PriceGrowth)
class PriceGrowthAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'country', 'postcode', 'date']
    search_fields = ['postcode']
    autocomplete_fields = []
    list_filter = []
    ordering = ["postcode", "date", "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(Demographic)
class DemographicAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'country', 'postcode']
    search_fields = ['postcode']
    autocomplete_fields = []
    list_filter = []
    ordering = ["postcode", "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    

@admin.register(StreetView)
class StreetViewAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id']
    search_fields = []
    autocomplete_fields = ['location']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'