93 lines
2.5 KiB
Python
93 lines
2.5 KiB
Python
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from apps.users.models import User
|
|
|
|
|
|
@admin.register(User)
|
|
class UserAdmin(BaseUserAdmin):
|
|
list_display = (
|
|
User.username.field.name,
|
|
User.email.field.name,
|
|
User.role.field.name,
|
|
User.first_name.field.name,
|
|
User.last_name.field.name,
|
|
User.is_active.field.name,
|
|
User.is_staff.field.name,
|
|
)
|
|
list_filter = (
|
|
User.role.field.name,
|
|
User.is_active.field.name,
|
|
User.is_staff.field.name,
|
|
User.is_superuser.field.name,
|
|
)
|
|
search_fields = (
|
|
User.username.field.name,
|
|
User.email.field.name,
|
|
User.first_name.field.name,
|
|
User.last_name.field.name,
|
|
)
|
|
ordering = (User.username.field.name,)
|
|
|
|
fieldsets = (
|
|
(None, {"fields": (User.username.field.name, "password")}),
|
|
(
|
|
_("Personal info"),
|
|
{
|
|
"fields": (
|
|
User.first_name.field.name,
|
|
User.last_name.field.name,
|
|
User.email.field.name,
|
|
)
|
|
},
|
|
),
|
|
(
|
|
_("Platform role"),
|
|
{
|
|
"fields": (User.role.field.name,),
|
|
"description": _(
|
|
"Platform role that defines user permissions: "
|
|
"admin, experimenter, approver, or viewer."
|
|
),
|
|
},
|
|
),
|
|
(
|
|
_("Permissions"),
|
|
{
|
|
"fields": (
|
|
User.is_active.field.name,
|
|
User.is_staff.field.name,
|
|
User.is_superuser.field.name,
|
|
User.groups.field.name,
|
|
User.user_permissions.field.name,
|
|
),
|
|
},
|
|
),
|
|
(
|
|
_("Important dates"),
|
|
{
|
|
"fields": (
|
|
User.last_login.field.name,
|
|
User.date_joined.field.name,
|
|
)
|
|
},
|
|
),
|
|
)
|
|
|
|
add_fieldsets = (
|
|
(
|
|
None,
|
|
{
|
|
"classes": ("wide",),
|
|
"fields": (
|
|
User.username.field.name,
|
|
User.email.field.name,
|
|
"password1",
|
|
"password2",
|
|
User.role.field.name,
|
|
),
|
|
},
|
|
),
|
|
)
|