from django.contrib import admin
from .models import Document

@admin.register(Document)
class DocumentAdmin(admin.ModelAdmin):
    list_display = ['credit_application', 'document_type', 'filename', 'file_size', 'status', 'uploaded_at']
    list_filter = ['document_type', 'status', 'uploaded_at']
    search_fields = ['credit_application__application_number', 'filename']
    readonly_fields = ['id', 'filename', 'file_size', 'uploaded_at']
    
    fieldsets = (
        ('Document Information', {
            'fields': ('credit_application', 'document_type', 'file')
        }),
        ('Verification', {
            'fields': ('status', 'verified_by', 'verified_at', 'rejection_reason')
        }),
        ('Metadata', {
            'fields': ('id', 'filename', 'file_size', 'uploaded_at'),
            'classes': ('collapse',)
        }),
    )
    
    actions = ['mark_as_verified', 'mark_as_rejected']
    
    def mark_as_verified(self, request, queryset):
        queryset.update(status='VERIFIED')
    mark_as_verified.short_description = "Mark selected documents as verified"
    
    def mark_as_rejected(self, request, queryset):
        queryset.update(status='REJECTED')
    mark_as_rejected.short_description = "Mark selected documents as rejected"
