98 lines
No EOL
2.7 KiB
Python
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 |