49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
from django.contrib import admin
|
|
from django.contrib.admin import display
|
|
from mptt.admin import MPTTModelAdmin
|
|
|
|
from .models import Category, Checklist, PaymentMethod, Promocode, Image, Gift
|
|
|
|
|
|
@admin.register(Category)
|
|
class CategoryAdmin(MPTTModelAdmin):
|
|
list_display = ('name', 'delivery_price_CN_RU', 'commission')
|
|
ordering = ('id',)
|
|
|
|
|
|
@admin.register(Image)
|
|
class ImageAdmin(admin.ModelAdmin):
|
|
pass
|
|
|
|
|
|
@admin.register(Checklist)
|
|
class ChecklistAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'brand', 'model', 'price_rub', 'commission_rub', 'full_price', 'date', 'status_display', 'customer')
|
|
ordering = ('-status_updated_at', '-created_at')
|
|
|
|
@display(description='Статус')
|
|
def status_display(self, obj: Checklist):
|
|
return obj.get_status_display()
|
|
|
|
def date(self, obj: Checklist):
|
|
return obj.status_updated_at or obj.created_at
|
|
|
|
def get_queryset(self, request):
|
|
return Checklist.objects.with_base_related()
|
|
|
|
|
|
@admin.register(PaymentMethod)
|
|
class PaymentMethodAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'slug')
|
|
|
|
|
|
@admin.register(Promocode)
|
|
class PromoCodeAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'discount', 'free_delivery', 'no_comission')
|
|
|
|
|
|
@admin.register(Gift)
|
|
class GiftAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'min_price', 'available_count')
|
|
|