2025-01-27 14:58:23 +01:00
|
|
|
from django.contrib import admin
|
2025-01-27 15:14:58 +01:00
|
|
|
from django.utils.html import format_html
|
2025-01-27 14:58:23 +01:00
|
|
|
from .models import CloudProvider, Country, ServiceLevel, Service
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(CloudProvider)
|
|
|
|
class CloudProviderAdmin(admin.ModelAdmin):
|
2025-01-27 15:14:58 +01:00
|
|
|
list_display = ("name", "logo_preview")
|
2025-01-27 14:58:23 +01:00
|
|
|
search_fields = ("name",)
|
|
|
|
|
2025-01-27 15:14:58 +01:00
|
|
|
def logo_preview(self, obj):
|
|
|
|
if obj.logo:
|
|
|
|
return format_html(
|
|
|
|
'<img src="{}" style="max-height: 50px;"/>', obj.logo.url
|
|
|
|
)
|
|
|
|
return "No logo"
|
|
|
|
|
2025-01-27 14:58:23 +01:00
|
|
|
|
|
|
|
@admin.register(Country)
|
|
|
|
class CountryAdmin(admin.ModelAdmin):
|
|
|
|
list_display = ("name", "code")
|
|
|
|
search_fields = ("name", "code")
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(ServiceLevel)
|
|
|
|
class ServiceLevelAdmin(admin.ModelAdmin):
|
|
|
|
list_display = ("name", "response_time")
|
|
|
|
search_fields = ("name",)
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(Service)
|
|
|
|
class ServiceAdmin(admin.ModelAdmin):
|
2025-01-27 15:14:58 +01:00
|
|
|
list_display = ("name", "cloud_provider", "service_level", "price", "logo_preview")
|
2025-01-27 14:58:23 +01:00
|
|
|
list_filter = ("cloud_provider", "service_level", "countries")
|
|
|
|
search_fields = ("name", "description")
|
|
|
|
filter_horizontal = ("countries",)
|
2025-01-27 15:14:58 +01:00
|
|
|
|
|
|
|
def logo_preview(self, obj):
|
|
|
|
if obj.logo:
|
|
|
|
return format_html(
|
|
|
|
'<img src="{}" style="max-height: 50px;"/>', obj.logo.url
|
|
|
|
)
|
|
|
|
return "No logo"
|