You've already forked hotpocket
52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import annotations
|
|
|
|
from django.contrib import admin
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from hotpocket_backend.apps.saves.models import Association
|
|
|
|
|
|
class AssociationAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
'pk', 'account_uuid', 'target', 'created_at', 'render_is_active',
|
|
)
|
|
search_fields = ('pk', 'account_uuid')
|
|
fields = (
|
|
'pk',
|
|
'account_uuid',
|
|
'archived_at',
|
|
'starred_at',
|
|
'target_meta',
|
|
'target_title',
|
|
'target_description',
|
|
'created_at',
|
|
'deleted_at',
|
|
)
|
|
readonly_fields = (
|
|
'pk',
|
|
'account_uuid',
|
|
'target_meta',
|
|
'target',
|
|
'archived_at',
|
|
'starred_at',
|
|
'created_at',
|
|
'deleted_at',
|
|
)
|
|
ordering = ['-created_at']
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
return request.user.is_superuser
|
|
|
|
@admin.display(
|
|
description=_('Is Active?'), boolean=True, ordering='-deleted_at',
|
|
)
|
|
def render_is_active(self, obj: Association | None = None) -> bool | None:
|
|
if obj is None:
|
|
return None
|
|
|
|
return obj.is_active
|
|
|
|
|
|
admin.site.register(Association, AssociationAdmin)
|