from adminsortable2.admin import SortableInlineAdminMixin, SortableAdminMixin
from .forms import CarArticleChangeForm, ProductArticleChangeForm
from django.conf import settings
from . import models as blogModel
from django.contrib import admin


@admin.register(blogModel.CarArticle)
class CarArticleAdmin(SortableAdminMixin, admin.ModelAdmin):
    model = blogModel.CarArticle
    list_display = ('title', 'brand', 'car', 'production_start_year', 'production_end_year', 'jalali_created', 'view_count')
    search_fields = ('title', 'car__name')
    prepopulated_fields = {"link": ("title",)}
    list_per_page = settings.LIST_PER_PAGE
    fieldsets = (
        (None, {
            'fields': ('title', 'link', 'abstract', 'image', 'content', 'brand', 'car', 'type', 'meta_title',
                       'meta_description', 'production_start_year', 'production_end_year', 'author', 'published'),
        }),
    )

    class Media:
        js = ("core/load_select.js",)


@admin.register(blogModel.ProductArticle)
class ProductArticleAdmin(admin.ModelAdmin):
    form = ProductArticleChangeForm
    model = blogModel.ProductArticle
    list_display = ('title', 'subcategory', 'product', 'jalali_created', 'view_count')
    list_filter = ('subcategory', 'subcategory__category')
    search_fields = ('title', 'product__name')
    prepopulated_fields = {"link": ("title",)}
    list_per_page = settings.LIST_PER_PAGE
    fieldsets = (
        (None, {
            'fields': ('title', 'link', 'abstract', 'image', 'content', 'subcategory', 'product', 'meta_title',
                       'meta_description', 'author', 'published'),
        }),
    )

    class Media:
        js = ("core/subcategory_products.js",)


@admin.register(blogModel.Other)
class OtherAdmin(admin.ModelAdmin):
    list_display = ('title', 'jalali_created', 'view_count')
    search_fields = ('title',)
    prepopulated_fields = {"link": ("title",)}
    list_per_page = settings.LIST_PER_PAGE


@admin.register(blogModel.News)
class NewsAdmin(admin.ModelAdmin):
    list_display = ('title', 'jalali_created', 'view_count')
    search_fields = ('title',)
    prepopulated_fields = {"link": ("title",)}
    list_per_page = settings.LIST_PER_PAGE
