mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 16:11:08 -05:00
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from django.contrib import admin
|
|
from django.utils.html import format_html
|
|
from simple_history.admin import SimpleHistoryAdmin
|
|
from .models import Park, ParkArea
|
|
|
|
class ParkAdmin(SimpleHistoryAdmin):
|
|
list_display = ('name', 'formatted_location', 'status', 'owner', 'created_at', 'updated_at')
|
|
list_filter = ('status',)
|
|
search_fields = ('name', 'description', 'location__name', 'location__city', 'location__country')
|
|
readonly_fields = ('created_at', 'updated_at')
|
|
prepopulated_fields = {'slug': ('name',)}
|
|
|
|
def formatted_location(self, obj):
|
|
"""Display formatted location string"""
|
|
return obj.formatted_location
|
|
formatted_location.short_description = 'Location'
|
|
|
|
def get_history_list_display(self, request):
|
|
"""Customize the list display for history records"""
|
|
return ('name', 'formatted_location', 'status', 'history_date', 'history_user')
|
|
|
|
class ParkAreaAdmin(SimpleHistoryAdmin):
|
|
list_display = ('name', 'park', 'created_at', 'updated_at')
|
|
list_filter = ('park',)
|
|
search_fields = ('name', 'description', 'park__name')
|
|
readonly_fields = ('created_at', 'updated_at')
|
|
prepopulated_fields = {'slug': ('name',)}
|
|
|
|
def get_history_list_display(self, request):
|
|
"""Customize the list display for history records"""
|
|
return ('name', 'park', 'history_date', 'history_user')
|
|
|
|
# Register the models with their admin classes
|
|
admin.site.register(Park, ParkAdmin)
|
|
admin.site.register(ParkArea, ParkAreaAdmin)
|