You've already forked hotpocket
42 lines
1.0 KiB
Python
42 lines
1.0 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 AuthKey
|
|
|
|
|
|
class AuthKeyAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
'pk', 'account_uuid', 'key', 'created_at', 'consumed_at', 'render_is_active',
|
|
)
|
|
search_fields = ('pk', 'account_uuid', 'key')
|
|
readonly_fields = (
|
|
'pk',
|
|
'account_uuid',
|
|
'key',
|
|
'consumed_at',
|
|
'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: AuthKey | None = None) -> bool | None:
|
|
if obj is None:
|
|
return None
|
|
|
|
return obj.is_active
|
|
|
|
|
|
admin.site.register(AuthKey, AuthKeyAdmin)
|