From fb94b55dc2193b4acc7cbab081ca25e86c2750e5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rn=20Menne?= Date: Tue, 14 Jan 2025 13:18:55 +0100 Subject: [PATCH] Modifications on the admin-view to provide more insights --- georeport/admin.py | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/georeport/admin.py b/georeport/admin.py index 47f335b..76bec79 100644 --- a/georeport/admin.py +++ b/georeport/admin.py @@ -2,11 +2,48 @@ # GNU General Public License v3.0 (see LICSENE or https://www.gnu.org/license/gpl-3.0.md) -from django.contrib import admin +from django.contrib import admin, messages +from django.utils.translation import ngettext # Register your models here. from .models import Category, Report -admin.site.register(Report) -admin.site.register(Category) + +@admin.register(Report) +class ReportAdmin(admin.ModelAdmin): + exclude = None + readonly_fields = ["creation_time", "last_change"] + actions = ["make_public"] + list_display = ["title", "category__name", "state", "published"] + + list_filter = ["state"] + + @admin.action(description="Publish selected reports.") + def make_public(self, request, queryset): + updated = queryset.update(published=True) + self.message_user( + request, + ngettext( + "%d report was published", + "%d reports were published", + updated, + ) + % updated, + messages.SUCCESS, + ) + + +class CategoryInline(admin.TabularInline): + model = Category + extra = 0 + can_delete = False + + def has_change_permission(self, request, obj=None): + return False + + +@admin.register(Category) +class CategoryAdmin(admin.ModelAdmin): + exlude = None + inlines = [CategoryInline] -- 2.39.5