initial commit

This commit is contained in:
2025-08-05 10:26:39 +05:00
commit b7412bbef6
298 changed files with 10533 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
from .core import * # noqa
from .user import * # noqa

View File

@@ -0,0 +1,18 @@
"""
Admin panel register
"""
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.auth import models as db_models
from django_core.models import SmsConfirm
from ..admin import user
from .user import SmsConfirmAdmin
admin.site.unregister(db_models.Group)
admin.site.register(db_models.Group, user.GroupAdmin)
admin.site.register(db_models.Permission, user.PermissionAdmin)
admin.site.register(get_user_model(), user.CustomUserAdmin)
admin.site.register(SmsConfirm, SmsConfirmAdmin)

View File

@@ -0,0 +1,125 @@
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"
]