Complete Admin-Backend Overhaul - Neue zentrale Admin-Site mit besserer Strukturierung und Übersichtlichkeit

This commit is contained in:
thomas 2025-07-06 10:11:56 +02:00
parent f89e715c80
commit 293489cd7d
1 changed files with 7 additions and 9 deletions

View File

@ -17,7 +17,7 @@ from products.models import (
) )
from shop.models import ( from shop.models import (
Category, ProductType, ProductImage, ProductVariant, Category, ProductType, ProductImage, ProductVariant,
CustomDesign, PayPalPayment, PaymentError CustomDesign, PayPalPayment, PaymentError, Cart, CartItem
) )
from chat.models import ( from chat.models import (
ChatRoom, ChatMessage, UserOnlineStatus, QuickResponse, ChatAnalytics ChatRoom, ChatMessage, UserOnlineStatus, QuickResponse, ChatAnalytics
@ -275,12 +275,16 @@ class ChatRoomAdmin(admin.ModelAdmin):
@admin.register(ChatMessage, site=admin_site) @admin.register(ChatMessage, site=admin_site)
class ChatMessageAdmin(admin.ModelAdmin): class ChatMessageAdmin(admin.ModelAdmin):
list_display = ('chat_room', 'sender', 'message_type', 'content_preview', 'created_at') list_display = ('room', 'sender', 'message_type', 'content_preview', 'created_at')
list_filter = ('message_type', 'created_at') list_filter = ('message_type', 'created_at')
search_fields = ('content', 'sender__username') search_fields = ('content', 'sender__username')
ordering = ('-created_at',) ordering = ('-created_at',)
readonly_fields = ('created_at',) readonly_fields = ('created_at',)
def content_preview(self, obj):
return obj.content[:50] + "..." if len(obj.content) > 50 else obj.content
content_preview.short_description = 'Inhalt'
@admin.register(QuickResponse, site=admin_site) @admin.register(QuickResponse, site=admin_site)
class QuickResponseAdmin(admin.ModelAdmin): class QuickResponseAdmin(admin.ModelAdmin):
@ -421,10 +425,6 @@ class DashboardAdmin(admin.ModelAdmin):
return render(request, 'admin/dashboard.html', context) return render(request, 'admin/dashboard.html', context)
# Registriere Dashboard
admin_site.register(DashboardAdmin, DashboardAdmin)
# ============================================================================= # =============================================================================
# ADMIN ACTIONS # ADMIN ACTIONS
# ============================================================================= # =============================================================================
@ -449,7 +449,7 @@ ProductAdmin.actions = [mark_featured, set_stock_zero]
# ADMIN SITE REGISTRATION # ADMIN SITE REGISTRATION
# ============================================================================= # =============================================================================
# Registriere alle Modelle bei der neuen Admin Site # Registriere nur Modelle ohne eigene Admin-Klasse
admin_site.register(OrderItem) admin_site.register(OrderItem)
admin_site.register(Cart) admin_site.register(Cart)
admin_site.register(CartItem) admin_site.register(CartItem)
@ -459,10 +459,8 @@ admin_site.register(ProductVariant)
admin_site.register(CustomDesign) admin_site.register(CustomDesign)
admin_site.register(PayPalPayment) admin_site.register(PayPalPayment)
admin_site.register(PaymentError) admin_site.register(PaymentError)
admin_site.register(ChatMessage)
admin_site.register(UserOnlineStatus) admin_site.register(UserOnlineStatus)
admin_site.register(ChatAnalytics) admin_site.register(ChatAnalytics)
admin_site.register(RecUserProfile)
admin_site.register(ProductSimilarity) admin_site.register(ProductSimilarity)
admin_site.register(ABTest) admin_site.register(ABTest)
admin_site.register(RecommendationAnalytics) admin_site.register(RecommendationAnalytics)