kwork-poizonstore/store/admin.py
phzhik 4ed1a74a16 + time_to_buy & buy_time_remaining fields
+ Category: hierarchy, removed slugs & added comission per category
* Promocode value in rubles instead of percentage
* Cleanup in GlobalSettings routes
2023-08-18 16:22:32 +04:00

59 lines
1.6 KiB
Python

from django.contrib import admin
from django.contrib.admin import display
from mptt.admin import MPTTModelAdmin
from .models import Category, Checklist, GlobalSettings, PaymentMethod, Promocode, User, Image, Client
from .models import Category, Checklist, GlobalSettings, PaymentMethod, Promocode, User, Image
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
list_display = ('email', 'job_title', 'full_name',)
@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')
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().annotate_price_rub().annotate_commission_rub()
@admin.register(GlobalSettings)
class GlobalSettingsAdmin(admin.ModelAdmin):
pass
@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')