from django.contrib import admin from .models import VolcAccount, IAMUser, IAMUserProject, GlobalConfig, AlertRecord, SpendingRecord, QuotaAllocation @admin.register(VolcAccount) class VolcAccountAdmin(admin.ModelAdmin): list_display = ('name', 'access_key_hint', 'is_active', 'updated_at') class IAMUserProjectInline(admin.TabularInline): model = IAMUserProject extra = 0 @admin.register(IAMUser) class IAMUserAdmin(admin.ModelAdmin): list_display = ('username', 'display_name', 'status', 'monitor_enabled', 'allocated_quota', 'consumed_total') list_filter = ('status', 'monitor_enabled') inlines = [IAMUserProjectInline] @admin.register(IAMUserProject) class IAMUserProjectAdmin(admin.ModelAdmin): list_display = ('iam_user', 'project_name', 'monitor_enabled', 'current_spending') list_filter = ('monitor_enabled',) @admin.register(QuotaAllocation) class QuotaAllocationAdmin(admin.ModelAdmin): list_display = ('iam_user', 'amount', 'total_after', 'created_by', 'created_at') @admin.register(GlobalConfig) class GlobalConfigAdmin(admin.ModelAdmin): list_display = ('monitor_interval_seconds', 'updated_at') @admin.register(AlertRecord) class AlertRecordAdmin(admin.ModelAdmin): list_display = ('title', 'alert_type', 'spending_amount', 'notified', 'created_at') list_filter = ('alert_type', 'notified') @admin.register(SpendingRecord) class SpendingRecordAdmin(admin.ModelAdmin): list_display = ('iam_user', 'project_name', 'bill_period', 'amount', 'updated_at')