Files
e-trznice/backend/commerce/admin.py
2025-10-02 00:54:34 +02:00

30 lines
1.0 KiB
Python

from django.contrib import admin
from trznice.admin import custom_admin_site
from .models import Order
class OrderAdmin(admin.ModelAdmin):
list_display = ("id", "status", "user", "price_to_pay", "reservation", "is_deleted")
list_filter = ("user", "status", "reservation", "is_deleted")
search_fields = ("user__email", "reservation__event")
ordering = ("id",)
base_fields = ["status", "reservation", "created_at", "user", "price_to_pay", "payed_at", "note"]
readonly_fields = ("id", "created_at", "payed_at")
def get_fields(self, request, obj=None):
fields = self.base_fields.copy()
if request.user.role == "admin":
fields += ['is_deleted', 'deleted_at']
return fields
def get_queryset(self, request):
# Use the all_objects manager to show even soft-deleted entries
if request.user.role == "admin":
qs = self.model.all_objects.all()
else:
qs = self.model.objects.all()
return qs
custom_admin_site.register(Order, OrderAdmin)