Files
django-ram/ram/portal/admin.py
Daniele Viganò db79a02c85 Add REST API pagination and mke REST API optional (#43)
* Implement Rest API pagination

* REST API must be enabled in settings

* Report REST API status in the admin site settings page
2025-01-16 22:53:19 +01:00

78 lines
1.9 KiB
Python

from django.conf import settings
from django.contrib import admin
from solo.admin import SingletonModelAdmin
from ram.admin import publish, unpublish
from portal.models import SiteConfiguration, Flatpage
@admin.register(SiteConfiguration)
class SiteConfigurationAdmin(SingletonModelAdmin):
readonly_fields = ("site_name", "rest_api")
fieldsets = (
(
None,
{
"fields": (
"site_name",
"site_author",
"about",
"items_per_page",
"items_ordering",
"currency",
"footer",
"footer_extended",
"rest_api",
)
},
),
(
"Advanced",
{
"classes": ("collapse",),
"fields": (
"show_version",
"use_cdn",
"extra_head",
),
},
),
)
@admin.display(description="REST API enabled", boolean=True)
def rest_api(self, obj):
return settings.REST_ENABLED
@admin.register(Flatpage)
class FlatpageAdmin(admin.ModelAdmin):
readonly_fields = ("path", "creation_time", "updated_time")
list_display = ("name", "path", "published", "get_link")
list_filter = ("published",)
search_fields = ("name",)
fieldsets = (
(
None,
{
"fields": (
"name",
"path",
"content",
"published",
)
},
),
(
"Audit",
{
"classes": ("collapse",),
"fields": (
"creation_time",
"updated_time",
),
},
),
)
actions = [publish, unpublish]