Преглед на файлове

opencode: Ahora el admin no tiene métodos que llamen a reverse()

Tino преди 3 месеца
родител
ревизия
8a1eea40a2
променени са 1 файла, в които са добавени 6 реда и са изтрити 10 реда
  1. 6 10
      src/accounts/admin.py

+ 6 - 10
src/accounts/admin.py

@@ -5,16 +5,12 @@ from .models import InvitationCode
 
 @admin.register(InvitationCode)
 class InvitationCodeAdmin(admin.ModelAdmin):
-    list_display = ['code', 'created_at', 'expires_at', 'is_used', 'status_badge']
+    list_display = ['code', 'created_at', 'expires_at', 'is_used', 'used_by']
     list_filter = ['is_used', 'created_at']
-    search_fields = ['code', 'used_by__email', 'created_by__email']
+    search_fields = ['code']
     readonly_fields = ['code', 'created_at']
 
-    def status_badge(self, obj):
-        if obj.is_used:
-            return format_html('<span style="background:#dc3545;color:white;padding:2px 6px;">Usado</span>')
-        elif obj.is_valid():
-            return format_html('<span style="background:#28a745;color:white;padding:2px 6px;">Válido</span>')
-        else:
-            return format_html('<span style="background:#ffc107;color:black;padding:2px 6px;">Expirado</span>')
-    status_badge.short_description = 'Estado'
+    def get_queryset(self, request):
+        qs = super().get_queryset(request)
+        qs = qs.select_related('used_by', 'created_by')
+        return qs