Browse Source

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

Tino 3 months ago
parent
commit
8a1eea40a2
1 changed files with 6 additions and 10 deletions
  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