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

from .models import * 
# Register your models here.

@admin.register(Currency)
class CurrencyAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name', 'code', 'demonym', 'iso_num', 'symbol', 'symbol_native']
    search_fields = ['name', 'code', 'demonym', 'iso_num', 'symbol', 'symbol_native']
    autocomplete_fields = []
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(ChangeRate)
class ChangeRateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'from_currency', 'to_currency', 'rate']
    search_fields = ['from_currency__name', 'to_currency__name']
    autocomplete_fields = ['from_currency', 'to_currency']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(Feature)
class FeatureAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    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(FeatureTranslate)
class FeatureTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name', 'feature__name']
    autocomplete_fields = ['feature', 'language']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(BuildingType)
class BuildingTypeAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    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(BuildingTypeTranslate)
class BuildingTypeTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ['building_type', 'language']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(PaymentOption)
class PaymentOptionAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    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(PaymentOptionTranslate)
class PaymentOptionTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ['payment_option', 'language']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'


@admin.register(RankElement)
class RankElementAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    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(RankElementTranslate)
class RankElementTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    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(ONHStation)
class ONHStationAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["city", "country"]
    list_filter = ["is_check", "country"]
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(ONHDistrict)
class ONHDistrictAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["city", "country"]
    list_filter = ["is_check", "country"]
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(ONHPostcode)
class ONHPostcodeAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["city", "country"]
    list_filter = ["is_check", "country"]
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(ONHArea)
class ONHAreaAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["city", "country"]
    list_filter = ["is_check", "country"]
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(ONHZone)
class ONHZoneAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'name']
    search_fields = ['name']
    autocomplete_fields = ["city", "country"]
    list_filter = ["is_check", "country"]
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'



@admin.register(Development)
class DevelopmentAdmin(ImportExportModelAdmin, GISModelAdmin):
    list_display = ['id', 'title', 'country', 'city']
    search_fields = ['title', 'slug']
    autocomplete_fields = ['location', 'country', 'city', 'default_currency', 'developer', 'building_type', "district", "position_area", "postcode", "zone", "stations", "onh_station", "onh_district", "onh_postcode", "onh_area", "onh_zone"]
    list_filter = ['is_featured', 'is_ready_to_move', 'is_sold_out']
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(DevelopmentTranslate)
class DevelopmentTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'title', 'language', 'development']
    search_fields = ['title', 'development__title']
    autocomplete_fields = ['language', 'development']
    list_filter = ["is_paraphrase", "paraphrase_error", "is_summarize", "summarize_has_error"]
    ordering = ["development__is_sold_out", "title"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'


@admin.register(KeyFeature)
class KeyFeatureAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development', 'feature', 'value']
    search_fields = []
    autocomplete_fields = ['development', 'feature']
    list_filter = []
    ordering = ["development", "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(AutoScoreRank)
class AutoScoreRankAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development', 'element', 'rank']
    search_fields = []
    autocomplete_fields = ['development', 'element']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(DevelopmentOffer)
class DevelopmentOfferAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development']
    search_fields = ['text']
    autocomplete_fields = ['development']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(DevelopmentOfferTranslate)
class DevelopmentOfferTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'language', 'development_offer']
    search_fields = []
    autocomplete_fields = ['language', 'development_offer']
    list_filter = []
    ordering = ["development_offer", "language", "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(PaymentPlan)
class PaymentPlanAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development', 'title', 'percent']
    search_fields = ["title"]
    autocomplete_fields = ['development']
    list_filter = []
    ordering = ["development", "title", "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(PaymentPlanTranslate)
class PaymentPlanTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'payment_plan', "language"]
    search_fields = ["title"]
    autocomplete_fields = ['language', 'payment_plan']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(DevelopmentPublicFacility)
class DevelopmentPublicFacilityAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development']
    search_fields = []
    autocomplete_fields = ['development', 'public_facility']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(Flat)
class FlatAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development']
    search_fields = ['development__title']
    autocomplete_fields = ['development']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(FlatTranslate)
class FlatTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'flat', 'language']
    search_fields = []
    autocomplete_fields = ['language', 'flat']
    list_filter = []
    ordering = ['flat', 'language', "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(FlatPriceHistory)
class FlatPriceHistoryAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'flat']
    search_fields = []
    autocomplete_fields = ['flat']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(DevelopmentReview)
class DevelopmentReviewAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development']
    search_fields = []
    autocomplete_fields = ['development']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
    
@admin.register(Attachment)
class AttachmentAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development',"development_id", "file_name", "category"]
    search_fields = ["title", "alt", "file_name"]
    autocomplete_fields = ["development"]
    list_filter = ["category"]
    ordering = ["development", "file_name", "-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(FaqCategory)
class FaqCategoryAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'title']
    search_fields = ['title']
    autocomplete_fields = []
    list_filter = []
    ordering = []
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(FaqCategoryTranslate)
class FaqCategoryTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'title', 'language', 'category']
    search_fields = ['title']
    autocomplete_fields = ['language', 'category']
    list_filter = []
    ordering = []
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
@admin.register(Faq)
class FaqAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'question']
    search_fields = ['question']
    autocomplete_fields = ['category']
    list_filter = []
    ordering = []
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
    
@admin.register(FaqTranslate)
class FaqTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'language', 'faq', 'question', 'answer']
    search_fields = ['question', 'answer']
    autocomplete_fields = ['language', 'faq']
    list_filter = []
    ordering = []
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'

@admin.register(FilterSeoText)
class FilterSeoTextAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', "country", "city", 'first_filter', 'second_filter']
    search_fields = ['first_filter', 'second_filter']
    autocomplete_fields = ["country", "city"]
    list_filter = []
    ordering = []
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    
    
@admin.register(FilterSeoTextTranslate)
class FilterSeoTextTranslateAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', "language", "filter_seo_text"]
    search_fields = []
    autocomplete_fields = ["language", "filter_seo_text"]
    list_filter = []
    ordering = []
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'


@admin.register(DevelopmentDetail)
class DevelopmentDetailAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    list_display = ['id', 'development']
    search_fields = []
    autocomplete_fields = ['development']
    list_filter = []
    ordering = ["-id"]
    readonly_fields = []
    prepopulated_fields = {}
    # date_hierarchy = 'created_at'
    empty_value_display = '-'
    