项目文件夹

文件
2026-07-13 13:32:23 +08:00

67 行
2.0 KiB
Python

# Copyright (C) 2021-2022 Intel Corporation
# Copyright (C) CVAT.ai Corporation
#
# SPDX-License-Identifier: MIT
from django.contrib import admin
from django.contrib.auth.admin import GroupAdmin, UserAdmin
from django.contrib.auth.models import Group, User
from django.utils.translation import gettext_lazy as _
from cvat.apps.engine.models import Profile
class ProfileInline(admin.StackedInline):
model = Profile
fieldsets = ((None, {"fields": ("has_analytics_access",)}),)
class CustomUserAdmin(UserAdmin):
inlines = (ProfileInline,)
list_display = ("username", "email", "first_name", "last_name", "is_active", "is_staff")
fieldsets = (
(None, {"fields": ("username", "password")}),
(_("Personal info"), {"fields": ("first_name", "last_name", "email")}),
(
_("Permissions"),
{
"fields": (
"is_active",
"is_staff",
"is_superuser",
"groups",
)
},
),
(_("Important dates"), {"fields": ("last_login", "date_joined")}),
)
add_fieldsets = (
(
None,
{
"classes": ("wide",),
"fields": ("username", "email", "password1", "password2"),
},
),
)
actions = ["user_activate", "user_deactivate"]
@admin.action(permissions=["change"], description=_("Mark selected users as active"))
def user_activate(self, request, queryset):
queryset.update(is_active=True)
@admin.action(permissions=["change"], description=_("Mark selected users as not active"))
def user_deactivate(self, request, queryset):
queryset.update(is_active=False)
class CustomGroupAdmin(GroupAdmin):
fieldsets = ((None, {"fields": ("name",)}),)
admin.site.unregister(User)
admin.site.unregister(Group)
admin.site.register(User, CustomUserAdmin)
admin.site.register(Group, CustomGroupAdmin)