|
@@ -5,16 +5,12 @@ from .models import InvitationCode
|
|
|
|
|
|
|
|
@admin.register(InvitationCode)
|
|
@admin.register(InvitationCode)
|
|
|
class InvitationCodeAdmin(admin.ModelAdmin):
|
|
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']
|
|
list_filter = ['is_used', 'created_at']
|
|
|
- search_fields = ['code', 'used_by__email', 'created_by__email']
|
|
|
|
|
|
|
+ search_fields = ['code']
|
|
|
readonly_fields = ['code', 'created_at']
|
|
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
|