from django.contrib import admin from django.contrib.auth.models import User from django.contrib.auth.admin import UserAdmin as AuthUserAdmin from django.core.exceptions import PermissionDenied from adhesions.admin import ProfileInline, AdherentInline class UserAdmin(AuthUserAdmin): inlines = (ProfileInline, AdherentInline,) def get_fieldsets(self, request, obj=None): if request.user.is_superuser: return self.fieldsets else: return ( self.fieldsets[0], self.fieldsets[1], ) def user_change_password(self, request, id): if not request.user.is_superuser: raise PermissionDenied return super().user_change_password(request, id) admin.site.unregister(User) admin.site.register(User, UserAdmin)