You've already forked hotpocket
43 lines
1.1 KiB
Python
43 lines
1.1 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.accounts.models import AccessToken
|
|
|
|
|
|
class AccessTokenAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
'pk', 'account_uuid', 'origin', 'created_at', 'render_is_active',
|
|
)
|
|
search_fields = ('pk', 'account_uuid', 'key', 'origin')
|
|
readonly_fields = (
|
|
'pk',
|
|
'account_uuid',
|
|
'key',
|
|
'origin',
|
|
'meta',
|
|
'created_at',
|
|
'deleted_at',
|
|
)
|
|
ordering = ['-created_at']
|
|
|
|
def has_change_permission(self, request, obj=None):
|
|
return False
|
|
|
|
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: AccessToken | None = None) -> bool | None:
|
|
if obj is None:
|
|
return None
|
|
|
|
return obj.is_active
|
|
|
|
|
|
admin.site.register(AccessToken, AccessTokenAdmin)
|