Files
crmApi/apps/jwt_auth/admin.py
T
2026-10-08 16:37:45 +03:30

40 lines
1.5 KiB
Python

from django.contrib import admin
from apps.jwt_auth.models import JwtToken, CUserRoleLoginOpt
from utils.admin_base import CRMModelAdmin
@admin.register(JwtToken)
class JwtTokenAdmin(CRMModelAdmin):
list_display = ('id', 'cuser', 'cuser_role', 'expire', 'is_blocked')
list_filter = ('is_blocked', 'cuser_role__sys_ws')
search_fields = ('cuser__username', 'cuser__mobile')
exclude = ('refresh', 'access')
sensitive_fields = ('refresh', 'access')
readonly_fields = ('cuser', 'cuser_role', 'expire', 'is_blocked')
actions = ('revoke_sessions', 'export_selected')
@admin.action(description='ابطال نشست‌های انتخاب‌شده', permissions=['change'])
def revoke_sessions(self, request, queryset):
count = queryset.update(is_blocked=True)
for obj in queryset:
self.log_change(request, obj, 'نشست از پنل مدیریت ابطال شد.')
self.message_user(request, f'{count} نشست ابطال شد.')
def has_add_permission(self, request):
return False
@admin.register(CUserRoleLoginOpt)
class CUserRoleLoginOptAdmin(CRMModelAdmin):
list_display = ('id', 'cuser', 'cuser_role', 'expire')
search_fields = ('cuser__username', 'cuser__mobile')
exclude = ('uuid',)
sensitive_fields = ('uuid',)
readonly_fields = ('cuser', 'cuser_role', 'expire')
def has_add_permission(self, request):
return False
def has_change_permission(self, request, obj=None):
return False