snippetadmin init, logentries

This commit is contained in:
Pratyush Desai 2022-01-08 11:49:19 +05:30
parent c1371cdd94
commit 2dae592258
Signed by: pratyush
GPG Key ID: DBA5BB7505946FAD
3 changed files with 81 additions and 5 deletions

7
.gitignore vendored
View File

@ -1,5 +1,4 @@
venv
.vscode
__pycache__
venv/
.vscode/
__pycache__/
db.sqlite3
website/db.sqlite3

Binary file not shown.

View File

@ -1,3 +1,80 @@
from django.contrib import admin
from django.contrib.admin.models import LogEntry, DELETION
# Register your models here.
from django.utils.html import escape
from django.utils.safestring import mark_safe
from django.urls import reverse
from snippets.models import *
#LogEntry
@admin.register(LogEntry)
class LogEntryAdmin(admin.ModelAdmin):
# to have a date-based drilldown navigation in the admin page
date_hierarchy = "action_time"
# to filter the resultes by users, content types and action flags
list_filter = ["user", "content_type", "action_flag"]
# when searching the user will be able to search in both object_repr and change_message
search_fields = ["object_repr", "change_message"]
list_display = [
"action_time",
"user",
"content_type",
"action_flag",
"object_link",
]
def has_add_permission(self, request):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
def has_view_permission(self, request, obj=None):
return request.user.is_staff
def object_link(self, obj):
if obj.action_flag == DELETION:
link = escape(obj.object_repr)
else:
ct = obj.content_type
link = '<a href="%s">%s</a>' % (
reverse(
"admin:%s_%s_change" % (ct.app_label, ct.model),
args=[obj.object_id],
),
escape(obj.object_repr),
)
return mark_safe(link)
object_link.admin_order_field = "object_repr"
object_link.short_description = "object"
@admin.register(Snippet)
class SnippetAdmin(admin.ModelAdmin):
date_hierarchy = "created"
ordering= ['-created']
# add hyperlinked highlighted view and
# possibly code preview js magic
list_filter = ('owner', 'language', 'style')
list_display = ['id',
'title',
'owner',
'created',
'language']
search_fields = ['owner', 'title', 'language']
# @admin.register)
# class SnippetAdmin(admin.ModelAdmin):
# pass