from django.contrib import admin
from .models import Inquiry, LiveChat, ChatMessage, Notification
class ChatMessageInline(admin.TabularInline):
model = ChatMessage
extra = 1
@admin.register(Inquiry)
class InquiryAdmin(admin.ModelAdmin):
list_display = ('name', 'email', 'subject', 'created_at')
@admin.register(LiveChat)
class LiveChatAdmin(admin.ModelAdmin):
list_display = ('user', 'active', 'created_at', 'last_message')
inlines = [ChatMessageInline] # Use the class name, not a string
@admin.register(ChatMessage)
class ChatMessageAdmin(admin.ModelAdmin):
list_display = ('chat', 'sender', 'message', 'timestamp')
@admin.register(Notification)
class NotificationAdmin(admin.ModelAdmin):
list_display = ('message', 'created_at', 'read')
actions = ['mark_as_read']
def get_queryset(self, request):
qs = super().get_queryset(request)
return qs.filter(read=False)
def mark_as_read(self, request, queryset):
queryset.update(read=True)
mark_as_read.short_description = 'Mark selected notifications as read'