Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """Define admin model to manage User cass in django admin app"""
- # pylint: disable=invalid-name
- from django import forms
- from django.contrib import admin
- from django.contrib.auth.admin import UserAdmin as BaseUserAdmin, GroupAdmin
- from django.contrib.auth.models import Group
- from .models import User, Service
- class AuthenticationServerAdminSite(admin.sites.AdminSite):
- """Authentication Server admin site with customized site info"""
- site_header = 'Authentication Server administration'
- site_title = 'Authentication Server'
- index_title = 'Administration'
- class ServiceInline(admin.TabularInline): model = Service
- class UserAdmin(BaseUserAdmin):
- """User admin model for handling extended User fields in admin"""
- add_fieldsets = (
- ('Personal', {'fields': ('username', 'first_name', 'last_name', 'email',
- 'password1', 'password2')}),
- ('Billing', {'fields': ('role', 'agent', 'groups', 'status', 'balance',
- 'is_active')})
- )
- fieldsets = (
- ('Personal', {'fields': ('username', 'first_name', 'last_name', 'email',
- 'password')}),
- ('Billing', {'fields': ('role', 'agent', 'groups', 'status',
- 'is_active')}),
- ('Permissions', {'fields': ('is_superuser', 'is_staff')})
- )
- filter_horizontal = ()
- inlines = [ServiceInline, ]
- list_display = ('username', 'email', 'role', 'first_name', 'last_name',
- 'status')
- list_filter = ('is_active', 'is_staff', 'role')
- ordering = ('email',)
- readonly_fields = ('is_staff', )
- search_fields = ('username', 'first_name', 'last_name', 'email', 'balance')
- server_admin_site = AuthenticationServerAdminSite(name='admin')
- server_admin_site.register(User, UserAdmin)
- server_admin_site.register(Service)
- server_admin_site.register(Group, GroupAdmin)
- # Register a vanilla admin site in case the customization is broken
- django_admin_site = admin.sites.AdminSite(name='django-admin')
- django_admin_site.register(User, BaseUserAdmin)
- django_admin_site.register(Service)
- django_admin_site.register(Group, GroupAdmin)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement