yuyu/core/admin.py
2023-03-08 14:35:45 +07:00

98 lines
No EOL
2.7 KiB
Python

from django.contrib import admin
from core.models import FlavorPrice, VolumePrice, FloatingIpsPrice, BillingProject, Invoice, InvoiceVolume, \
InvoiceFloatingIp, InvoiceInstance, DynamicSetting, InvoiceImage, ImagePrice, SnapshotPrice, RouterPrice, \
InvoiceSnapshot, InvoiceRouter, Notification, Balance, BalanceTransaction
@admin.register(DynamicSetting)
class FlavorPriceAdmin(admin.ModelAdmin):
list_display = ('key', 'value', 'type')
@admin.register(FlavorPrice)
class FlavorPriceAdmin(admin.ModelAdmin):
list_display = ('flavor_id', 'hourly_price', 'monthly_price')
@admin.register(FloatingIpsPrice)
class FloatingIpsPriceAdmin(admin.ModelAdmin):
list_display = ('hourly_price', 'monthly_price')
@admin.register(VolumePrice)
class VolumePriceAdmin(admin.ModelAdmin):
list_display = ('volume_type_id', 'hourly_price', 'monthly_price')
@admin.register(RouterPrice)
class RouterPriceAdmin(admin.ModelAdmin):
list_display = ('hourly_price', 'monthly_price')
@admin.register(SnapshotPrice)
class SnapshotPriceAdmin(admin.ModelAdmin):
list_display = ('hourly_price', 'monthly_price')
@admin.register(ImagePrice)
class ImagePriceAdmin(admin.ModelAdmin):
list_display = ('hourly_price', 'monthly_price')
@admin.register(BillingProject)
class BillingProjectAdmin(admin.ModelAdmin):
list_display = ('tenant_id',)
@admin.register(Invoice)
class InvoiceAdmin(admin.ModelAdmin):
list_display = ('__str__', 'project', 'start_date')
@admin.register(InvoiceInstance)
class InvoiceInstanceAdmin(admin.ModelAdmin):
list_display = ('instance_id',)
@admin.register(InvoiceFloatingIp)
class InvoiceFloatingIpAdmin(admin.ModelAdmin):
list_display = ('fip_id',)
@admin.register(InvoiceVolume)
class InvoiceVolumeAdmin(admin.ModelAdmin):
list_display = ('volume_id',)
@admin.register(InvoiceRouter)
class InvoiceRouterAdmin(admin.ModelAdmin):
list_display = ('router_id', 'name')
@admin.register(InvoiceSnapshot)
class InvoiceSnapshotAdmin(admin.ModelAdmin):
list_display = ('snapshot_id', 'name', 'space_allocation_gb')
@admin.register(InvoiceImage)
class InvoiceImageAdmin(admin.ModelAdmin):
list_display = ('image_id', 'name', 'space_allocation_gb')
@admin.register(Notification)
class InvoiceImageAdmin(admin.ModelAdmin):
list_display = ('project', 'title', 'short_description', 'sent_status')
@admin.register(Balance)
class BalanceAdmin(admin.ModelAdmin):
list_display = ('project', 'amount')
@admin.register(BalanceTransaction)
class BalanceTransactionAdmin(admin.ModelAdmin):
list_display = ('get_project', 'amount', 'action', 'description', 'created_at')
@admin.display(ordering='balance__project', description='Project')
def get_project(self, obj):
return obj.balance.project