Skip to content

admin

django_spire.history.activity.admin

ActivityAdmin

Bases: ModelAdmin

list_display = ('id', 'content_object_link', 'content_type', 'created_datetime', 'verb', 'user_link', 'recipient_link', 'information_snippet') class-attribute instance-attribute

list_filter = ('verb', 'created_datetime') class-attribute instance-attribute

ordering = ('-created_datetime',) class-attribute instance-attribute

search_fields = ('id', 'user__first_name', 'user__last_name', 'recipient__first_name', 'recipient__last_name', 'content_type__model', 'verb') class-attribute instance-attribute

Source code in django_spire/history/activity/admin.py
@admin.display(description='Content Object')
def content_object_link(self, activity: Activity) -> str:
    return admin_change_link(activity.content_object, empty_text='No Related Object')

get_queryset

Source code in django_spire/history/activity/admin.py
def get_queryset(self, request: HttpRequest) -> QuerySet[Activity]:
    queryset = super().get_queryset(request)

    return queryset.prefetch_related('content_object')

information_snippet

Source code in django_spire/history/activity/admin.py
@admin.display(description='Information Snippet')
def information_snippet(self, activity: Activity) -> str:
    if not activity.information:
        return 'No Information'

    if len(activity.information) > 20:
        return activity.information[:20] + '...'

    return activity.information
Source code in django_spire/history/activity/admin.py
@admin.display(description='Recipient')
def recipient_link(self, activity: Activity) -> str:
    return admin_change_link(activity.recipient, empty_text='No Recipient')
Source code in django_spire/history/activity/admin.py
@admin.display(description='User')
def user_link(self, activity: Activity) -> str:
    return admin_change_link(activity.user)