Files
WYGIWYH/app/apps/users/admin.py
Herculino Trotta 3dde44b1cd changes
2024-10-09 00:31:21 -03:00

80 lines
2.0 KiB
Python

from django.contrib.admin import ModelAdmin
from django.contrib.auth.forms import (
UserChangeForm,
UserCreationForm,
AdminPasswordChangeForm,
)
from django.utils.translation import gettext_lazy as _
from django.contrib import admin
from django.contrib.auth.admin import GroupAdmin as BaseGroupAdmin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import Group
from apps.users.models import User, UserSettings
admin.site.unregister(Group)
class UserSettingsInline(admin.StackedInline):
model = UserSettings
can_delete = False
extra = 0
verbose_name_plural = _("User Settings")
verbose_name = _("User Setting")
@admin.register(User)
class UserAdmin(BaseUserAdmin, ModelAdmin):
ordering = ("email",)
exclude = ("username",)
list_display = ("email", "is_staff")
search_fields = ("first_name", "last_name", "email")
inlines = (UserSettingsInline,)
form = UserChangeForm
add_form = UserCreationForm
change_password_form = AdminPasswordChangeForm
fieldsets = (
(
None,
{
"fields": (
"email",
"password",
)
},
),
(_("Personal info"), {"fields": ("first_name", "last_name")}),
(
_("Permissions"),
{
"fields": (
"is_active",
"is_staff",
"is_superuser",
"groups",
"user_permissions",
),
},
),
(_("Important dates"), {"fields": ("last_login", "date_joined")}),
)
add_fieldsets = (
(
None,
{
"classes": ("wide",),
"fields": ("email", "password1", "password2"),
},
),
)
@admin.register(Group)
class GroupAdmin(BaseGroupAdmin, ModelAdmin):
pass
admin.site.register(UserSettings)