from django.contrib.auth import admin from django.utils.translation import gettext_lazy as _ from unfold.admin import ModelAdmin # type: ignore from unfold.forms import AdminPasswordChangeForm # type: ignore # UserCreationForm, from unfold.forms import UserChangeForm # type: ignore class CustomUserAdmin(admin.UserAdmin, ModelAdmin): change_password_form = AdminPasswordChangeForm # add_form = UserCreationForm form = UserChangeForm list_display = ( "phone", "full_name", "role", "validated_at", ) search_fields = ( "first_name", "last_name", "phone", "validated_at", "inn_code", ) list_display_links = ( "phone", ) autocomplete_fields = ( "groups", "user_permissions" ) fieldsets = ( ( None, { "fields": ( "phone", ) } ), ( None, { "fields": ( "username", "password" ) } ), ( _("Personal info"), { "fields": ( "first_name", "last_name", "email" ) } ), ( _("Permissions"), { "fields": ( "is_active", "is_staff", "is_superuser", "groups", "user_permissions", "role", ), }, ), ( _("Important dates"), { "fields": ( "last_login", "date_joined" ) } ), ) class PermissionAdmin(ModelAdmin): list_display = ( "name", ) search_fields = ( "name", ) list_display_links = ( "name", ) class GroupAdmin(ModelAdmin): list_display = [ "name" ] search_fields = [ "name" ] autocomplete_fields = ( "permissions", ) class SmsConfirmAdmin(ModelAdmin): list_display = [ "phone", "code", "resend_count", "try_count" ] search_fields = [ "phone", "code" ]