newplan phase 2
This commit is contained in:
@@ -12,6 +12,7 @@ from igny8_core.business.billing.models import (
|
||||
Payment,
|
||||
CreditPackage,
|
||||
PaymentMethodConfig,
|
||||
PlanLimitUsage,
|
||||
)
|
||||
from .models import CreditTransaction, CreditUsageLog, AccountPaymentMethod
|
||||
from import_export.admin import ExportMixin
|
||||
@@ -493,3 +494,46 @@ class CreditCostConfigAdmin(ModelAdmin):
|
||||
obj.updated_by = request.user
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
|
||||
@admin.register(PlanLimitUsage)
|
||||
class PlanLimitUsageAdmin(AccountAdminMixin, ModelAdmin):
|
||||
"""Admin for tracking plan limit usage across billing periods"""
|
||||
list_display = [
|
||||
'account',
|
||||
'limit_type',
|
||||
'amount_used',
|
||||
'period_display',
|
||||
'created_at',
|
||||
]
|
||||
list_filter = [
|
||||
'limit_type',
|
||||
('period_start', DateRangeFilter),
|
||||
('period_end', DateRangeFilter),
|
||||
'account',
|
||||
]
|
||||
search_fields = ['account__name']
|
||||
readonly_fields = ['created_at', 'updated_at']
|
||||
date_hierarchy = 'period_start'
|
||||
|
||||
fieldsets = (
|
||||
('Usage Info', {
|
||||
'fields': ('account', 'limit_type', 'amount_used')
|
||||
}),
|
||||
('Billing Period', {
|
||||
'fields': ('period_start', 'period_end')
|
||||
}),
|
||||
('Metadata', {
|
||||
'fields': ('metadata',),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
('Timestamps', {
|
||||
'fields': ('created_at', 'updated_at'),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
)
|
||||
|
||||
def period_display(self, obj):
|
||||
"""Display billing period range"""
|
||||
return f"{obj.period_start} to {obj.period_end}"
|
||||
period_display.short_description = 'Billing Period'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user