from django.contrib import admin # Register your models here. from django.contrib import admin from .models import MasterKey from django.contrib.auth import get_user_model User = get_user_model() @admin.register(MasterKey) class MasterKeyAdmin(admin.ModelAdmin): list_display = ('key_id', 'description', 'created_at', 'last_used', 'is_active') list_filter = ('is_active', 'created_at') search_fields = ('description', 'key_id') readonly_fields = ('key_id', 'key_value', 'created_at', 'last_used') fieldsets = ( (None, { 'fields': ('key_id', 'description', 'is_active') }), ('Permissions', { 'fields': ('permissions',) }), ('Security Info', { 'fields': ('created_at', 'last_used'), 'classes': ('collapse',) }), ) actions = ['deactivate_keys', 'activate_keys'] def deactivate_keys(self, request, queryset): queryset.update(is_active=False) deactivate_keys.short_description = "Deactivate selected keys" def activate_keys(self, request, queryset): queryset.update(is_active=True) activate_keys.short_description = "Activate selected keys" def has_change_permission(self, request, obj=None): # Prevent editing of key_value for security if obj is not None: return True return super().has_change_permission(request, obj) # @admin.register(User) # class UserAdmin(admin.ModelAdmin): # list_display = ('last_login', 'username', 'is_staff', 'date_joined', 'is_active') # list_filter = ('is_active', 'date_joined', 'is_staff') # search_fields = ('username', 'date_joined') # readonly_fields = ('username', 'date_joined', 'last_login') # fieldsets = ( # (None, { # 'fields': ('username', 'date_joined') # }), # ('Security Info', { # 'fields': ('is_staff', 'last_login', 'is_active'), # 'classes': ('collapse',) # }), # )