Files
2025-08-05 10:26:39 +05:00

126 lines
2.5 KiB
Python

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"
]