206 lines
6.0 KiB
Python
206 lines
6.0 KiB
Python
from django.contrib import admin, messages
|
|
from django.db import transaction
|
|
from django.urls import reverse
|
|
from django.utils import timezone
|
|
from django.utils.safestring import mark_safe
|
|
|
|
from adminsortable2.admin import SortableAdminMixin
|
|
from reversion.admin import VersionAdmin
|
|
|
|
from core.models import (TransportBrand, TransportModel, MachineryBrand, MachineryModel,
|
|
TransportExperience, MachineryExperience, StockAuto, Rate, ColorFilter, MainLot,
|
|
KoreaLot, MachineryLot, MachineryFilter, Question, Article, Review,
|
|
Video, Category, Banner, StaticBlock, StaticPage, Document, SeoAbove,
|
|
FormRequest, City, ImportType, EngineType, BitrixEmployee, Lead, Contact)
|
|
|
|
|
|
@admin.register(TransportBrand)
|
|
class TransportBrandAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('db_id', 'title', 'order',)
|
|
search_fields = ('db_id', 'title',)
|
|
|
|
|
|
@admin.register(Category)
|
|
class CategoryAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'order',)
|
|
|
|
|
|
@admin.register(TransportModel)
|
|
class TransportModelAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('brand', 'db_id', 'title', 'order',)
|
|
search_fields = ('db_id', 'title', 'brand__db_id', 'brand__title',)
|
|
list_filter = ('category',)
|
|
|
|
|
|
@admin.register(MachineryBrand)
|
|
class MachineryBrandAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('db_id', 'title', 'order',)
|
|
search_fields = ('db_id', 'title',)
|
|
|
|
|
|
@admin.register(MachineryModel)
|
|
class MachineryModelAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('brand', 'title', 'order',)
|
|
search_fields = ('title', 'brand__db_id', 'brand__title',)
|
|
|
|
|
|
@admin.register(TransportExperience)
|
|
class TransportExperienceAdmin(SortableAdminMixin, VersionAdmin):
|
|
change_form_template = "admin/transport_experience_change_form.html"
|
|
|
|
list_display = ('brand', 'transport_model', 'get_thumbnail', 'order',)
|
|
search_fields = ('brand__title', 'transport_model__title',)
|
|
autocomplete_fields = ('brand',)
|
|
|
|
|
|
@admin.register(MachineryExperience)
|
|
class MachineryExperienceAdmin(SortableAdminMixin, VersionAdmin):
|
|
change_form_template = "admin/machinery_experience_change_form.html"
|
|
|
|
list_display = ('brand', 'transport_model', 'get_thumbnail', 'order',)
|
|
search_fields = ('brand__title', 'transport_model__title',)
|
|
autocomplete_fields = ('brand',)
|
|
|
|
|
|
@admin.register(StockAuto)
|
|
class StockAutoAdmin(SortableAdminMixin, VersionAdmin):
|
|
change_form_template = "admin/stock_auto_change_form.html"
|
|
|
|
list_display = ('brand', 'transport_model', 'price', 'get_thumbnail', 'city', 'is_active', 'on_main', 'order',)
|
|
search_fields = ('brand__title', 'transport_model__title',)
|
|
autocomplete_fields = ('brand',)
|
|
exclude = ('auction_price',)
|
|
list_filter = ('is_active', 'on_main',)
|
|
list_editable = ('is_active', 'on_main', 'price')
|
|
|
|
|
|
@admin.register(Rate)
|
|
class RateAdmin(VersionAdmin):
|
|
list_display = ('slug', 'rate',)
|
|
|
|
|
|
@admin.register(ColorFilter)
|
|
class ColorAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'contain', 'order',)
|
|
|
|
|
|
@admin.register(MainLot)
|
|
class MainLotAdmin(VersionAdmin):
|
|
list_display = ('year',)
|
|
|
|
|
|
@admin.register(KoreaLot)
|
|
class KoreaLotAdmin(VersionAdmin):
|
|
list_display = ('year',)
|
|
|
|
|
|
@admin.register(MachineryLot)
|
|
class MachineryLotAdmin(VersionAdmin):
|
|
list_display = ('year',)
|
|
|
|
|
|
@admin.register(MachineryFilter)
|
|
class MachineryFilterAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'order',)
|
|
filter_horizontal = ('groups',)
|
|
|
|
|
|
@admin.register(Article)
|
|
class ArticleAdmin(VersionAdmin):
|
|
list_display = ('title', 'is_active',)
|
|
list_filter = ('is_active',)
|
|
|
|
|
|
@admin.register(Question)
|
|
class QuestionAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'is_active', 'order',)
|
|
list_filter = ('is_active',)
|
|
|
|
|
|
@admin.register(Review)
|
|
class ReviewAdmin(VersionAdmin):
|
|
list_display = ('name', 'date', 'is_active', 'on_main', 'get_thumbnail')
|
|
list_filter = ('is_active', 'on_main',)
|
|
|
|
|
|
@admin.register(Video)
|
|
class VideoAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'is_active', 'on_main', 'order')
|
|
list_filter = ('is_active', 'on_main',)
|
|
|
|
|
|
@admin.register(Banner)
|
|
class BannerAdmin(VersionAdmin):
|
|
list_display = ('title', 'is_active', 'get_thumbnail')
|
|
list_filter = ('is_active',)
|
|
|
|
|
|
@admin.register(StaticPage)
|
|
class StaticPagesAdmin(VersionAdmin):
|
|
list_display = ('title', 'slug',)
|
|
|
|
|
|
@admin.register(Document)
|
|
class DocumentAdmin(VersionAdmin):
|
|
list_display = ('title',)
|
|
|
|
|
|
@admin.register(StaticBlock)
|
|
class StaticBlockAdmin(VersionAdmin):
|
|
list_display = ('title', 'content')
|
|
|
|
|
|
@admin.register(SeoAbove)
|
|
class SeoAboveAdmin(VersionAdmin):
|
|
list_display = ('h1', 'slug')
|
|
list_display_links = ('h1', 'slug')
|
|
|
|
|
|
@admin.register(FormRequest)
|
|
class FormRequestAdmin(VersionAdmin):
|
|
list_display = ('name', 'phone', 'created_at',)
|
|
|
|
|
|
@admin.register(City)
|
|
class CityAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'slug', 'order',)
|
|
list_editable = ('slug',)
|
|
search_fields = ('title',)
|
|
|
|
|
|
@admin.register(ImportType)
|
|
class ImportTypeAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'slug', 'order',)
|
|
list_editable = ('slug',)
|
|
search_fields = ('title',)
|
|
|
|
|
|
@admin.register(EngineType)
|
|
class EngineTypeAdmin(SortableAdminMixin, VersionAdmin):
|
|
list_display = ('title', 'slug', 'order',)
|
|
list_editable = ('slug',)
|
|
search_fields = ('title',)
|
|
|
|
|
|
@admin.register(BitrixEmployee)
|
|
class BitrixEmployeeAdmin(VersionAdmin):
|
|
list_display = ('bitrix_id', 'active', 'updated_at')
|
|
|
|
|
|
@admin.register(Lead)
|
|
class LeadAdmin(VersionAdmin):
|
|
list_display = ('contact', 'bitrix_id',)
|
|
search_fields = ('contact__phone',)
|
|
|
|
def has_module_permission(self, request):
|
|
return False
|
|
|
|
|
|
@admin.register(Contact)
|
|
class ContactAdmin(VersionAdmin):
|
|
list_display = ('phone', 'bitrix_id',)
|
|
search_fields = ('phone',)
|
|
|
|
def has_module_permission(self, request):
|
|
return False
|
|
|