diff options
author | 2019-10-11 23:31:15 +0200 | |
---|---|---|
committer | 2019-10-11 23:31:15 +0200 | |
commit | 70fbbf674e78cdfed51aed97198e2b329fafb168 (patch) | |
tree | 0178dd00fa8f052b6610f734bbfecc61e5012e35 /pydis_site/apps/api/admin.py | |
parent | Merge branch 'tizzysaurus_landing_page_text' of github.com:python-discord/sit... (diff) | |
parent | Merge pull request #281 from python-discord/simple-admin-log-entry-view (diff) |
Merge branch 'master' into tizzysaurus_landing_page_text
Diffstat (limited to 'pydis_site/apps/api/admin.py')
-rw-r--r-- | pydis_site/apps/api/admin.py | 55 |
1 files changed, 50 insertions, 5 deletions
diff --git a/pydis_site/apps/api/admin.py b/pydis_site/apps/api/admin.py index c3784317..059f52eb 100644 --- a/pydis_site/apps/api/admin.py +++ b/pydis_site/apps/api/admin.py @@ -1,18 +1,63 @@ +from typing import Optional + from django.contrib import admin +from django.http import HttpRequest from .models import ( - BotSetting, DeletedMessage, - DocumentationLink, Infraction, - MessageDeletionContext, Nomination, - OffTopicChannelName, Role, - Tag, User + BotSetting, + DeletedMessage, + DocumentationLink, + Infraction, + LogEntry, + MessageDeletionContext, + Nomination, + OffTopicChannelName, + Role, + Tag, + User ) +class LogEntryAdmin(admin.ModelAdmin): + """Allows viewing logs in the Django Admin without allowing edits.""" + + actions = None + list_display = ('timestamp', 'application', 'level', 'message') + fieldsets = ( + ('Overview', {'fields': ('timestamp', 'application', 'logger_name')}), + ('Metadata', {'fields': ('level', 'module', 'line')}), + ('Contents', {'fields': ('message',)}) + ) + list_filter = ('application', 'level', 'timestamp') + search_fields = ('message',) + readonly_fields = ( + 'application', + 'logger_name', + 'timestamp', + 'level', + 'module', + 'line', + 'message' + ) + + def has_add_permission(self, request: HttpRequest) -> bool: + """Deny manual LogEntry creation.""" + return False + + def has_delete_permission( + self, + request: HttpRequest, + obj: Optional[LogEntry] = None + ) -> bool: + """Deny LogEntry deletion.""" + return False + + admin.site.register(BotSetting) admin.site.register(DeletedMessage) admin.site.register(DocumentationLink) admin.site.register(Infraction) +admin.site.register(LogEntry, LogEntryAdmin) admin.site.register(MessageDeletionContext) admin.site.register(Nomination) admin.site.register(OffTopicChannelName) |