|
@@ -1,14 +1,26 @@
|
|
|
from django import forms
|
|
from django import forms
|
|
|
from django.contrib import admin
|
|
from django.contrib import admin
|
|
|
from django.contrib.auth.admin import UserAdmin as UserAdmin_
|
|
from django.contrib.auth.admin import UserAdmin as UserAdmin_
|
|
|
-from django.contrib.auth.models import User
|
|
|
|
|
|
|
+from django.contrib.auth.models import Group, User
|
|
|
|
|
|
|
|
from .models import ObjectPermission, Token, UserConfig
|
|
from .models import ObjectPermission, Token, UserConfig
|
|
|
|
|
|
|
|
-# Unregister the built-in UserAdmin so that we can use our custom admin view below
|
|
|
|
|
|
|
+# Unregister the built-in GroupAdmin and UserAdmin classes so that we can use our custom admin classes below
|
|
|
|
|
+admin.site.unregister(Group)
|
|
|
admin.site.unregister(User)
|
|
admin.site.unregister(User)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+@admin.register(Group)
|
|
|
|
|
+class GroupAdmin(admin.ModelAdmin):
|
|
|
|
|
+ fields = ('name',)
|
|
|
|
|
+ list_display = ('name', 'user_count')
|
|
|
|
|
+ ordering = ('name',)
|
|
|
|
|
+ search_fields = ('name',)
|
|
|
|
|
+
|
|
|
|
|
+ def user_count(self, obj):
|
|
|
|
|
+ return obj.user_set.count()
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
class UserConfigInline(admin.TabularInline):
|
|
class UserConfigInline(admin.TabularInline):
|
|
|
model = UserConfig
|
|
model = UserConfig
|
|
|
readonly_fields = ('data',)
|
|
readonly_fields = ('data',)
|
|
@@ -21,6 +33,14 @@ class UserAdmin(UserAdmin_):
|
|
|
list_display = [
|
|
list_display = [
|
|
|
'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
|
|
'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
|
|
|
]
|
|
]
|
|
|
|
|
+ fieldsets = (
|
|
|
|
|
+ (None, {'fields': ('username', 'password')}),
|
|
|
|
|
+ ('Personal info', {'fields': ('first_name', 'last_name', 'email')}),
|
|
|
|
|
+ ('Permissions', {
|
|
|
|
|
+ 'fields': ('is_active', 'is_staff', 'is_superuser'),
|
|
|
|
|
+ }),
|
|
|
|
|
+ ('Important dates', {'fields': ('last_login', 'date_joined')}),
|
|
|
|
|
+ )
|
|
|
inlines = (UserConfigInline,)
|
|
inlines = (UserConfigInline,)
|
|
|
|
|
|
|
|
|
|
|