from django.contrib import admin
from .models import QRConfig


@admin.register(QRConfig)
class QRConfigAdmin(admin.ModelAdmin):
    list_display = ['id', 'company_name', 'is_active', 'uploaded_at', 'created_by']
    list_filter = ['is_active', 'uploaded_at']
    search_fields = ['company_name', 'created_by']
    readonly_fields = ['id', 'uploaded_at', 'updated_at', 'created_by']
    fieldsets = (
        ('QR Image', {
            'fields': ('qr_image',)
        }),
        ('Details', {
            'fields': ('company_name', 'is_active', 'created_by')
        }),
        ('Timestamps', {
            'fields': ('uploaded_at', 'updated_at'),
            'classes': ('collapse',)
        }),
    )

    def get_readonly_fields(self, request, obj=None):
        """Make all fields readonly in change view."""
        if obj:
            return self.readonly_fields + ['qr_image', 'company_name']
        return self.readonly_fields
